Changes of usability of departments done (assign supervisors)
This commit is contained in:
@@ -278,6 +278,9 @@ switch ($_POST['action'])
|
|||||||
case 'assignedUsers':
|
case 'assignedUsers':
|
||||||
$filter = isset($_POST['textFilter']) ? $_POST['textFilter'] : '';
|
$filter = isset($_POST['textFilter']) ? $_POST['textFilter'] : '';
|
||||||
$dep_uid = $_REQUEST['dUID'];
|
$dep_uid = $_REQUEST['dUID'];
|
||||||
|
$oDept = new Department();
|
||||||
|
$oDept->Load($dep_uid);
|
||||||
|
$manager = $oDept->getDepManager();
|
||||||
$oCriteria = new Criteria('workflow');
|
$oCriteria = new Criteria('workflow');
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_UID);
|
$oCriteria->addSelectColumn(UsersPeer::USR_UID);
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_USERNAME);
|
$oCriteria->addSelectColumn(UsersPeer::USR_USERNAME);
|
||||||
@@ -296,6 +299,8 @@ switch ($_POST['action'])
|
|||||||
$aUsers = array();
|
$aUsers = array();
|
||||||
while ($oDataset->next()){
|
while ($oDataset->next()){
|
||||||
$aUsers[] = $oDataset->getRow();
|
$aUsers[] = $oDataset->getRow();
|
||||||
|
$index = sizeof($aUsers)-1;
|
||||||
|
$aUsers[$index]['USR_SUPERVISOR'] = ($manager == $aUsers[$index]['USR_UID'])? true : false;
|
||||||
}
|
}
|
||||||
echo '{users:'.G::json_encode($aUsers).'}';
|
echo '{users:'.G::json_encode($aUsers).'}';
|
||||||
break;
|
break;
|
||||||
@@ -356,4 +361,14 @@ $oCriteria->add(UsersPeer::USR_STATUS,'CLOSED',Criteria::NOT_EQUAL);
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 'updateSupervisor':
|
||||||
|
$dep_manager = $_POST['USR_UID'];
|
||||||
|
$dep_uid = $_POST['DEP_UID'];
|
||||||
|
$editDepartment['DEP_UID'] = $dep_uid;
|
||||||
|
$editDepartment['DEP_MANAGER'] = $dep_manager;
|
||||||
|
$oDept = new Department();
|
||||||
|
$oDept->update($editDepartment);
|
||||||
|
$oDept->updateDepartmentManager($dep_uid);
|
||||||
|
echo '{success: true}';
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,26 +63,23 @@ Ext.onReady(function(){
|
|||||||
handler: CancelEditMembersAction
|
handler: CancelEditMembersAction
|
||||||
//hidden: true
|
//hidden: true
|
||||||
});
|
});
|
||||||
|
|
||||||
|
supervisorButton = new Ext.Action({
|
||||||
|
text: _('ID_SET_SUPERVISOR'),
|
||||||
|
iconCls: 'button_menu_ext ss_sprite ss_user_edit',
|
||||||
|
handler: UpdateSupervisor,
|
||||||
|
disabled: true
|
||||||
|
});
|
||||||
|
|
||||||
backButton = new Ext.Action({
|
backButton = new Ext.Action({
|
||||||
text : _('ID_BACK'),
|
text : _('ID_BACK'),
|
||||||
iconCls: 'button_menu_ext ss_sprite ss_arrow_redo',
|
iconCls: 'button_menu_ext ss_sprite ss_arrow_redo',
|
||||||
handler: BackToUsers
|
handler: BackToUsers
|
||||||
});
|
});
|
||||||
|
|
||||||
// saveChangesButton = new Ext.Action({
|
contextMenu = new Ext.menu.Menu({
|
||||||
// text: _('ID_SAVE_CHANGES'),
|
items: [supervisorButton]
|
||||||
// //iconCls: 'button_menu_ext ss_sprite ss_arrow_redo',
|
});
|
||||||
// handler: SaveChangesAuthForm,
|
|
||||||
// disabled: true
|
|
||||||
// });
|
|
||||||
|
|
||||||
// discardChangesButton = new Ext.Action({
|
|
||||||
// text: _('ID_DISCARD_CHANGES'),
|
|
||||||
// //iconCls: 'button_menu_ext ss_sprite ss_arrow_redo',
|
|
||||||
// handler: LoadAuthForm,
|
|
||||||
// disabled: true
|
|
||||||
// });
|
|
||||||
|
|
||||||
storeP = new Ext.data.GroupingStore( {
|
storeP = new Ext.data.GroupingStore( {
|
||||||
proxy : new Ext.data.HttpProxy({
|
proxy : new Ext.data.HttpProxy({
|
||||||
@@ -94,7 +91,8 @@ Ext.onReady(function(){
|
|||||||
{name : 'USR_UID'},
|
{name : 'USR_UID'},
|
||||||
{name : 'USR_USERNAME'},
|
{name : 'USR_USERNAME'},
|
||||||
{name : 'USR_FIRSTNAME'},
|
{name : 'USR_FIRSTNAME'},
|
||||||
{name : 'USR_LASTNAME'}
|
{name : 'USR_LASTNAME'},
|
||||||
|
{name : 'USR_SUPERVISOR'}
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
@@ -125,6 +123,28 @@ Ext.onReady(function(){
|
|||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
smodelP = new Ext.grid.RowSelectionModel({
|
||||||
|
selectSingle: false,
|
||||||
|
listeners:{
|
||||||
|
selectionchange: function(sm){
|
||||||
|
switch(sm.getCount()){
|
||||||
|
case 0: Ext.getCmp('removeButton').disable();
|
||||||
|
supervisorButton.disable();
|
||||||
|
break;
|
||||||
|
case 1: Ext.getCmp('removeButton').enable();
|
||||||
|
if (availableGrid.hidden)
|
||||||
|
supervisorButton.enable();
|
||||||
|
else
|
||||||
|
supervisorButton.disable();
|
||||||
|
break;
|
||||||
|
default: Ext.getCmp('removeButton').enable();
|
||||||
|
supervisorButton.disable();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
smodelA = new Ext.grid.RowSelectionModel({
|
smodelA = new Ext.grid.RowSelectionModel({
|
||||||
selectSingle: false,
|
selectSingle: false,
|
||||||
listeners:{
|
listeners:{
|
||||||
@@ -137,18 +157,6 @@ Ext.onReady(function(){
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
smodelP = new Ext.grid.RowSelectionModel({
|
|
||||||
selectSingle: false,
|
|
||||||
listeners:{
|
|
||||||
selectionchange: function(sm){
|
|
||||||
switch(sm.getCount()){
|
|
||||||
case 0: Ext.getCmp('removeButton').disable(); break;
|
|
||||||
default: Ext.getCmp('removeButton').enable(); break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
searchTextA = new Ext.form.TextField ({
|
searchTextA = new Ext.form.TextField ({
|
||||||
id: 'searchTextA',
|
id: 'searchTextA',
|
||||||
ctCls:'pm_search_text_field',
|
ctCls:'pm_search_text_field',
|
||||||
@@ -240,12 +248,24 @@ Ext.onReady(function(){
|
|||||||
frame : false,
|
frame : false,
|
||||||
columnLines : false,
|
columnLines : false,
|
||||||
viewConfig : {forceFit:true},
|
viewConfig : {forceFit:true},
|
||||||
tbar: [editMembersButton,{xtype: 'tbfill'},'-',searchTextP,clearTextButtonP],
|
tbar: [editMembersButton,'-',supervisorButton,{xtype: 'tbfill'},'-',searchTextP,clearTextButtonP],
|
||||||
//bbar: [{xtype: 'tbfill'},editMembersButton],
|
//bbar: [{xtype: 'tbfill'},editMembersButton],
|
||||||
listeners: {rowdblclick: function(){
|
listeners: {rowdblclick: function(){
|
||||||
(availableGrid.hidden)? DoNothing() : RemoveGroupsAction();
|
(availableGrid.hidden)? DoNothing() : RemoveGroupsAction();
|
||||||
}}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
assignedGrid.on('rowcontextmenu',
|
||||||
|
function (grid, rowIndex, evt) {
|
||||||
|
var sm = grid.getSelectionModel();
|
||||||
|
sm.selectRow(rowIndex, sm.isSelected(rowIndex));
|
||||||
|
},
|
||||||
|
this
|
||||||
|
);
|
||||||
|
|
||||||
|
assignedGrid.on('contextmenu', function(evt){evt.preventDefault();}, this);
|
||||||
|
assignedGrid.addListener('rowcontextmenu',onMessageContextMenu, this);
|
||||||
|
|
||||||
buttonsPanel = new Ext.Panel({
|
buttonsPanel = new Ext.Panel({
|
||||||
width : 40,
|
width : 40,
|
||||||
@@ -298,6 +318,13 @@ Ext.onReady(function(){
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//Funtion Handles Context Menu Opening
|
||||||
|
onMessageContextMenu = function (grid, rowIndex, e) {
|
||||||
|
e.stopEvent();
|
||||||
|
var coords = e.getXY();
|
||||||
|
contextMenu.showAt([coords[0], coords[1]]);
|
||||||
|
};
|
||||||
|
|
||||||
//Do Nothing Function
|
//Do Nothing Function
|
||||||
DoNothing = function(){};
|
DoNothing = function(){};
|
||||||
|
|
||||||
@@ -460,6 +487,7 @@ EditMembersAction = function(){
|
|||||||
availableGrid.show();
|
availableGrid.show();
|
||||||
buttonsPanel.show();
|
buttonsPanel.show();
|
||||||
editMembersButton.disable();
|
editMembersButton.disable();
|
||||||
|
supervisorButton.disable();
|
||||||
UsersPanel.doLayout();
|
UsersPanel.doLayout();
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -468,10 +496,36 @@ CancelEditMembersAction = function(){
|
|||||||
availableGrid.hide();
|
availableGrid.hide();
|
||||||
buttonsPanel.hide();
|
buttonsPanel.hide();
|
||||||
editMembersButton.enable();
|
editMembersButton.enable();
|
||||||
|
rowsSelected = assignedGrid.getSelectionModel().getSelections();
|
||||||
|
if (rowsSelected.length == 1)
|
||||||
|
supervisorButton.enable();
|
||||||
|
else
|
||||||
|
supervisorButton.disable();
|
||||||
UsersPanel.doLayout();
|
UsersPanel.doLayout();
|
||||||
};
|
};
|
||||||
|
|
||||||
//Render Full User Name
|
//Render Full User Name
|
||||||
show_user = function(v,i,s){
|
show_user = function(v,i,s){
|
||||||
return _FNF(v,s.data.USR_FIRSTNAME, s.data.USR_LASTNAME);
|
var sName = _FNF(v,s.data.USR_FIRSTNAME, s.data.USR_LASTNAME);
|
||||||
|
if (s.data.USR_SUPERVISOR) sName = sName + ' <font color="green">[' + _('ID_SUPERVISOR') + ']</font>';
|
||||||
|
return sName;
|
||||||
|
};
|
||||||
|
|
||||||
|
//Update Department Supervisor
|
||||||
|
UpdateSupervisor = function(){
|
||||||
|
rowsSelected = assignedGrid.getSelectionModel().getSelections();
|
||||||
|
viewport.getEl().mask(_('ID_PROCESSING'));
|
||||||
|
Ext.Ajax.request({
|
||||||
|
url: 'departments_Ajax',
|
||||||
|
params: {action: 'updateSupervisor', USR_UID: rowsSelected[0].get('USR_UID'), DEP_UID: DEPARTMENT.DEP_UID},
|
||||||
|
success: function(r,o){
|
||||||
|
viewport.getEl().unmask();
|
||||||
|
supervisorButton.disable();
|
||||||
|
DoSearchP();
|
||||||
|
PMExt.notify(_('ID_DEPARTMENTS'),_('ID_SET_SUPERVISOR_SUCCESS'));
|
||||||
|
},
|
||||||
|
failure: function (r,o){
|
||||||
|
viewport.getEl().unmask();
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
Reference in New Issue
Block a user