diff --git a/workflow/engine/classes/model/DashboardDasInd.php b/workflow/engine/classes/model/DashboardDasInd.php
index d6796bfa0..002555fd8 100644
--- a/workflow/engine/classes/model/DashboardDasInd.php
+++ b/workflow/engine/classes/model/DashboardDasInd.php
@@ -108,10 +108,40 @@ class DashboardDasInd extends BaseDashboardDasInd
}
}
- public function getOwnerByDashboard ($dasUid)
+ public function loadOwnerByUserId ($usrId)
{
-
- }
+ try {
+ $criteria = new Criteria('workflow');
+ $criteria->add(DashboardDasIndPeer::OWNER_UID, $usrId);
+ $criteria->add(DashboardDasIndPeer::OWNER_TYPE, "USER");
+
+ $dataset = DashboardDasIndPeer::doSelectRS($criteria);
+ $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
+ $fields = array();
+
+ while ($dataset->next()) {
+ $auxField = $dataset->getRow();
+ $fields[] = $auxField;
+ }
+
+ $criteria = new Criteria('workflow');
+ $criteria->add(DashboardDasIndPeer::OWNER_TYPE, "GROUP");
+ $criteria->add(GroupUserPeer::USR_UID, $usrId);
+ $criteria->addJoin(GroupUserPeer::GRP_UID, DashboardDasIndPeer::OWNER_UID);
+
+ $dataset = DashboardDasIndPeer::doSelectRS($criteria);
+ $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
+
+ while ($dataset->next()) {
+ $auxField = $dataset->getRow();
+ $fields[] = $auxField;
+ }
+
+ return $fields;
+ } catch (Exception $error) {
+ throw $error;
+ }
+ }
}
diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Dashboard.php b/workflow/engine/src/ProcessMaker/BusinessModel/Dashboard.php
index 318f32c5e..741af63e9 100644
--- a/workflow/engine/src/ProcessMaker/BusinessModel/Dashboard.php
+++ b/workflow/engine/src/ProcessMaker/BusinessModel/Dashboard.php
@@ -23,7 +23,7 @@ class Dashboard {
require_once (PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "DashboardDasInd.php");
$oDashboardDasInd = new \DashboardDasInd();
- $response = $oDashboardDasInd->loadByOwner($usr_uid);
+ $response = $oDashboardDasInd->loadOwnerByUserId($usr_uid);
return $response;
}
@@ -40,27 +40,32 @@ class Dashboard {
{
$resp = array();
$dashboards = $this->getDashboardsUidByUser($usr_uid);
- $existFavorite = false;
- foreach($dashboards as $i=>$x) {
- $resp[$i] = $this->getDashboard($x['DAS_UID']);
- $Dashboard = new \ProcessMaker\BusinessModel\Dashboard();
- $dashConfig = $Dashboard->getConfig($usr_uid);
- $resp[$i]['DAS_FAVORITE'] = 0;
- foreach ($dashConfig as $dashId=>$dashData) {
- if($dashId == $x['DAS_UID'] ) {
- $resp[$i]['DAS_FAVORITE'] = $dashData['dashFavorite'];
- if ($dashData['dashFavorite']==1) {
- $existFavorite = true;
- }
+ $existFavorite = false;
+ foreach($dashboards as $i=>$x) {
+ //$resp[$i] = $this->getDashboard($x['DAS_UID']);
+ $dashboardUser = $this->getDashboard($x['DAS_UID']);
+ if ($dashboardUser['DAS_STATUS'] == 0) {
+ continue;
+ }
+ $resp[$i] = $dashboardUser;
+ $Dashboard = new \ProcessMaker\BusinessModel\Dashboard();
+ $dashConfig = $Dashboard->getConfig($usr_uid);
+ $resp[$i]['DAS_FAVORITE'] = 0;
+ foreach ($dashConfig as $dashId=>$dashData) {
+ if($dashId == $x['DAS_UID'] ) {
+ $resp[$i]['DAS_FAVORITE'] = $dashData['dashFavorite'];
+ if ($dashData['dashFavorite']==1) {
+ $existFavorite = true;
}
}
- }
-
- //if no favorite is set, the default vavorite is the first one
- if ($existFavorite == false && $dashboards != null && sizeof($dashboards)>0) {
- $resp[0]['DAS_FAVORITE'] = 1;
+ }
}
- return $resp;
+
+ //if no favorite is set, the default favorite is the first one
+ if ($existFavorite == false && $resp != null && sizeof($resp)>0) {
+ $resp[0]['DAS_FAVORITE'] = 1;
+ }
+ return $resp;
}
/**
diff --git a/workflow/engine/templates/strategicDashboard/dashboardList.js b/workflow/engine/templates/strategicDashboard/dashboardList.js
index 0489446ce..8f6d51292 100644
--- a/workflow/engine/templates/strategicDashboard/dashboardList.js
+++ b/workflow/engine/templates/strategicDashboard/dashboardList.js
@@ -76,6 +76,8 @@ Ext.onReady(function() {
statusButton = new Ext.Action({
text: _('ID_STATUS'),
+ icon : '',
+ id : 'activator',
iconCls: 'silk-add',
handler: statusDashboard,
disabled: true
@@ -105,19 +107,19 @@ Ext.onReady(function() {
}
}
+ var activator = Ext.getCmp('activator');
+
if( record.data.DAS_STATUS == 1 ){
- statusButton.setIconClass('icon-activate');
- statusButton.setText( _('ID_DEACTIVATE') );
+ activator.setIcon('/images/deactivate.png');
+ activator.setText( _('ID_DEACTIVATE') );
editButton.enable();
deleteButton.enable();
- //statusButton.enable();
} else {
- statusButton.setIconClass('icon-deactivate');
- statusButton.setText( _('ID_ACTIVATE') );
+ activator.setIcon('/images/activate.png');
+ activator.setText( _('ID_ACTIVATE') );
editButton.disable();
deleteButton.disable();
- //statusButton.disable();
- }
+ }
},
rowdeselect: function(sm, index, record){
editButton.disable();
@@ -237,7 +239,7 @@ Ext.onReady(function() {
viewConfig: {
forceFit:true
},
- title : _('ID_DASHBOARD'),
+ title : _('ID_STRATEGIC_DASHBOARD'),
store: store,
cm: cmodel,
sm: smodel,
diff --git a/workflow/engine/templates/strategicDashboard/formDashboard.js b/workflow/engine/templates/strategicDashboard/formDashboard.js
index 8893a9f56..4133255cb 100644
--- a/workflow/engine/templates/strategicDashboard/formDashboard.js
+++ b/workflow/engine/templates/strategicDashboard/formDashboard.js
@@ -41,7 +41,6 @@ var frmDashboard;
var addTabButton;
var tabPanel;
var dashboardIndicatorFields;
-var dashboardIndicatorPanel;
var store;
var indexTab = 0;
@@ -49,7 +48,7 @@ var comboPageSize = 10;
var resultTpl;
var storeIndicatorType;
var storeGraphic;
-var storeFrecuency;
+var storeFrequency;
var storeProject;
var storeGroup;
var storeUsers;
@@ -79,7 +78,7 @@ Ext.onReady( function() {
items : [
{
id : 'DAS_TITLE',
- fieldLabel : _('ID_DASHBOARD_TITLE')+ ' *',
+ fieldLabel : ' * ' + _('ID_DASHBOARD_TITLE'),
xtype : 'textfield',
anchor : '85%',
maxLength : 250,
@@ -297,7 +296,7 @@ Ext.onReady( function() {
}
});
- storeFrecuency = new Ext.data.GroupingStore( {
+ storeFrequency = new Ext.data.GroupingStore( {
proxy : new Ext.data.HttpProxy({
api: {
read : urlProxy + 'catalog/periodicity'
@@ -754,7 +753,7 @@ var addTab = function (flag) {
hidden : true
},
{
- fieldLabel : _('ID_INDICATOR_TITLE')+ ' *',
+ fieldLabel : ' * ' + _('ID_INDICATOR_TITLE'),
id : 'IND_TITLE_'+ indexTab,
xtype : 'textfield',
anchor : '85%',
@@ -768,7 +767,7 @@ var addTab = function (flag) {
anchor : '85%',
editable : false,
id : 'IND_TYPE_'+ indexTab,
- fieldLabel : _('ID_INDICATOR_TYPE')+ ' *',
+ fieldLabel : ' * ' + _('ID_INDICATOR_TYPE'),
displayField : 'CAT_LABEL_ID',
valueField : 'CAT_UID',
forceSelection : false,
@@ -880,7 +879,7 @@ var addTab = function (flag) {
new Ext.form.ComboBox({
anchor : '85%',
editable : false,
- fieldLabel : _('ID_PROCESS')+ ' *',
+ fieldLabel : ' * ' + _('ID_PROCESS'),
id : 'IND_PROCESS_'+ indexTab,
displayField : 'prj_name',
valueField : 'prj_uid',
@@ -923,7 +922,7 @@ var addTab = function (flag) {
typeAhead : true,
autocomplete : true,
triggerAction : 'all',
- store : storeFrecuency
+ store : storeFrequency
}),
new Ext.form.ComboBox({
anchor : '85%',
@@ -955,7 +954,7 @@ var addTab = function (flag) {
typeAhead : true,
autocomplete : true,
triggerAction : 'all',
- store : storeFrecuency
+ store : storeFrequency
})
]
})