diff --git a/workflow/engine/classes/class.dashletOpenVSCompleted.php b/workflow/engine/classes/class.dashletOpenVSCompleted.php index 2b1dcef56..5e6a7fe08 100644 --- a/workflow/engine/classes/class.dashletOpenVSCompleted.php +++ b/workflow/engine/classes/class.dashletOpenVSCompleted.php @@ -15,7 +15,7 @@ class dashletOpenVSCompleted implements DashletInterface { private $greenFrom; private $greenTo; - public static function getAdditionalFields($a) { + public static function getAdditionalFields($className) { $additionalFields = array(); $contextTimeStore = new stdclass(); diff --git a/workflow/engine/classes/class.dashletProcessMakerCommunity.php b/workflow/engine/classes/class.dashletProcessMakerCommunity.php index 85f949bc2..4741ff873 100644 --- a/workflow/engine/classes/class.dashletProcessMakerCommunity.php +++ b/workflow/engine/classes/class.dashletProcessMakerCommunity.php @@ -15,10 +15,10 @@ class dashletProcessMakerCommunity implements DashletInterface { private $greenFrom; private $greenTo; - public static function getAdditionalFields($a) { + public static function getAdditionalFields($className) { $additionalFields = array(); - $contextTimeStore = new stdclass(); + /*$contextTimeStore = new stdclass(); $contextTimeStore->xtype = 'arraystore'; $contextTimeStore->fields = array('id', 'value'); $contextTimeStore->data = array(array('TODAY', 'Today'), @@ -108,7 +108,7 @@ class dashletProcessMakerCommunity implements DashletInterface { $greenTo->maxValue = 100; $greenTo->minValue = 0; $greenTo->allowBlank = false; - $additionalFields[] = $greenTo; + $additionalFields[] = $greenTo;*/ return $additionalFields; } diff --git a/workflow/engine/controllers/dashboard.php b/workflow/engine/controllers/dashboard.php index 50aeacc70..a7ce29805 100644 --- a/workflow/engine/controllers/dashboard.php +++ b/workflow/engine/controllers/dashboard.php @@ -166,6 +166,22 @@ class Dashboard extends Controller { return $result; } + public function getAdditionalFields($data) { + $this->setResponseType('json'); + $result = new stdclass(); + $result->status = 'OK'; + try { + $dashlet = new Dashlet(); + $dashletFields = $dashlet->load($data->DAS_UID); + $result->additionaFields = PMDashlet::getAdditionalFields($dashletFields['DAS_CLASS']); + } + catch(Exception $error) { + $result->status = 'ERROR'; + $result->message = $error->getMessage(); + } + return $result; + } + public function getOwnersByType($data) { $this->setResponseType('json'); $result = new stdclass(); diff --git a/workflow/engine/templates/dashboard/dashletInstanceForm.js b/workflow/engine/templates/dashboard/dashletInstanceForm.js index 49c54e80e..dc15fb2db 100644 --- a/workflow/engine/templates/dashboard/dashletInstanceForm.js +++ b/workflow/engine/templates/dashboard/dashletInstanceForm.js @@ -16,7 +16,7 @@ Ext.onReady(function() { storeDasInsOwnerType = new Ext.data.ArrayStore({ idIndex: 0, fields: ['id', 'value'], - data: [['USER', 'User'], ['DEPARTMENT', 'Department'], ['GROUP', 'Group']] + data: [['USER', 'User'], ['DEPARTMENT', 'Department'], ['GROUP', 'Group'], ['EVERYBODY', 'Everybody']] }); storeDasInsOwnerUID = new Ext.data.Store({ @@ -69,10 +69,19 @@ Ext.onReady(function() { Ext.Ajax.request({ url: 'getAdditionalFields', method: 'POST', - params: '', + params: {DAS_UID: this.getValue()}, success: function (result, request) { - var dataResponse = Ext.util.JSON.decode(result.responseText) - // + var response = Ext.util.JSON.decode(result.responseText) + additionaFields = response.additionaFields; + dashletInstanceFrm.remove('additional'); + if (additionaFields.length > 0) { + dashletInstanceFrm.add(new Ext.form.FieldSet({ + id: 'additional', + title: 'Other', + items: additionaFields + })); + } + dashletInstanceFrm.doLayout(false, true); }, failure: function (result, request) { myMask.hide(); @@ -122,8 +131,14 @@ Ext.onReady(function() { formFields = [ new Ext.form.FieldSet({ + id: 'general', title: 'General', items: [hiddenDasInsUID, cboDasUID, cboDasInsOwnerType, cboDasInsOwnerUID] + }), + new Ext.form.FieldSet({ + id: 'additional', + title: 'Other', + items: additionaFields }) ]; @@ -135,7 +150,7 @@ Ext.onReady(function() { width: 465, frame: true, title: 'Dashlet Instance Configuration', - items: formFields.concat(additionaFields), + items: formFields, buttonAlign: 'right', buttons: [ new Ext.Action({