Merge remote branch 'upstream/master'

This commit is contained in:
Marco Antonio Nina
2014-06-27 08:48:55 -04:00
40 changed files with 420 additions and 108 deletions

View File

@@ -326,9 +326,7 @@ Bootstrap::registerClass('UsersPeer', PATH_HOME . "engine/classes/mode
Bootstrap::registerClass('Xml_Node', PATH_GULLIVER . "class.xmlDocument.php");
G::LoadClass("case");
G::LoadClass("dates");
G::LoadClass("pmScript");
if (!defined('SYS_SYS')) {
$sObject = $argv[1];
@@ -451,6 +449,13 @@ if (!defined('SYS_SYS')) {
function processWorkspace()
{
try {
Bootstrap::LoadClass("plugin");
$oPluginRegistry =& PMPluginRegistry::getSingleton();
if (file_exists(PATH_DATA_SITE . 'plugin.singleton')) {
$oPluginRegistry->unSerializeInstance(file_get_contents(PATH_DATA_SITE . 'plugin.singleton'));
}
Bootstrap::LoadClass("case");
global $sObject;
global $sLastExecution;
@@ -578,11 +583,7 @@ function executePlugins()
// Executing registered cron files
// -> Get registered cron files
Bootstrap::LoadClass( 'plugin' );
$oPluginRegistry =& PMPluginRegistry::getSingleton();
if (file_exists(PATH_DATA_SITE . 'plugin.singleton')) {
$oPluginRegistry->unSerializeInstance(file_get_contents(PATH_DATA_SITE . 'plugin.singleton'));
}
$cronFiles = $oPluginRegistry->getCronFiles();
// -> Execute functions

View File

@@ -512,16 +512,11 @@ class Cases
try {
$oApp = new Application;
$aFields = $oApp->Load($sAppUid);
//$aFields = $oApp->toArray(BasePeer::TYPE_FIELDNAME);
$appData = @unserialize($aFields['APP_DATA']);
// BUG 8134, FIX!// for single/double quote troubles // Unserialize with utf8 content get trouble
if ($appData === false) {
$appData = preg_replace('!s:(\d+):"(.*?)";!e', "'s:'.strlen('$2').':\"$2\";'", $aFields['APP_DATA']);
$appData = @unserialize($appData);
}
$appData = self::unserializeData($aFields['APP_DATA']);
$aFields['APP_DATA'] = G::array_merges(G::getSystemConstants(), $appData);
switch ($oApp->getAppStatus()) {
case 'COMPLETED':
$aFields['STATUS'] = G::LoadTranslation('ID_COMPLETED');
@@ -6456,13 +6451,13 @@ class Cases
$row[] = $aUser['USR_UID'];
}
}
global $RBAC;
//Adding the actual user if this has the PM_REASSIGNCASE permission assigned.
global $RBAC;
//Adding the actual user if this has the PM_REASSIGNCASE permission assigned.
if ($RBAC->userCanAccess('PM_REASSIGNCASE') == 1){
if(!in_array($RBAC->aUserInfo['USER_INFO']['USR_UID'], $row)){
$row[] = $RBAC->aUserInfo['USER_INFO']['USR_UID'];
}
}
}
require_once 'classes/model/Users.php';
@@ -6728,4 +6723,16 @@ class Cases
}
}
}
public function unserializeData($data) {
$unserializedData = @unserialize($data);
// BUG 8134, FIX!// for single/double quote troubles // Unserialize with utf8 content get trouble
if ($unserializedData === false) {
$unserializedData = preg_replace('!s:(\d+):"(.*?)";!e', "'s:'.strlen('$2').':\"$2\";'", $data);
$unserializedData = @unserialize($unserializedData);
}
return $unserializedData;
}
}

View File

@@ -3339,6 +3339,7 @@ class processMap
$oCriteria->addJoin(ProcessUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
$oCriteria->add(ProcessUserPeer::PU_TYPE, 'SUPERVISOR');
$oCriteria->add(ProcessUserPeer::PRO_UID, $sProcessUID);
$oCriteria->add(UsersPeer::USR_STATUS, "CLOSED", Criteria::NOT_EQUAL);
$oCriteria->addAscendingOrderByColumn(UsersPeer::USR_FIRSTNAME);
$oDataset = ProcessUserPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);

View File

