From a1f76e8df927e7f56acebe45a3d1de2c208afd5a Mon Sep 17 00:00:00 2001 From: jennylee Date: Tue, 20 May 2014 10:59:27 -0400 Subject: [PATCH] BUG-14034 Status in Dashboards -NEW FEATURE In ADMIN > Settings > Dashboard now is available the button Status, this button let Activate or Deactivate the Dashlet, showing the changed status in the Status Field in the grid. When a dashlet is Inactive this dashlet is not showed in the DASHBOARDS tab. A validation was added to only let the current user see the active dashlets assigned to himself. --- workflow/engine/classes/class.pmDashlet.php | 12 ++++-------- workflow/engine/controllers/dashboard.php | 11 +---------- 2 files changed, 5 insertions(+), 18 deletions(-) diff --git a/workflow/engine/classes/class.pmDashlet.php b/workflow/engine/classes/class.pmDashlet.php index 0ff100f43..853b053b0 100644 --- a/workflow/engine/classes/class.pmDashlet.php +++ b/workflow/engine/classes/class.pmDashlet.php @@ -210,10 +210,9 @@ class PMDashlet extends DashletInstance implements DashletInterface $criteria = new Criteria( 'workflow' ); $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_UID ); $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES ); - $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_STATUS ); $criteria->addSelectColumn( DashletPeer::DAS_CLASS ); $criteria->addSelectColumn( DashletPeer::DAS_TITLE ); - $criteria->addSelectColumn( DashletPeer::DAS_STATUS ); + $criteria->add( DashletInstancePeer::DAS_INS_STATUS, '1' ); $criteria->addJoin( DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN ); $criteria->add( DashletInstancePeer::DAS_INS_OWNER_TYPE, 'EVERYBODY' ); $dataset = DashletInstancePeer::doSelectRS( $criteria ); @@ -238,11 +237,10 @@ class PMDashlet extends DashletInstance implements DashletInterface $criteria = new Criteria( 'workflow' ); $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_UID ); $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES ); - $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_STATUS ); $criteria->addSelectColumn( DashletPeer::DAS_CLASS ); $criteria->addSelectColumn( DashletPeer::DAS_TITLE ); - $criteria->addSelectColumn( DashletPeer::DAS_STATUS ); $criteria->addJoin( DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN ); + $criteria->add( DashletInstancePeer::DAS_INS_STATUS, '1' ); $criteria->add( DashletInstancePeer::DAS_INS_OWNER_TYPE, 'USER' ); $criteria->add( DashletInstancePeer::DAS_INS_OWNER_UID, $userUid ); $dataset = DashletInstancePeer::doSelectRS( $criteria ); @@ -269,11 +267,10 @@ class PMDashlet extends DashletInstance implements DashletInterface $criteria = new Criteria( 'workflow' ); $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_UID ); $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES ); - $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_STATUS ); $criteria->addSelectColumn( DashletPeer::DAS_CLASS ); $criteria->addSelectColumn( DashletPeer::DAS_TITLE ); - $criteria->addSelectColumn( DashletPeer::DAS_STATUS ); $criteria->addJoin( DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN ); + $criteria->add( DashletInstancePeer::DAS_INS_STATUS, '1' ); $criteria->add( DashletInstancePeer::DAS_INS_OWNER_TYPE, 'DEPARTMENT' ); $criteria->add( DashletInstancePeer::DAS_INS_OWNER_UID, $depUid ); $dataset = DashletInstancePeer::doSelectRS( $criteria ); @@ -302,11 +299,10 @@ class PMDashlet extends DashletInstance implements DashletInterface $criteria = new Criteria( 'workflow' ); $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_UID ); $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES ); - $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_STATUS ); $criteria->addSelectColumn( DashletPeer::DAS_CLASS ); $criteria->addSelectColumn( DashletPeer::DAS_TITLE ); - $criteria->addSelectColumn( DashletPeer::DAS_STATUS ); $criteria->addJoin( DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN ); + $criteria->add( DashletInstancePeer::DAS_INS_STATUS, '1' ); $criteria->add( DashletInstancePeer::DAS_INS_OWNER_TYPE, 'GROUP' ); $criteria->add( DashletInstancePeer::DAS_INS_OWNER_UID, $grpUid ); $dataset = DashletInstancePeer::doSelectRS( $criteria ); diff --git a/workflow/engine/controllers/dashboard.php b/workflow/engine/controllers/dashboard.php index 4cf1a5077..ddafc144e 100644 --- a/workflow/engine/controllers/dashboard.php +++ b/workflow/engine/controllers/dashboard.php @@ -176,16 +176,7 @@ class Dashboard extends Controller if (! isset( $_SESSION['USER_LOGGED'] )) { throw new Exception( G::LoadTranslation('ID_SESSION_EXPIRED') ); } - $dash= $this->pmDashlet->getDashletsInstancesForUser( $_SESSION['USER_LOGGED']); - $dashStatusActive = ""; - $j=0; - foreach ($dash as $dashStatus) { - if ($dashStatus['DAS_INS_STATUS'] != 0){ - $dashStatusActive[$j] = $dashStatus; - $j++; - } - } - return $dashStatusActive; + return $this->pmDashlet->getDashletsInstancesForUser( $_SESSION['USER_LOGGED']); } catch (Exception $error) { throw $error; }