From 134bbacacf1bce48618c3141486cc78dd891606d Mon Sep 17 00:00:00 2001 From: norahmollo Date: Thu, 21 Mar 2013 16:38:13 +0000 Subject: [PATCH 1/9] BUG 11021: Change the role names from PROCESSMAKER_XXXX to only "XXXX" Only change the label dropdown for new Users Role --- rbac/engine/classes/model/Roles.php | 5 ----- workflow/engine/methods/users/usersAjax.php | 3 +-- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/rbac/engine/classes/model/Roles.php b/rbac/engine/classes/model/Roles.php index 629224ce5..ffa8f5007 100755 --- a/rbac/engine/classes/model/Roles.php +++ b/rbac/engine/classes/model/Roles.php @@ -168,10 +168,6 @@ class Roles extends BaseRoles { return $result; } - - - - function getAllRoles($systemCode = 'PROCESSMAKER') { $c = $this->listAllRoles($systemCode); $rs = RolesPeer::DoSelectRs($c); @@ -188,7 +184,6 @@ class Roles extends BaseRoles { return $aRows; } - function listAllPermissions($systemCode = 'PROCESSMAKER') { try { $oCriteria = new Criteria('rbac'); diff --git a/workflow/engine/methods/users/usersAjax.php b/workflow/engine/methods/users/usersAjax.php index b27a37566..4b42988f1 100644 --- a/workflow/engine/methods/users/usersAjax.php +++ b/workflow/engine/methods/users/usersAjax.php @@ -97,7 +97,7 @@ switch ($_POST['action']) { $roles = new Roles(); $rolesData = $roles->getAllRoles(); foreach ($rolesData as $rowid => $row) { - $oData[] = array('ROL_UID' => $row['ROL_CODE'], 'ROL_CODE' => $row['ROL_CODE']); + $oData[] = array('ROL_UID' => $row['ROL_CODE'], 'ROL_CODE' => $row['ROL_NAME']); } print (G::json_encode($oData)); break; @@ -613,4 +613,3 @@ switch ($_POST['action']) { echo G::json_encode($response); break; } - \ No newline at end of file From 1f4056fbafc047674e3911c2a76d2586ec5e5021 Mon Sep 17 00:00:00 2001 From: Julio Cesar Laura Date: Thu, 21 Mar 2013 13:00:18 -0400 Subject: [PATCH 2/9] BUG 11052 Notice en Report Table al hacer correr un caso con old version SOLVED - Using foreach statement in a empty string - Check first if is an array before use foreach statement --- .../engine/classes/class.reportTables.php | 50 ++++++++++--------- workflow/engine/templates/pmTables/export.js | 2 +- 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/workflow/engine/classes/class.reportTables.php b/workflow/engine/classes/class.reportTables.php index 653a70e9d..7e0eb8a1a 100755 --- a/workflow/engine/classes/class.reportTables.php +++ b/workflow/engine/classes/class.reportTables.php @@ -646,32 +646,34 @@ class ReportTables $aAux = explode( '-', $aRow['REP_TAB_GRID'] ); if (isset( $aFields[$aAux[0]] )) { - foreach ($aFields[$aAux[0]] as $iRow => $aGridRow) { - $sQuery = 'INSERT INTO `' . $aRow['REP_TAB_NAME'] . '` ('; - $sQuery .= '`APP_UID`,`APP_NUMBER`,`ROW`'; - foreach ($aTableFields as $aField) { - $sQuery .= ',`' . $aField['sFieldName'] . '`'; - } - $sQuery .= ") VALUES ('" . $sApplicationUid . "'," . (int) $iApplicationNumber . ',' . $iRow; - foreach ($aTableFields as $aField) { - switch ($aField['sType']) { - case 'number': - $sQuery .= ',' . (isset( $aGridRow[$aField['sFieldName']] ) ? (float) str_replace( ',', '', $aGridRow[$aField['sFieldName']] ) : '0'); - break; - case 'char': - case 'text': - if (! isset( $aGridRow[$aField['sFieldName']] )) { - $aGridRow[$aField['sFieldName']] = ''; - } - $sQuery .= ",'" . (isset( $aGridRow[$aField['sFieldName']] ) ? mysql_real_escape_string( $aGridRow[$aField['sFieldName']] ) : '') . "'"; - break; - case 'date': - $sQuery .= ",'" . (isset( $aGridRow[$aField['sFieldName']] ) ? $aGridRow[$aField['sFieldName']] : '') . "'"; - break; + if (is_array($aFields[$aAux[0]])) { + foreach ($aFields[$aAux[0]] as $iRow => $aGridRow) { + $sQuery = 'INSERT INTO `' . $aRow['REP_TAB_NAME'] . '` ('; + $sQuery .= '`APP_UID`,`APP_NUMBER`,`ROW`'; + foreach ($aTableFields as $aField) { + $sQuery .= ',`' . $aField['sFieldName'] . '`'; } + $sQuery .= ") VALUES ('" . $sApplicationUid . "'," . (int) $iApplicationNumber . ',' . $iRow; + foreach ($aTableFields as $aField) { + switch ($aField['sType']) { + case 'number': + $sQuery .= ',' . (isset( $aGridRow[$aField['sFieldName']] ) ? (float) str_replace( ',', '', $aGridRow[$aField['sFieldName']] ) : '0'); + break; + case 'char': + case 'text': + if (! isset( $aGridRow[$aField['sFieldName']] )) { + $aGridRow[$aField['sFieldName']] = ''; + } + $sQuery .= ",'" . (isset( $aGridRow[$aField['sFieldName']] ) ? mysql_real_escape_string( $aGridRow[$aField['sFieldName']] ) : '') . "'"; + break; + case 'date': + $sQuery .= ",'" . (isset( $aGridRow[$aField['sFieldName']] ) ? $aGridRow[$aField['sFieldName']] : '') . "'"; + break; + } + } + $sQuery .= ')'; + $rs = $stmt->executeQuery( $sQuery ); } - $sQuery .= ')'; - $rs = $stmt->executeQuery( $sQuery ); } } } diff --git a/workflow/engine/templates/pmTables/export.js b/workflow/engine/templates/pmTables/export.js index ecebdf675..8655acd09 100755 --- a/workflow/engine/templates/pmTables/export.js +++ b/workflow/engine/templates/pmTables/export.js @@ -166,7 +166,7 @@ Export.submit = function() if (result.success) { location.href = result.link; } else { - PMExt.error(_('ID_ERROR'), result.message)); + PMExt.error(_('ID_ERROR'), result.message); } }, failure: function(obj, resp){ From 6ae68823c6d313fd93cbcdbc722499b19a0325a0 Mon Sep 17 00:00:00 2001 From: Julio Cesar Laura Date: Thu, 21 Mar 2013 13:06:02 -0400 Subject: [PATCH 3/9] BUG 11052 Notice en Report Table al hacer correr un caso con old version IMPROVEMENT --- workflow/engine/classes/class.reportTables.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/classes/class.reportTables.php b/workflow/engine/classes/class.reportTables.php index 7e0eb8a1a..398c35ad5 100755 --- a/workflow/engine/classes/class.reportTables.php +++ b/workflow/engine/classes/class.reportTables.php @@ -591,7 +591,7 @@ class ReportTables if (! isset( $aFields[$aField['sFieldName']] )) { $aFields[$aField['sFieldName']] = ''; } - $sQuery .= "'" . (isset( $aFields[$aField['sFieldName']] ) ? mysql_real_escape_string( $aFields[$aField['sFieldName']] ) : '') . "',"; + $sQuery .= "'" . (isset( $aFields[$aField['sFieldName']] ) ? @mysql_real_escape_string( $aFields[$aField['sFieldName']] ) : '') . "',"; break; case 'date': $mysqlDate = (isset( $aFields[$aField['sFieldName']] ) ? $aFields[$aField['sFieldName']] : ''); From 981434725872cff2a4cc54a34a1fec4f14ba6460 Mon Sep 17 00:00:00 2001 From: Julio Cesar Laura Date: Thu, 21 Mar 2013 13:38:31 -0400 Subject: [PATCH 4/9] BUG 11021: Change the role names from PROCESSMAKER_XXXX to only "XXXX" IMPROVEMENT --- rbac/engine/classes/model/Roles.php | 5 +++++ workflow/engine/classes/model/Users.php | 5 +++++ workflow/engine/templates/users/users.js | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/rbac/engine/classes/model/Roles.php b/rbac/engine/classes/model/Roles.php index ffa8f5007..cbd429460 100755 --- a/rbac/engine/classes/model/Roles.php +++ b/rbac/engine/classes/model/Roles.php @@ -84,6 +84,11 @@ class Roles extends BaseRoles { $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow = $oDataset->getRow(); + + $roles = new Roles(); + $roles->load($aRow['ROL_UID']); + $aRow['ROL_NAME'] = $roles->getRolName(); + if (is_array($aRow)) { return $aRow; } else { diff --git a/workflow/engine/classes/model/Users.php b/workflow/engine/classes/model/Users.php index 745cde70b..9ef2ab0ec 100755 --- a/workflow/engine/classes/model/Users.php +++ b/workflow/engine/classes/model/Users.php @@ -141,6 +141,11 @@ class Users extends BaseUsers $aFields["USR_COUNTRY_NAME"] = (!empty($aIsoCountry["IC_NAME"]))? $aIsoCountry["IC_NAME"] : ""; $aFields["USR_CITY_NAME"] = (!empty($aIsoSubdivision["IS_NAME"]))? $aIsoSubdivision["IS_NAME"] : ""; $aFields["USR_LOCATION_NAME"] = (!empty($aIsoLocation["IL_NAME"]))? $aIsoLocation["IL_NAME"] : ""; + + require_once PATH_RBAC . "model/Roles.php"; + $roles = new Roles(); + $role = $roles->loadByCode($aFields['USR_ROLE']); + $aFields['USR_ROLE_NAME'] = $role['ROL_NAME']; $result = $aFields; diff --git a/workflow/engine/templates/users/users.js b/workflow/engine/templates/users/users.js index 900a617fa..35ae5c294 100644 --- a/workflow/engine/templates/users/users.js +++ b/workflow/engine/templates/users/users.js @@ -1196,7 +1196,7 @@ function loadUserData() Ext.getCmp("USR_REPLACED_BY2").setText(data.user.REPLACED_NAME); Ext.getCmp("USR_DUE_DATE2").setText(data.user.USR_DUE_DATE); Ext.getCmp("USR_STATUS2").setText(_('ID_' + data.user.USR_STATUS)); - Ext.getCmp("USR_ROLE2").setText(data.user.USR_ROLE); + Ext.getCmp("USR_ROLE2").setText(data.user.USR_ROLE_NAME); Ext.getCmp("PREF_DEFAULT_MAIN_MENU_OPTION2").setText(data.user.MENUSELECTED_NAME); Ext.getCmp("PREF_DEFAULT_CASES_MENUSELECTED2").setText(data.user.CASES_MENUSELECTED_NAME); From fa4d06c691673a8441257605bb49cf86242b6d73 Mon Sep 17 00:00:00 2001 From: Vera Osokina Date: Thu, 21 Mar 2013 16:29:58 -0400 Subject: [PATCH 5/9] Improvement add Hook before create users --- rbac/engine/classes/model/RbacUsers.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rbac/engine/classes/model/RbacUsers.php b/rbac/engine/classes/model/RbacUsers.php index 3b662d873..3a9c44b85 100755 --- a/rbac/engine/classes/model/RbacUsers.php +++ b/rbac/engine/classes/model/RbacUsers.php @@ -197,7 +197,7 @@ class RbacUsers extends BaseRbacUsers $pluginRegistry = & PMPluginRegistry::getSingleton(); if ($pluginRegistry->existsTrigger(PM_BEFORE_CREATE_USER)) { try { - $pluginRegistry->executeTriggers(PM_BEFORE_CREATE_USER); + $pluginRegistry->executeTriggers(PM_BEFORE_CREATE_USER, null); } catch(Exception $error) { throw new Exception($error->getMessage()); } From e2d48fb9de516d3cf2fa6ec56d9adb4d1f7e04b7 Mon Sep 17 00:00:00 2001 From: Victor Saisa Lopez Date: Thu, 21 Mar 2013 17:19:54 -0400 Subject: [PATCH 6/9] BUG 0000 "Problem in the ordering of the column 'current..." SOLVED - Problem in the ordering of the column "current user" and "task" in casesList - Solved problem the ordering, has taken into account the settings made in ADMIN>Settings>Environment * Available from version ProcessMaker-2.0.46 --- .../engine/classes/class.applications.php | 44 ++++++++++++++++--- 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/workflow/engine/classes/class.applications.php b/workflow/engine/classes/class.applications.php index c1fda8295..d7cfba43b 100644 --- a/workflow/engine/classes/class.applications.php +++ b/workflow/engine/classes/class.applications.php @@ -394,12 +394,44 @@ class Applications $totalCount = AppCacheViewPeer::doCount($CriteriaCount, $distinct); } - //add sortable options - if ($sort != '') { - if ($dir == 'DESC') { - $Criteria->addDescendingOrderByColumn( $sort ); + //Add sortable options + if ($sort != "") { + //Current delegation (*) + if (($action == "sent" || $action == "search" || $action == "simple_search" || $action == "to_revise" || $action == "to_reassign") && ($status != "TO_DO")) { + switch ($sort) { + case "APP_CACHE_VIEW.APP_CURRENT_USER": + $sort = "USRCR_USR_LASTNAME"; + + $confEnvSetting = $conf->getConfiguration("ENVIRONMENT_SETTINGS", ""); + + if (is_array($confEnvSetting)) { + $arrayAux = explode(" ", str_replace(array("(", ")", ","), array(null, null, null), $confEnvSetting["format"])); + + if (isset($arrayAux[0])) { + switch (trim($arrayAux[0])) { + case "@userName": + $sort = "USRCR_USR_USERNAME"; + break; + case "@firstName": + $sort = "USRCR_USR_FIRSTNAME"; + break; + case "@lastName": + $sort = "USRCR_USR_LASTNAME"; + break; + } + } + } + break; + case "APP_CACHE_VIEW.APP_TAS_TITLE": + $sort = "APPCVCR_APP_TAS_TITLE"; + break; + } + } + + if ($dir == "DESC") { + $Criteria->addDescendingOrderByColumn($sort); } else { - $Criteria->addAscendingOrderByColumn( $sort ); + $Criteria->addAscendingOrderByColumn($sort); } } @@ -444,7 +476,7 @@ class Applications $maxDataset->close(); }*/ - //Current delegation + //Current delegation (*) if (($action == "sent" || $action == "search" || $action == "simple_search" || $action == "to_revise" || $action == "to_reassign") && ($status != "TO_DO")) { //Current task $aRow["APP_TAS_TITLE"] = $aRow["APPCVCR_APP_TAS_TITLE"]; From d51f9e221f26d389c3d158feceb0f8de638c4fa0 Mon Sep 17 00:00:00 2001 From: Marco Antonio Nina Date: Fri, 22 Mar 2013 12:13:35 -0400 Subject: [PATCH 7/9] Improvement dynaforms properties adjust grid width --- workflow/engine/xmlform/dynaforms/dynaforms_Properties.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/xmlform/dynaforms/dynaforms_Properties.xml b/workflow/engine/xmlform/dynaforms/dynaforms_Properties.xml index 1943ff42d..4a8b93a5e 100755 --- a/workflow/engine/xmlform/dynaforms/dynaforms_Properties.xml +++ b/workflow/engine/xmlform/dynaforms/dynaforms_Properties.xml @@ -58,7 +58,7 @@ Show print dynaform button - + Adjust the grid width to the width of the main form