@@ -361,6 +361,8 @@ class AppCacheView extends BaseAppCacheView
$c2 = new Criteria();
$c2->clearSelectColumns();
$c2->addSelectColumn(AppDelegationPeer::APP_UID);
$c2->addSelectColumn(ApplicationPeer::APP_DATA);
$c2->addJoin(AppDelegationPeer::APP_UID, ApplicationPeer::APP_UID, Criteria::LEFT_JOIN);
$c2->add(AppDelegationPeer::TAS_UID, $row['TAS_UID']);
$c2->add(AppDelegationPeer::USR_UID, '');
$c2->add(AppDelegationPeer::DEL_THREAD_STATUS, 'OPEN');
@@ -368,10 +370,11 @@ class AppCacheView extends BaseAppCacheView
$rs2->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rs2->next();
while ($row2 = $rs2->getRow()) {
$caseData = $caseInstance->LoadCase($row2['APP_UID']);
if (isset($caseData['APP_DATA'][$tasGroupVariable])) {
if (trim($caseData['APP_DATA'][$tasGroupVariable]) != '') {
if (in_array(trim($caseData['APP_DATA'][$tasGroupVariable]), $aGroups)) {
$caseData = $caseInstance->unserializeData($row2['APP_DATA']);
if (isset($caseData[$tasGroupVariable])) {
if (trim($caseData[$tasGroupVariable]) != '') {
if (in_array(trim($caseData[$tasGroupVariable]), $aGroups)) {
$cases[] = $row2['APP_UID'];
}
}

View File

@@ -73,6 +73,8 @@ class DynaformMapBuilder
$tMap->addColumn('DYN_FILENAME', 'DynFilename', 'string', CreoleTypes::VARCHAR, true, 100);
$tMap->addColumn('DYN_CONTENT', 'DynContent', 'string', CreoleTypes::LONGVARCHAR, false, null);
$tMap->addValidator('DYN_TYPE', 'validValues', 'propel.validator.ValidValuesValidator', 'xmlform|grid', 'Please select a valid dynaform type.');
} // doBuild()

View File

@@ -51,6 +51,12 @@ abstract class BaseDynaform extends BaseObject implements Persistent
*/
protected $dyn_filename = '';
/**
* The value for the dyn_content field.
* @var string
*/
protected $dyn_content;
/**
* Flag to prevent endless save loop, if this object is referenced
* by another object which falls in this transaction.
@@ -109,6 +115,17 @@ abstract class BaseDynaform extends BaseObject implements Persistent
return $this->dyn_filename;
}
/**
* Get the [dyn_content] column value.
*
* @return string
*/
public function getDynContent()
{
return $this->dyn_content;
}
/**
* Set the value of [dyn_uid] column.
*
@@ -197,6 +214,28 @@ abstract class BaseDynaform extends BaseObject implements Persistent
} // setDynFilename()
/**
* Set the value of [dyn_content] column.
*
* @param string $v new value
* @return void
*/
public function setDynContent($v)
{
// Since the native PHP type for this column is string,
// we will cast the input to a string (if it is not).
if ($v !== null && !is_string($v)) {
$v = (string) $v;
}
if ($this->dyn_content !== $v) {
$this->dyn_content = $v;
$this->modifiedColumns[] = DynaformPeer::DYN_CONTENT;
}
} // setDynContent()
/**
* Hydrates (populates) the object variables with values from the database resultset.
*
@@ -222,12 +261,14 @@ abstract class BaseDynaform extends BaseObject implements Persistent
$this->dyn_filename = $rs->getString($startcol + 3);
$this->dyn_content = $rs->getString($startcol + 4);
$this->resetModified();
$this->setNew(false);
// FIXME - using NUM_COLUMNS may be clearer.
return $startcol + 4; // 4 = DynaformPeer::NUM_COLUMNS - DynaformPeer::NUM_LAZY_LOAD_COLUMNS).
return $startcol + 5; // 5 = DynaformPeer::NUM_COLUMNS - DynaformPeer::NUM_LAZY_LOAD_COLUMNS).
} catch (Exception $e) {
throw new PropelException("Error populating Dynaform object", $e);
@@ -443,6 +484,9 @@ abstract class BaseDynaform extends BaseObject implements Persistent
case 3:
return $this->getDynFilename();
break;
case 4:
return $this->getDynContent();
break;
default:
return null;
break;
@@ -467,6 +511,7 @@ abstract class BaseDynaform extends BaseObject implements Persistent
$keys[1] => $this->getProUid(),
$keys[2] => $this->getDynType(),
$keys[3] => $this->getDynFilename(),
$keys[4] => $this->getDynContent(),
);
return $result;
}
@@ -510,6 +555,9 @@ abstract class BaseDynaform extends BaseObject implements Persistent
case 3:
$this->setDynFilename($value);
break;
case 4:
$this->setDynContent($value);
break;
} // switch()
}
@@ -549,6 +597,10 @@ abstract class BaseDynaform extends BaseObject implements Persistent
$this->setDynFilename($arr[$keys[3]]);
}
if (array_key_exists($keys[4], $arr)) {
$this->setDynContent($arr[$keys[4]]);
}
}
/**
@@ -576,6 +628,10 @@ abstract class BaseDynaform extends BaseObject implements Persistent
$criteria->add(DynaformPeer::DYN_FILENAME, $this->dyn_filename);
}
if ($this->isColumnModified(DynaformPeer::DYN_CONTENT)) {
$criteria->add(DynaformPeer::DYN_CONTENT, $this->dyn_content);
}
return $criteria;
}
@@ -636,6 +692,8 @@ abstract class BaseDynaform extends BaseObject implements Persistent
$copyObj->setDynFilename($this->dyn_filename);
$copyObj->setDynContent($this->dyn_content);
$copyObj->setNew(true);

View File

@@ -25,7 +25,7 @@ abstract class BaseDynaformPeer
const CLASS_DEFAULT = 'classes.model.Dynaform';
/** The total number of columns. */
const NUM_COLUMNS = 4;
const NUM_COLUMNS = 5;
/** The number of lazy-loaded columns. */
const NUM_LAZY_LOAD_COLUMNS = 0;
@@ -43,6 +43,9 @@ abstract class BaseDynaformPeer
/** the column name for the DYN_FILENAME field */
const DYN_FILENAME = 'DYNAFORM.DYN_FILENAME';
/** the column name for the DYN_CONTENT field */
const DYN_CONTENT = 'DYNAFORM.DYN_CONTENT';
/** The PHP to DB Name Mapping */
private static $phpNameMap = null;
@@ -54,10 +57,10 @@ abstract class BaseDynaformPeer
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
private static $fieldNames = array (
BasePeer::TYPE_PHPNAME => array ('DynUid', 'ProUid', 'DynType', 'DynFilename', ),
BasePeer::TYPE_COLNAME => array (DynaformPeer::DYN_UID, DynaformPeer::PRO_UID, DynaformPeer::DYN_TYPE, DynaformPeer::DYN_FILENAME, ),
BasePeer::TYPE_FIELDNAME => array ('DYN_UID', 'PRO_UID', 'DYN_TYPE', 'DYN_FILENAME', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, )
BasePeer::TYPE_PHPNAME => array ('DynUid', 'ProUid', 'DynType', 'DynFilename', 'DynContent', ),
BasePeer::TYPE_COLNAME => array (DynaformPeer::DYN_UID, DynaformPeer::PRO_UID, DynaformPeer::DYN_TYPE, DynaformPeer::DYN_FILENAME, DynaformPeer::DYN_CONTENT, ),
BasePeer::TYPE_FIELDNAME => array ('DYN_UID', 'PRO_UID', 'DYN_TYPE', 'DYN_FILENAME', 'DYN_CONTENT', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, )
);
/**
@@ -67,10 +70,10 @@ abstract class BaseDynaformPeer
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
*/
private static $fieldKeys = array (
BasePeer::TYPE_PHPNAME => array ('DynUid' => 0, 'ProUid' => 1, 'DynType' => 2, 'DynFilename' => 3, ),
BasePeer::TYPE_COLNAME => array (DynaformPeer::DYN_UID => 0, DynaformPeer::PRO_UID => 1, DynaformPeer::DYN_TYPE => 2, DynaformPeer::DYN_FILENAME => 3, ),
BasePeer::TYPE_FIELDNAME => array ('DYN_UID' => 0, 'PRO_UID' => 1, 'DYN_TYPE' => 2, 'DYN_FILENAME' => 3, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, )
BasePeer::TYPE_PHPNAME => array ('DynUid' => 0, 'ProUid' => 1, 'DynType' => 2, 'DynFilename' => 3, 'DynContent' => 4, ),
BasePeer::TYPE_COLNAME => array (DynaformPeer::DYN_UID => 0, DynaformPeer::PRO_UID => 1, DynaformPeer::DYN_TYPE => 2, DynaformPeer::DYN_FILENAME => 3, DynaformPeer::DYN_CONTENT => 4, ),
BasePeer::TYPE_FIELDNAME => array ('DYN_UID' => 0, 'PRO_UID' => 1, 'DYN_TYPE' => 2, 'DYN_FILENAME' => 3, 'DYN_CONTENT' => 4, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, )
);
/**
@@ -179,6 +182,8 @@ abstract class BaseDynaformPeer
$criteria->addSelectColumn(DynaformPeer::DYN_FILENAME);
$criteria->addSelectColumn(DynaformPeer::DYN_CONTENT);
}
const COUNT = 'COUNT(DYNAFORM.DYN_UID)';

View File

@@ -348,8 +348,8 @@ abstract class BaseHolidayPeer
$criteria = $values->buildCriteria(); // build Criteria from Holiday object
}
$criteria->remove(HolidayPeer::HLD_UID); // remove pkey col since this table uses auto-increment
//$criteria->remove(HolidayPeer::HLD_UID); // remove pkey col since this table uses auto-increment
// Set the correct dbName
$criteria->setDbName(self::DATABASE_NAME);

View File

@@ -151,7 +151,7 @@ abstract class BaseOutputDocument extends BaseObject implements Persistent
* The value for the out_doc_open_type field.
* @var int
*/
protected $out_doc_open_type = 0;
protected $out_doc_open_type = 1;
/**
* Flag to prevent endless save loop, if this object is referenced
@@ -853,7 +853,7 @@ abstract class BaseOutputDocument extends BaseObject implements Persistent
$v = (int) $v;
}
if ($this->out_doc_open_type !== $v || $v === 0) {
if ($this->out_doc_open_type !== $v || $v === 1) {
$this->out_doc_open_type = $v;
$this->modifiedColumns[] = OutputDocumentPeer::OUT_DOC_OPEN_TYPE;
}

View File

@@ -73,7 +73,7 @@ abstract class BaseWebEntry extends BaseObject implements Persistent
* The value for the we_data field.
* @var string
*/
protected $we_data = '';
protected $we_data;
/**
* The value for the we_create_usr_uid field.
@@ -456,7 +456,7 @@ abstract class BaseWebEntry extends BaseObject implements Persistent
$v = (string) $v;
}
if ($this->we_data !== $v || $v === '') {
if ($this->we_data !== $v) {
$this->we_data = $v;
$this->modifiedColumns[] = WebEntryPeer::WE_DATA;
}

View File

@@ -458,6 +458,7 @@
<column name="PRO_UID" type="VARCHAR" size="32" required="true" default="0"/>
<column name="DYN_TYPE" type="VARCHAR" size="20" required="true" default="xmlform"/>
<column name="DYN_FILENAME" type="VARCHAR" size="100" required="true" default=""/>
<column name="DYN_CONTENT" type="LONGVARCHAR"/>
<validator column="DYN_TYPE">
<rule name="validValues" value="xmlform|grid" message="Please select a valid dynaform type."/>
</validator>

View File

@@ -15,6 +15,8 @@ class Admin extends Controller
public function system ()
{
global $RBAC;
$RBAC->requirePermissions( 'PM_SETUP' );
require_once PATH_CONTROLLERS . 'main.php';
G::loadClass( 'system' );
$skinsList = System::getSkingList();
@@ -60,6 +62,8 @@ class Admin extends Controller
public function uxList ()
{
global $RBAC;
$RBAC->requirePermissions( 'PM_SETUP' );
require_once PATH_CONTROLLERS . 'adminProxy.php';
$this->includeExtJS( 'admin/uxUsersList' );
G::LoadClass( 'configuration' );

View File

@@ -16,6 +16,12 @@ class Dashboard extends Controller
// Class constructor
public function __construct ()
{
global $RBAC;
if ($RBAC->userCanAccess('PM_DASHBOARD') != 1) {
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
G::header( 'location: login/login' );
exit(0);
}
G::LoadClass( 'pmDashlet' );
$this->pmDashlet = new PMDashlet();
}

View File

@@ -204,6 +204,7 @@ CREATE TABLE `DYNAFORM`
`PRO_UID` VARCHAR(32) default '0' NOT NULL,
`DYN_TYPE` VARCHAR(20) default 'xmlform' NOT NULL,
`DYN_FILENAME` VARCHAR(100) default '' NOT NULL,
`DYN_CONTENT` MEDIUMTEXT,
PRIMARY KEY (`DYN_UID`)
)ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Forms required';
#-----------------------------------------------------------------------------

View File

@@ -12,7 +12,7 @@ var stagesmap=function(){
render:{
base:function(xml) {
this.panels.editor.loader.hide();
this.data.db=xml.xmlhttp.responseText.parseJSON().concat({});
this.data.db=xml.xmlhttp.responseText.parseJSON().concatMaborak({});
if (this.options.rw===true) {
this.menu = new this.parent.module.app.menuRight();
this.menu.make({
@@ -433,7 +433,7 @@ stagesmap.prototype={
rw :true,
mi :true,
hideMenu:true
}.concat(this.options || {});
}.concatMaborak(this.options || {});
this.options.target = this.parent.dom.element(this.options.target);
if(!this.validate()){return false;}
this.observers = {

View File

@@ -73,6 +73,13 @@ try {
if ($_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] != 0) {
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = $oCase->getTriggerNames( $triggers );
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = $triggers;
$oProcess = new Process();
$oProcessFieds = $oProcess->Load( $_SESSION['PROCESS'] );
//trigger debug routines...
if (isset( $oProcessFieds['PRO_DEBUG'] ) && $oProcessFieds['PRO_DEBUG']) {
$trigger_debug_session = true;
}
}
if ($_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] != 0) {

View File

@@ -22,9 +22,11 @@
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/
global $RBAC;
if (($RBAC_Response = $RBAC->userCanAccess( "PM_LOGIN" )) != 1) {
return $RBAC_Response;
}
$RBAC->requirePermissions( 'PM_SETUP' );
$G_PUBLISH = new Publisher();
G::LoadClass( 'configuration' );

View File

@@ -354,7 +354,7 @@ switch ($_POST['action']) {
$rsCriteria = TaskUserPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
if($rsCriteria->next() != 0) {
if ($rsCriteria->next()) {
$message = "ERROR";
}

View File

@@ -142,15 +142,31 @@ $_SESSION ['_DBArray'] = $_DBArray;
$aField ['LOGIN_VERIFY_MSG'] = G::loadTranslation ('LOGIN_VERIFY_MSG');
$aField['USER_LANG'] = SYS_LANG;
//Get Server Configuration
//G::LoadClass ('serverConfiguration'); //already called
$oServerConf = & serverConf::getSingleton ();
$G_PUBLISH = new Publisher ();
if ($oServerConf->getProperty ('LOGIN_NO_WS')) {
$G_PUBLISH->AddContent ('xmlform', 'xmlform', 'login/sysLoginNoWS', '', $aField, 'sysLogin');
} else {
$G_PUBLISH->AddContent ('xmlform', 'xmlform', 'login/sysLogin', '', $aField, 'sysLogin');
if (!defined('WS_IN_LOGIN')) {
define('WS_IN_LOGIN', 'serverconf');
}
$fileLogin = 'login/sysLogin';
switch (WS_IN_LOGIN) {
case 'serverconf':
//Get Server Configuration
$oServerConf = & serverConf::getSingleton ();
if ($oServerConf->getProperty ('LOGIN_NO_WS')) {
$fileLogin = 'login/sysLoginNoWS';
} else {
$fileLogin = 'login/sysLogin';
}
break;
case 'no':
$fileLogin = 'login/sysLoginNoWS';
break;
case 'yes':
$fileLogin = 'login/sysLogin';
break;
default:
$fileLogin = 'login/sysLogin';
break;
}
$G_PUBLISH->AddContent ('xmlform', 'xmlform', $fileLogin, '', $aField, 'sysLogin');
G::RenderPage ("publish");

View File

@@ -23,6 +23,8 @@
*/
//$oHeadPublisher = & headPublisher::getSingleton();
global $RBAC;
$RBAC->requirePermissions( 'PM_FACTORY' );
G::loadClass( 'configuration' );
$conf = new Configurations();

View File

@@ -1,4 +1,6 @@
<?php
global $RBAC;
$RBAC->requirePermissions( 'PM_SETUP' );
// header('Pragma: no-cache');
// header('Cache-Control: no-store, no-cache, must-revalidate');

View File

@@ -21,6 +21,8 @@
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/
global $RBAC;
$RBAC->requirePermissions( 'PM_SETUP' );
$oHeadPublisher = & headPublisher::getSingleton();
$oHeadPublisher->addExtJsScript( 'setup/clearCompiled', true ); //adding a javascript file .js

View File

@@ -1,4 +1,7 @@
<?php
global $RBAC;
$RBAC->requirePermissions( 'PM_SETUP' );
G::loadClass( 'configuration' );
$c = new Configurations();
$oHeadPublisher = & headPublisher::getSingleton();

View File

@@ -21,6 +21,9 @@
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/
global $RBAC;
$RBAC->requirePermissions( 'PM_SETUP' );
G::loadClass( 'configuration' );
$oConf = new Configurations();

View File

@@ -21,6 +21,8 @@
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/
global $RBAC;
$RBAC->requirePermissions( 'PM_SETUP' );
$headPublisher = & headPublisher::getSingleton();
$headPublisher->addExtJsScript( 'setup/pluginsMain', false );

View File

@@ -21,6 +21,9 @@
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/
global $RBAC;
$RBAC->requirePermissions( 'PM_SETUP' );
$oHeadPublisher = & headPublisher::getSingleton();
G::LoadClass( 'serverConfiguration' );
$oServerConf = & serverConf::getSingleton();

View File

@@ -1,4 +1,7 @@
<?php
global $RBAC;
$RBAC->requirePermissions( 'PM_SETUP' );
$option = (isset($_GET["option"]))? $_GET["option"] : null;
switch ($option) {

View File

@@ -210,6 +210,14 @@ try {
$criteria->add( DashletInstancePeer::DAS_INS_OWNER_UID, $UID );
$criteria->add( DashletInstancePeer::DAS_INS_OWNER_TYPE , 'USER');
DashletInstancePeer::doDelete( $criteria );
//Delete users as supervisor
$criteria = new Criteria("workflow");
$criteria->add(ProcessUserPeer::USR_UID, $UID, Criteria::EQUAL);
$criteria->add(ProcessUserPeer::PU_TYPE, "SUPERVISOR", Criteria::EQUAL);
ProcessUserPeer::doDelete($criteria);
break;
case 'changeUserStatus':
$response = new stdclass();
@@ -390,9 +398,9 @@ try {
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
$oCriteria->addSelectColumn(UsersPeer::USR_EMAIL);
$oCriteria->addSelectColumn(UsersPeer::USR_ROLE);
$oCriteria->addSelectColumn(UsersPeer::USR_DUE_DATE);
$oCriteria->addSelectColumn(UsersPeer::USR_STATUS);
$oCriteria->addSelectColumn(UsersPeer::USR_UX);
@@ -440,7 +448,7 @@ try {
$uRole = Array();
while ($oDataset->next()) {
$row = $oDataset->getRow();
try {
$uRole = $oRoles->loadByCode($row['USR_ROLE']);
} catch (exception $oError) {
@@ -456,7 +464,7 @@ try {
$row['DEP_TITLE'] = isset($aDepart[$row['USR_UID']]) ? $aDepart[$row['USR_UID']] : '';
$row['USR_UX'] = isset($uxList[$row['USR_UX']]) ? $uxList[$row['USR_UX']] : $uxList['NORMAL'];
$row['USR_AUTH_SOURCE'] = isset($aAuthSources[$row['USR_UID']]) ? $aAuthSources[$row['USR_UID']] : 'ProcessMaker (MYSQL)';
$rows[] = $row;
}
@@ -511,6 +519,29 @@ try {
$misc['REPLACED_NAME'] = $replaced_by;
echo '{success: true, userdata: ' . G::json_encode($data) . ', cases: ' . G::json_encode($aCount) . ', misc: ' . G::json_encode($misc) . '}';
break;
case "verifyIfUserAssignedAsSupervisor":
$supervisorUserUid = $_POST["supervisorUserUid"];
$message = "OK";
$criteria = new Criteria("workflow");
$criteria->addSelectColumn(ProcessUserPeer::PU_UID);
$criteria->add(ProcessUserPeer::USR_UID, $supervisorUserUid, Criteria::EQUAL);
$criteria->add(ProcessUserPeer::PU_TYPE, "SUPERVISOR", Criteria::EQUAL);
$rsCriteria = ProcessUserPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
if ($rsCriteria->next()) {
$message = "ERROR";
}
$response = array();
$response["result"] = $message;
echo G::json_encode($response);
break;
}
} catch (Exception $oException) {
die($oException->getMessage());

View File

@@ -367,6 +367,10 @@ class DynaForm
$dynaFormUid = $dynaForm->create($arrayData);
$oDynaform = \DynaformPeer::retrieveByPK( $dynaFormUid );
$oDynaform->setDynContent( $arrayData['DYN_CONTENT'] );
$oDynaform->save();
//Return
unset($arrayData["PRO_UID"]);
@@ -907,6 +911,7 @@ class DynaForm
$criteria->addAsColumn("DYN_TITLE", "CT.CON_VALUE");
$criteria->addAsColumn("DYN_DESCRIPTION", "CD.CON_VALUE");
$criteria->addSelectColumn(\DynaformPeer::DYN_TYPE);
$criteria->addSelectColumn(\DynaformPeer::DYN_CONTENT);
$criteria->addAlias("CT", \ContentPeer::TABLE_NAME);
$criteria->addAlias("CD", \ContentPeer::TABLE_NAME);
@@ -953,7 +958,8 @@ class DynaForm
$this->getFieldNameByFormatFieldName("DYN_UID") => $record["DYN_UID"],
$this->getFieldNameByFormatFieldName("DYN_TITLE") => $record["DYN_TITLE"],
$this->getFieldNameByFormatFieldName("DYN_DESCRIPTION") => $record["DYN_DESCRIPTION"] . "",
$this->getFieldNameByFormatFieldName("DYN_TYPE") => $record["DYN_TYPE"] . ""
$this->getFieldNameByFormatFieldName("DYN_TYPE") => $record["DYN_TYPE"] . "",
$this->getFieldNameByFormatFieldName("DYN_CONTENT") => $record["DYN_CONTENT"] . ""
);
} catch (\Exception $e) {
throw $e;

View File

@@ -152,15 +152,15 @@ class Bpmn extends Handler
}
self::log("Remove Project With Uid: {$this->prjUid}");
foreach ($this->getEvents() as $event) {
$this->removeEvent($event["EVN_UID"]);
}
foreach ($this->getActivities() as $activity) {
$this->removeActivity($activity["ACT_UID"]);
}
foreach ($this->getGateways() as $gateway) {
$this->removeGateway($gateway["GAT_UID"]);
}
foreach ($this->getEvents() as $event) {
$this->removeEvent($event["EVN_UID"]);
}
foreach ($this->getFlows() as $flow) {
$this->removeFlow($flow["FLO_UID"]);
}
@@ -483,8 +483,8 @@ class Bpmn extends Handler
{
try {
self::log("Remove Event: $evnUid");
$event = EventPeer::retrieveByPK($evnUid);
$event->delete();
self::log("Remove Event Success!");

View File

@@ -293,7 +293,7 @@ Ext.onReady(function(){
}
});
} else {
loadMaskStep.show();
loadMaskStep.show();
document.getElementById("openCaseFrame").src = node.attributes.url;
}
} else {
@@ -462,12 +462,12 @@ Ext.onReady(function(){
icon: Ext.MessageBox.ERROR,
buttons: Ext.MessageBox.OK,
fn : function(btn) {
try
try
{
prnt = parent.parent;
top.location = top.location;
}
catch (err)
catch (err)
{
parent.location = parent.location;
}
@@ -500,12 +500,12 @@ Ext.onReady(function(){
icon: Ext.MessageBox.ERROR,
buttons: Ext.MessageBox.OK,
fn : function(btn) {
try
try
{
prnt = parent.parent;
top.location = top.location;
}
catch (err)
catch (err)
{
parent.location = parent.location;
}
@@ -577,12 +577,12 @@ Ext.onReady(function(){
icon: Ext.MessageBox.ERROR,
buttons: Ext.MessageBox.OK,
fn : function(btn) {
try
try
{
prnt = parent.parent;
top.location = top.location;
}
catch (err)
catch (err)
{
parent.location = parent.location;
}
@@ -656,12 +656,12 @@ Ext.onReady(function(){
icon: Ext.MessageBox.ERROR,
buttons: Ext.MessageBox.OK,
fn : function(btn) {
try
try
{
prnt = parent.parent;
top.location = top.location;
}
catch (err)
catch (err)
{
parent.location = parent.location;
}
@@ -694,12 +694,12 @@ Ext.onReady(function(){
icon: Ext.MessageBox.ERROR,
buttons: Ext.MessageBox.OK,
fn : function(btn) {
try
try
{
prnt = parent.parent;
top.location = top.location;
}
catch (err)
catch (err)
{
parent.location = parent.location;
}
@@ -732,12 +732,12 @@ Ext.onReady(function(){
icon: Ext.MessageBox.ERROR,
buttons: Ext.MessageBox.OK,
fn : function(btn) {
try
try
{
prnt = parent.parent;
top.location = top.location;
}
catch (err)
catch (err)
{
parent.location = parent.location;
}
@@ -770,12 +770,12 @@ Ext.onReady(function(){
icon: Ext.MessageBox.ERROR,
buttons: Ext.MessageBox.OK,
fn : function(btn) {
try
try
{
prnt = parent.parent;
top.location = top.location;
}
catch (err)
catch (err)
{
parent.location = parent.location;
}
@@ -808,12 +808,12 @@ Ext.onReady(function(){
icon: Ext.MessageBox.ERROR,
buttons: Ext.MessageBox.OK,
fn : function(btn) {
try
try
{
prnt = parent.parent;
top.location = top.location;
}
catch (err)
catch (err)
{
parent.location = parent.location;
}
@@ -954,7 +954,7 @@ Ext.onReady(function(){
{header: _('ID_LASTNAME'), dataIndex: 'USR_LASTNAME', width: 300}
]
}),
sm: new Ext.grid.RowSelectionModel({singleSelect: true}),
store: store,
tbar:[
@@ -997,12 +997,12 @@ Ext.onReady(function(){
icon: Ext.MessageBox.ERROR,
buttons: Ext.MessageBox.OK,
fn : function(btn) {
try
try
{
prnt = parent.parent;
top.location = top.location;
}
catch (err)
catch (err)
{
parent.location = parent.location;
}
@@ -1153,12 +1153,12 @@ Ext.onReady(function(){
icon: Ext.MessageBox.ERROR,
buttons: Ext.MessageBox.OK,
fn : function(btn) {
try
try
{
prnt = parent.parent;
top.location = top.location;
}
catch (err)
catch (err)
{
parent.location = parent.location;
}
@@ -1191,12 +1191,12 @@ Ext.onReady(function(){
icon: Ext.MessageBox.ERROR,
buttons: Ext.MessageBox.OK,
fn : function(btn) {
try
try
{
prnt = parent.parent;
top.location = top.location;
}
catch (err)
catch (err)
{
parent.location = parent.location;
}
@@ -1300,12 +1300,12 @@ Ext.onReady(function(){
icon: Ext.MessageBox.ERROR,
buttons: Ext.MessageBox.OK,
fn : function(btn) {
try
try
{
prnt = parent.parent;
top.location = top.location;
}
catch (err)
catch (err)
{
parent.location = parent.location;
}
@@ -1386,12 +1386,12 @@ Ext.onReady(function(){
icon: Ext.MessageBox.ERROR,
buttons: Ext.MessageBox.OK,
fn : function(btn) {
try
try
{
prnt = parent.parent;
top.location = top.location;
}
catch (err)
catch (err)
{
parent.location = parent.location;
}

View File

@@ -494,6 +494,28 @@ DeleteUserAction = function(){
if (uid.data.USR_UID==user_admin){
Ext.Msg.alert(_('ID_USERS'), _('ID_CANNOT_DELETE_ADMIN_USER'));
}else{
var flagVerifyUserAssigSupervisor = 1;
Ext.Ajax.request({
url: "users_Ajax",
method: "POST",
params: {
"function": "verifyIfUserAssignedAsSupervisor",
supervisorUserUid: uid.data.USR_UID
},
success: function (response, opts) {
var dataRespuesta = Ext.util.JSON.decode(response.responseText);
if (dataRespuesta.result == "OK") {
flagVerifyUserAssigSupervisor = 0;
}
},
failure: function (response, opts){
//
}
});
viewport.getEl().mask(_('ID_PROCESSING'));
Ext.Ajax.request({
url: 'users_Ajax',
@@ -509,7 +531,9 @@ DeleteUserAction = function(){
}
);
}else{
Ext.Msg.confirm(_('ID_CONFIRM'), _('ID_MSG_CONFIRM_DELETE_USER'),
var msgConfirm = (flagVerifyUserAssigSupervisor == 1)? _("ID_MSG_CONFIRM_DELETE_USER_ASSINGED_SUPERVISOR") : _("ID_MSG_CONFIRM_DELETE_USER");
Ext.Msg.confirm(_('ID_CONFIRM'), msgConfirm,
function(btn){
if (btn=='yes') DeleteUser(uid.data.USR_UID);
}

View File

@@ -15,9 +15,13 @@
</SAVE>
<JS type="javascript" replacetags="1"><![CDATA[
var updateStage = function(oForm) {
ajax_post(oForm.action, oForm, 'POST');
Sm.data.db.stages[getField('THEINDEX').value].label = Sm.data.db.stages[getField('THEINDEX').value].object.elements.label.innerHTML = getField('STG_TITLE').value;
Sm.tmp.stagePanel.remove();
if (document.getElementById("form[STG_TITLE]").value.trim() != "") {
ajax_post(oForm.action, oForm, 'POST');
Sm.data.db.stages[getField('THEINDEX').value].label = Sm.data.db.stages[getField('THEINDEX').value].object.elements.label.innerHTML = getField('STG_TITLE').value;
Sm.tmp.stagePanel.remove();
} else {
msgBox("@G::LoadTranslation(ID_NAME_STG_TITLE_REQUIRE)", "alert");
}
};
]]></JS>
</dynaForm>

View File

@@ -320,6 +320,8 @@ define( 'MEMCACHED_ENABLED', $config['memcached'] );
define( 'MEMCACHED_SERVER', $config['memcached_server'] );
define( 'TIME_ZONE', $config['time_zone'] );
define ('WS_IN_LOGIN', isset($config['WS_IN_LOGIN']) ? $config['WS_IN_LOGIN'] : 'serverconf');
// IIS Compatibility, SERVER_ADDR doesn't exist on that env, so we need to define it.
$_SERVER['SERVER_ADDR'] = isset( $_SERVER['SERVER_ADDR'] ) ? $_SERVER['SERVER_ADDR'] : $_SERVER['SERVER_NAME'];