some changes in processmap, now there is the Edit BPMN in old processmap, also there is the Edit process in new ProcessMap, and other minor fixes in the process list

This commit is contained in:
Fernando Ontiveros
2011-02-05 08:36:06 +00:00
parent 66c72ce64e
commit da48b84b3b
11 changed files with 2945 additions and 2958 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -48,5 +48,4 @@ if (ReportTables::tableExist()) {
$G_TMP_MENU->AddIdRawOption('DB_CONNECTIONS', '', G::LoadTranslation('ID_DB_CONNECTIONS'),"",'showDbConnectionsList(Pm.options.uid); return false;','','ss_sprite ss_database_connect');
$G_TMP_MENU->AddIdRawOption('CASE_SCHEDULER', '', G::LoadTranslation('ID_CASE_SCHEDULER'), "", 'showCaseSchedulerList(Pm.options.uid); return false;','','ss_sprite ss_calendar_view_day');
?>
$G_TMP_MENU->AddIdRawOption('EDIT_BPMN', '', G::LoadTranslation('ID_EDIT_BPMN'), "", 'showNewProcessMap(Pm.options.uid); return false;','','ss_sprite ss_pencil');

View File

@@ -3,8 +3,12 @@
if( ! isset($_GET['PRO_UID']) )
throw new Exception('The Process ID was not set!');
$processUID = $_GET['PRO_UID'];
$_SESSION['PROCESS'] = $processUID;
$_SESSION['PROCESSMAP'] = 'BPMN';
require_once 'classes/model/Process.php';
$process = ProcessPeer::retrieveByPK($_GET['PRO_UID']);
$process = ProcessPeer::retrieveByPK( $processUID );
$oHeadPublisher =& headPublisher::getSingleton();
$oHeadPublisher->usingExtJs('ux/miframe');

View File

@@ -38,7 +38,9 @@ if( $access != 1 ) {
}
exit();
}*/
//next two variables store the current process uid and the last processmap used
//print_r ($_SESSION['PROCESS'] );
//print_r ($_SESSION['PROCESSMAP'] );
$RBAC->requirePermissions('PM_FACTORY');
$G_MAIN_MENU = 'processmaker';
@@ -48,9 +50,9 @@ $G_ID_SUB_MENU_SELECTED = '-';
$G_PUBLISH = new Publisher;
$oHeadPublisher =& headPublisher::getSingleton();
$oHeadPublisher->addScriptFile('/jscore/processes/main.js');
//$oHeadPublisher->addScriptFile('/jscore/processes/main.js');
$G_PUBLISH->AddContent('view', 'processes/mainLoad');
//G::RenderPage('publish');
if( isset($_GET['type']) )
G::RenderPage( "publishBlank", "blank");
else

View File

@@ -38,7 +38,4 @@
$oHeadPublisher->assign('TRANSLATIONS', $translations);
G::RenderPage('publish', 'extJs');

View File

@@ -3,7 +3,7 @@
* processes_List.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
* Copyright (C) 2004 - 2008 Colosa Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
@@ -35,7 +35,8 @@ if( isset($_POST['category']) && $_POST['category'] !== '<reset>' ){
$proData = $oProcess->getAllProcesses($start, $limit, $_POST['category'], $_POST['processName']);
else
$proData = $oProcess->getAllProcesses($start, $limit, $_POST['category']);
} else {
}
else {
if( isset($_POST['processName']) )
$proData = $oProcess->getAllProcesses($start, $limit, null, $_POST['processName']);
else
@@ -43,9 +44,6 @@ if( isset($_POST['category']) && $_POST['category'] !== '<reset>' ){
}
$r->data = $proData;
$r->totalCount = 0; //$oProcess->getAllProcessesCount();
$r->totalCount = count($proData); //$oProcess->getAllProcessesCount();
//print_R($r)
echo G::json_encode($r);

View File

@@ -46,6 +46,7 @@ if( $access != 1 ){
}
$processUID = $_GET['PRO_UID'];
$_SESSION['PROCESS'] = $processUID;
$_SESSION['PROCESSMAP'] = 'LEIMNUD';
$oTemplatePower = new TemplatePower(PATH_TPL . 'processes/processes_Map.html');
$oTemplatePower->prepare();

View File

@@ -1192,44 +1192,44 @@ ProcessMapContext.prototype.processDynaform= function()
var pro_uid = workflow.getUrlVars();
var supervisorDynaformsFields = Ext.data.Record.create([
{name: 'DYN_TITLE',type: 'string'},
{name: 'STEP_UID',type: 'string'},
{name: 'STEP_UID_OBJ',type: 'string'},
{name: 'STEP_TYPE_OBJ',type: 'string'},
{name: 'STEP_POSITION',type: 'string'},
{name: 'DYN_UID',type: 'string'}
]);
{name: 'DYN_TITLE',type: 'string'},
{name: 'STEP_UID',type: 'string'},
{name: 'STEP_UID_OBJ',type: 'string'},
{name: 'STEP_TYPE_OBJ',type: 'string'},
{name: 'STEP_POSITION',type: 'string'},
{name: 'DYN_UID',type: 'string'}
]);
var editor = new Ext.ux.grid.RowEditor({
saveText: 'Update'
});
saveText: 'Update'
});
var btnAdd = new Ext.Button({
id: 'btnAdd',
text: 'Assign',
iconCls: 'application_add',
handler: function(){
var User = grid.getStore();
var e = new supervisorDynaformsFields({
DYN_UID: '',
STEP_UID: '',
STEP_UID_OBJ: '',
STEP_TYPE_OBJ: '',
STEP_POSITION: ''
});
//storeUsers.reload();
if(availableSupervisorDynaforms.data.items.length == 0)
Ext.MessageBox.alert ('Status','No dynaform are available. All dynaforms have been already assigned.');
else
{
editor.stopEditing();
supervisorDynaforms.insert(0, e);
grid.getView().refresh();
//grid.getSelectionModel().selectRow(0);
editor.startEditing(0, 0);
}
}
});
id: 'btnAdd',
text: 'Assign',
iconCls: 'application_add',
handler: function(){
var User = grid.getStore();
var e = new supervisorDynaformsFields({
DYN_UID: '',
STEP_UID: '',
STEP_UID_OBJ: '',
STEP_TYPE_OBJ: '',
STEP_POSITION: ''
});
//storeUsers.reload();
if(availableSupervisorDynaforms.data.items.length == 0)
Ext.MessageBox.alert ('Status','No dynaform are available. All dynaforms have been already assigned.');
else
{
editor.stopEditing();
supervisorDynaforms.insert(0, e);
grid.getView().refresh();
//grid.getSelectionModel().selectRow(0);
editor.startEditing(0, 0);
}
}
});
var btnRemove = new Ext.Button({
id: 'btnRemove',

View File

@@ -1,5 +1,5 @@
ProcessOptions=function(id){
Workflow.call(this,id);
Workflow.call(this,id);
};
ProcessOptions.prototype=new Workflow;
ProcessOptions.prototype.type="ProcessOptions";
@@ -14,223 +14,223 @@ ProcessOptions.prototype.addDynaform= function(_5625)
var pro_uid = workflow.getUrlVars();
var dynaFields = Ext.data.Record.create([
{ name: 'DYN_UID', type: 'string'},
{ name: 'DYN_TYPE', type: 'string'},
{ name: 'DYN_TITLE', type: 'string'},
{ name: 'DYN_DISCRIPTION',type: 'string'},
{name: 'ACTION', type: 'string'}
]);
{ name: 'DYN_UID', type: 'string'},
{ name: 'DYN_TYPE', type: 'string'},
{ name: 'DYN_TITLE', type: 'string'},
{ name: 'DYN_DISCRIPTION',type: 'string'},
{name: 'ACTION', type: 'string'}
]);
var editor = new Ext.ux.grid.RowEditor({
saveText: 'Update'
});
saveText: 'Update'
});
var btnAdd = new Ext.Button({
id: 'btnAdd',
text: 'New',
iconCls: 'button_menu_ext ss_sprite ss_add',
//iconCls: 'application_add',
handler: function () {
dynaformDetails.getForm().reset();
formWindow.show();
}
id: 'btnAdd',
text: 'New',
iconCls: 'button_menu_ext ss_sprite ss_add',
//iconCls: 'application_add',
handler: function () {
dynaformDetails.getForm().reset();
formWindow.show();
}
});
var btnRemove = new Ext.Button({
id: 'btnRemove',
text: 'Delete',
iconCls: 'button_menu_ext ss_sprite ss_delete',
handler: function (s) {
editor.stopEditing();
var s = dynaformGrid.getSelectionModel().getSelections();
for(var i = 0, r; r = s[i]; i++){
//First Deleting dynaform from Database using Ajax
var dynUID = r.data.DYN_UID;
//if STEP_UID is properly defined (i.e. set to valid value) then only delete the row
//else its a BLANK ROW for which Ajax should not be called.
if(r.data.DYN_UID != "")
id: 'btnRemove',
text: 'Delete',
iconCls: 'button_menu_ext ss_sprite ss_delete',
handler: function (s) {
editor.stopEditing();
var s = dynaformGrid.getSelectionModel().getSelections();
for(var i = 0, r; r = s[i]; i++){
//First Deleting dynaform from Database using Ajax
var dynUID = r.data.DYN_UID;
//if STEP_UID is properly defined (i.e. set to valid value) then only delete the row
//else its a BLANK ROW for which Ajax should not be called.
if( r.data.DYN_UID != "")
{
Ext.Ajax.request({
url : '../dynaforms/dynaforms_Delete.php',
method: 'POST',
params: {
functions : 'getDynaformAssign',
PRO_UID : pro_uid,
DYN_UID : dynUID
},
success: function(response) {
//First check whether selected Dynaform is assigned to a task steps or not.
//If response.responseText == 1 i.e it is assigned, => it cannot be deleted
if(response.responseText == "")
{
Ext.Ajax.request({
url : '../dynaforms/dynaforms_Delete.php',
method: 'POST',
params: {
functions : 'getRelationInfDynaform',
DYN_UID : dynUID
},
success: function(response) {
//Second check whether selected Dynaform is assigned to a processes supervisors or not.
//If response.responseText == 1 i.e it is assigned, => it cannot be deleted
if(response.responseText == "")
{
Ext.Ajax.request({
url : '../dynaforms/dynaforms_Delete.php',
method: 'POST',
params: {
functions : 'getDynaformAssign',
PRO_UID : pro_uid,
DYN_UID : dynUID
},
success: function(response) {
//First check whether selected Dynaform is assigned to a task steps or not.
//If response.responseText == 1 i.e it is assigned, => it cannot be deleted
if(response.responseText == "")
{
Ext.Ajax.request({
url : '../dynaforms/dynaforms_Delete.php',
method: 'POST',
params: {
functions : 'getRelationInfDynaform',
DYN_UID : dynUID
},
success: function(response) {
//Second check whether selected Dynaform is assigned to a processes supervisors or not.
//If response.responseText == 1 i.e it is assigned, => it cannot be deleted
if(response.responseText == "")
{
Ext.Ajax.request({
url : '../dynaforms/dynaforms_Delete.php',
method: 'POST',
params: {
functions : 'deleteDynaform',
DYN_UID : dynUID
},
success: function(response) {
Ext.MessageBox.alert ('Status','Dynaform has been removed successfully.');
//Secondly deleting from Grid
taskDynaform.remove(r);
//Reloading store after deleting dynaform
taskDynaform.reload();
}
});
}
else
Ext.MessageBox.alert ('Status','Dynaform assigned to a process supervisors cannot be deleted.');
}
});
}
else
Ext.MessageBox.alert ('Status','Dynaform assigned to a task steps cannot be deleted.');
}
});
Ext.Ajax.request({
url : '../dynaforms/dynaforms_Delete.php',
method: 'POST',
params: {
functions : 'deleteDynaform',
DYN_UID : dynUID
},
success: function(response) {
PMExt.notify( _('ID_MY_LABEL_WITH_ANY_TITLE') , _('ID_MY_MSG') );
//Ext.MessageBox.alert ('Status','Dynaform has been removed successfully.');
//Secondly deleting from Grid
taskDynaform.remove(r);
//Reloading store after deleting dynaform
taskDynaform.reload();
}
});
}
}
else
PMExt.warning(_('ID_STATUS'), _('ID_CONFIRM_CANCEL_CASE'));
Ext.MessageBox.alert ('Status','Dynaform assigned to a process supervisors cannot be deleted.');
}
});
}
else
Ext.MessageBox.alert ('Status','Dynaform assigned to a task steps cannot be deleted.');
}
});
});
}
}
}
});
var tb = new Ext.Toolbar({
items: [btnAdd, btnRemove]
});
items: [btnAdd, btnRemove]
});
var taskDynaform = new Ext.data.JsonStore({
root : 'data',
totalProperty: 'totalCount',
idProperty : 'gridIndex',
remoteSort : true,
fields : dynaFields,
proxy : new Ext.data.HttpProxy({
url: 'proxyExtjs?pid='+pro_uid+'&action=getDynaformList'
})
});
root : 'data',
totalProperty: 'totalCount',
idProperty : 'gridIndex',
remoteSort : true,
fields : dynaFields,
proxy : new Ext.data.HttpProxy({
url: 'proxyExtjs?pid='+pro_uid+'&action=getDynaformList'
})
});
taskDynaform.load();
//Creating store for getting list of additional PM tables
var additionalTablesFields = Ext.data.Record.create([
{ name: 'ADD_TAB_UID', type: 'string'},
{ name: 'ADD_TAB_NAME', type: 'string'},
{ name: 'ADD_TAB_DESCRIPTION',type: 'string'}
]);
{ name: 'ADD_TAB_UID', type: 'string'},
{ name: 'ADD_TAB_NAME', type: 'string'},
{ name: 'ADD_TAB_DESCRIPTION',type: 'string'}
]);
var additionalTables = new Ext.data.JsonStore({
root : 'data',
totalProperty: 'totalCount',
idProperty : 'gridIndex',
remoteSort : true,
fields : additionalTablesFields,
proxy: new Ext.data.HttpProxy({
url: 'proxyExtjs?action=getAdditionalTables'
})
});
root : 'data',
totalProperty: 'totalCount',
idProperty : 'gridIndex',
remoteSort : true,
fields : additionalTablesFields,
proxy: new Ext.data.HttpProxy({
url: 'proxyExtjs?action=getAdditionalTables'
})
});
additionalTables.load();
//Creating store for getting list of Fields of additional PM tables
var TablesFields = Ext.data.Record.create([
{ name: 'FLD_UID',type: 'string'},
{ name: 'FLD_NAME',type: 'string'},
{ name: 'FLD_DESCRIPTION',type: 'string'},
{ name: 'FLD_TYPE',type: 'string'}
]);
{ name: 'FLD_UID',type: 'string'},
{ name: 'FLD_NAME',type: 'string'},
{ name: 'FLD_DESCRIPTION',type: 'string'},
{ name: 'FLD_TYPE',type: 'string'}
]);
var tablesFieldsStore = new Ext.data.JsonStore({
root : 'data',
totalProperty: 'totalCount',
idProperty : 'gridIndex',
remoteSort : true,
fields : TablesFields,
proxy: new Ext.data.HttpProxy({
url: 'proxyDynaform'
})
});
var tablesFieldsStore = new Ext.data.JsonStore({
root : 'data',
totalProperty: 'totalCount',
idProperty : 'gridIndex',
remoteSort : true,
fields : TablesFields,
proxy: new Ext.data.HttpProxy({
url: 'proxyDynaform'
})
});
//tablesFieldsStore.load();
// Renderer function
function renderInstall(value, id, r)
function renderInstall(value, id, r)
{
var id = Ext.id();
var uidbutton = createGridButton.defer(1, this, ['Install', id, r]);
return uidbutton;
//return('&lt;div id="' + id + '"&gt;&lt;/div&gt;');
/*if (r.data.registered == false)
{
createGridButton.defer(1, this, ['Install', id, r]);
return('&lt;div id="' + id + '"&gt;&lt;/div&gt;');
}else
{
createGridButton.defer(1, this, ['ReInstall', id, r]);
return('&lt;div id="' + id + '"&gt;&lt;/div&gt;');
}*/
}
function createGridButton(value, id, record) {
new Ext.Button({
text: 'UID'
,iconCls: 'button_menu_ext ss_sprite ss_delete'
,handler : function(btn, e) {
// do whatever you want here
}
});
}
var id = Ext.id();
var uidbutton = createGridButton.defer(1, this, ['Install', id, r]);
return uidbutton;
//return('&lt;div id="' + id + '"&gt;&lt;/div&gt;');
/*if (r.data.registered == false)
{
createGridButton.defer(1, this, ['Install', id, r]);
return('&lt;div id="' + id + '"&gt;&lt;/div&gt;');
}else
{
createGridButton.defer(1, this, ['ReInstall', id, r]);
return('&lt;div id="' + id + '"&gt;&lt;/div&gt;');
}*/
var dynaformColumns = new Ext.grid.ColumnModel({
columns: [
new Ext.grid.RowNumberer(),
{
id: 'DYN_TITLE',
header: 'Title',
dataIndex: 'DYN_TITLE',
width: 280,
editable: false,
editor: new Ext.form.TextField({
allowBlank: false
})
},{
id: 'ACTION',
header: 'Type',
dataIndex: 'ACTION',
width: 280,
editable: false,
editor: new Ext.form.TextField({
allowBlank: false
})
},
{
sortable: false,
renderer: function(val, meta, record)
{
return String.format("<a href='../dynaforms/dynaforms_Editor?PRO_UID={0}&DYN_UID={1}' >Edit</a>",pro_uid,record.data.DYN_UID);
}
},
{
sortable: false,
renderer: function(val, meta, record)
{
return String.format("<input type='submit' name='UID' value='UID' onclick=''>",record.data.DYN_UID);
}
}
]
});
}
function createGridButton(value, id, record) {
new Ext.Button({
text: 'UID'
,iconCls: 'button_menu_ext ss_sprite ss_delete'
,handler : function(btn, e) {
// do whatever you want here
}
});
}
var dynaformColumns = new Ext.grid.ColumnModel({
columns: [
new Ext.grid.RowNumberer(),
{
id: 'DYN_TITLE',
header: 'Title',
dataIndex: 'DYN_TITLE',
width: 280,
editable: false,
editor: new Ext.form.TextField({
allowBlank: false
})
},{
id: 'ACTION',
header: 'Type',
dataIndex: 'ACTION',
width: 280,
editable: false,
editor: new Ext.form.TextField({
allowBlank: false
})
},
{
sortable: false,
renderer: function(val, meta, record)
{
return String.format("<a href='../dynaforms/dynaforms_Editor?PRO_UID={0}&DYN_UID={1}' >Edit</a>",pro_uid,record.data.DYN_UID);
}
},
{
sortable: false,
renderer: function(val, meta, record)
{
return String.format("<input type='submit' name='UID' value='UID' onclick=''>",record.data.DYN_UID);
}
}
]
});
var addTableColumns = new Ext.grid.ColumnModel({
var addTableColumns = new Ext.grid.ColumnModel({
columns: [
new Ext.grid.RowNumberer(),
{

View File

@@ -1,3 +1,16 @@
new Ext.KeyMap(document, {
key: Ext.EventObject.F5,
fn: function(keycode, e) {
e.stopEvent();
if (Ext.isIE)
e.browserEvent.keyCode = 8;
e.stopEvent();
Ext.Msg.alert('Refresh', 'You clicked: F5');
location = "../bpmn/designer?PRO_UID=" + pro_uid;
document.location = document.location;
}
});
Ext.onReady ( function() {
workflow = new MyWorkflow("paintarea");

View File

@@ -1,3 +1,20 @@
new Ext.KeyMap(document, {
key: Ext.EventObject.F5,
fn: function(keycode, e) {
//here (in the toolbar) we are disabling the ctrl-f5
e.stopEvent();
//if (! e.ctrlKey) {
// if (Ext.isIE)
// e.browserEvent.keyCode = 8;
// e.stopEvent();
//Ext.Msg.alert('Refresh', 'You clicked: F5');
//document.location = document.location;
//}
//else
//Ext.Msg.alert('Refresh', 'You clicked: CTRL-F5');
}
});
Ext.onReady ( function() {
workflow = new MyWorkflow("paintarea");
@@ -214,6 +231,14 @@ Ext.onReady ( function() {
handler: function() {
document.getElementById('designerFrame').contentWindow.workflow.zoom('out');
}
}, {
text:'Edit Process',
iconCls: 'button_menu_ext ss_sprite ss_pencil',
handler: function() {
if(typeof pro_uid !== 'undefined') {
location.href = '../processes/processes_Map?PRO_UID=' +pro_uid+ '&rand=' +Math.random()
}
}
}
]
});