Merge remote-tracking branch 'upstream/3.0.1.6-Gmail' into 3.0.1.6-Gmail

This commit is contained in:
Marco A. Nina Mena
2015-11-13 09:37:30 -04:00
21 changed files with 552 additions and 212 deletions

View File

@@ -92,6 +92,8 @@ class labelsGmail
//The Subject to search the email
$subject = "[PM] " .$proName. " Case: ". $appNumber;
require_once PATH_TRUNK . 'vendor' . PATH_SEP . 'google' . PATH_SEP . 'apiclient' . PATH_SEP . 'src' . PATH_SEP . 'Google' . PATH_SEP . 'autoload.php';
require_once (PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "class.pmGoogleApi.php");
$pmGoogle = new PMGoogleApi();
$pmGoogle->setUser($mail);

View File

@@ -509,6 +509,9 @@ class pmDynaform
private function getValuesDependentFields($json)
{
if (!isset($this->record["DYN_CONTENT"])) {
return array();
}
$data = array();
if (isset($json->dbConnection) && isset($json->sql)) {
$salida = array();

View File

@@ -914,7 +914,8 @@ class wsBase
$aAttachment = null,
$showMessage = true,
$delIndex = 0,
$config = array()
$config = array(),
$gmail = 0
) {
try {
if (!class_exists('System')) {
@@ -969,8 +970,11 @@ class wsBase
$oCase = new Cases();
$oldFields = $oCase->loadCase( $caseId );
if($gmail == 1){
$pathEmail = PATH_DATA_SITE . 'mailTemplates' . PATH_SEP;
}else {
$pathEmail = PATH_DATA_SITE . 'mailTemplates' . PATH_SEP . $oldFields['PRO_UID'] . PATH_SEP;
}
$fileTemplate = $pathEmail . $sTemplate;
G::mk_dir( $pathEmail, 0777, true );

View File

@@ -264,6 +264,7 @@ class AppDelegation extends BaseAppDelegation
$c->addSelectColumn( AppDelegationPeer::DEL_INIT_DATE );
$c->addSelectColumn( AppDelegationPeer::DEL_TASK_DUE_DATE );
$c->addSelectColumn( AppDelegationPeer::DEL_FINISH_DATE );
$c->addSelectColumn( AppDelegationPeer::DEL_PREVIOUS );
$c->add( AppDelegationPeer::DEL_THREAD_STATUS, 'OPEN' );
$c->add( AppDelegationPeer::APP_UID, $AppUid );
@@ -287,6 +288,7 @@ class AppDelegation extends BaseAppDelegation
$case['DEL_INIT_DATE'] = $row['DEL_INIT_DATE'];
$case['DEL_TASK_DUE_DATE'] = $row['DEL_TASK_DUE_DATE'];
$case['DEL_FINISH_DATE'] = $row['DEL_FINISH_DATE'];
$case['DEL_PREVIOUS'] = $row['DEL_PREVIOUS'];
$aCases[] = $case;
$rs->next();
$row = $rs->getRow();

View File

@@ -729,5 +729,28 @@ class Dynaform extends BaseDynaform
}
return $flag;
}
}
/**
* verify if a dynaform is assigned some dynaform
*
* @param string $proUid the uid of the process
* @param string $dynUid the uid of the dynaform
*
* @return array
*/
public function verifyDynaformAssignDynaform ($dynUid, $proUid)
{
$res = array();
$oCriteria = new Criteria();
$oCriteria->addSelectColumn(DynaformPeer::DYN_UID);
$oCriteria->add(DynaformPeer::PRO_UID, $proUid);
$oCriteria->add(DynaformPeer::DYN_UID, $dynUid, Criteria::NOT_EQUAL);
$oCriteria->add(DynaformPeer::DYN_CONTENT, "%" . $dynUid . "%", Criteria::LIKE);
$oDataset = DynaformPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
while ($oDataset->next()) {
$res[] = $oDataset->getRow();
}
return $res;
}
}

View File

@@ -1,5 +1,28 @@
<?php
class EmailServer extends BaseEmailServer
{
/**
* Get the evn_description column value.
*
* @return string
*/
public function loadDefaultAccount ()
{
$c = new Criteria( 'workflow' );
$del = DBAdapter::getStringDelimiter();
$c->clearSelectColumns();
$c->addSelectColumn( EmailServerPeer::MESS_ACCOUNT );
$c->add( EmailServerPeer::MESS_DEFAULT, 1 );
$rs = EmailServerPeer::doSelectRS( $c, Propel::getDBConnection('workflow_ro') );
$rs->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$rs->next();
$row = $rs->getRow();
$response=$row;
return $response;
}
}

View File

@@ -923,6 +923,9 @@ class Process extends BaseProcess
$webBotTrigger = '';
switch ($action) {
case 'OPEN':
$var = ProcessPeer::PRO_TRI_OPEN;
break;
case 'DELETED':
$var = ProcessPeer::PRO_TRI_DELETED;
break;

View File

@@ -93,6 +93,12 @@ abstract class BaseProcess extends BaseObject implements Persistent
*/
protected $pro_subprocess = 0;
/**
* The value for the pro_tri_open field.
* @var string
*/
protected $pro_tri_open = '';
/**
* The value for the pro_tri_deleted field.
* @var string
@@ -366,6 +372,17 @@ abstract class BaseProcess extends BaseObject implements Persistent
return $this->pro_subprocess;
}
/**
* Get the [pro_tri_open] column value.
*
* @return string
*/
public function getProTriOpen()
{
return $this->pro_tri_open;
}
/**
* Get the [pro_tri_deleted] column value.
*
@@ -897,6 +914,28 @@ abstract class BaseProcess extends BaseObject implements Persistent
} // setProSubprocess()
/**
* Set the value of [pro_tri_open] column.
*
* @param string $v new value
* @return void
*/
public function setProTriOpen($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->pro_tri_open !== $v || $v === '') {
$this->pro_tri_open = $v;
$this->modifiedColumns[] = ProcessPeer::PRO_TRI_OPEN;
}
} // setProTriOpen()
/**
* Set the value of [pro_tri_deleted] column.
*
@@ -1450,58 +1489,60 @@ abstract class BaseProcess extends BaseObject implements Persistent
$this->pro_subprocess = $rs->getInt($startcol + 10);
$this->pro_tri_deleted = $rs->getString($startcol + 11);
$this->pro_tri_open = $rs->getString($startcol + 11);
$this->pro_tri_canceled = $rs->getString($startcol + 12);
$this->pro_tri_deleted = $rs->getString($startcol + 12);
$this->pro_tri_paused = $rs->getString($startcol + 13);
$this->pro_tri_canceled = $rs->getString($startcol + 13);
$this->pro_tri_reassigned = $rs->getString($startcol + 14);
$this->pro_tri_paused = $rs->getString($startcol + 14);
$this->pro_tri_unpaused = $rs->getString($startcol + 15);
$this->pro_tri_reassigned = $rs->getString($startcol + 15);
$this->pro_type_process = $rs->getString($startcol + 16);
$this->pro_tri_unpaused = $rs->getString($startcol + 16);
$this->pro_show_delegate = $rs->getInt($startcol + 17);
$this->pro_type_process = $rs->getString($startcol + 17);
$this->pro_show_dynaform = $rs->getInt($startcol + 18);
$this->pro_show_delegate = $rs->getInt($startcol + 18);
$this->pro_category = $rs->getString($startcol + 19);
$this->pro_show_dynaform = $rs->getInt($startcol + 19);
$this->pro_sub_category = $rs->getString($startcol + 20);
$this->pro_category = $rs->getString($startcol + 20);
$this->pro_industry = $rs->getInt($startcol + 21);
$this->pro_sub_category = $rs->getString($startcol + 21);
$this->pro_update_date = $rs->getTimestamp($startcol + 22, null);
$this->pro_industry = $rs->getInt($startcol + 22);
$this->pro_create_date = $rs->getTimestamp($startcol + 23, null);
$this->pro_update_date = $rs->getTimestamp($startcol + 23, null);
$this->pro_create_user = $rs->getString($startcol + 24);
$this->pro_create_date = $rs->getTimestamp($startcol + 24, null);
$this->pro_height = $rs->getInt($startcol + 25);
$this->pro_create_user = $rs->getString($startcol + 25);
$this->pro_width = $rs->getInt($startcol + 26);
$this->pro_height = $rs->getInt($startcol + 26);
$this->pro_title_x = $rs->getInt($startcol + 27);
$this->pro_width = $rs->getInt($startcol + 27);
$this->pro_title_y = $rs->getInt($startcol + 28);
$this->pro_title_x = $rs->getInt($startcol + 28);
$this->pro_debug = $rs->getInt($startcol + 29);
$this->pro_title_y = $rs->getInt($startcol + 29);
$this->pro_dynaforms = $rs->getString($startcol + 30);
$this->pro_debug = $rs->getInt($startcol + 30);
$this->pro_derivation_screen_tpl = $rs->getString($startcol + 31);
$this->pro_dynaforms = $rs->getString($startcol + 31);
$this->pro_cost = $rs->getFloat($startcol + 32);
$this->pro_derivation_screen_tpl = $rs->getString($startcol + 32);
$this->pro_unit_cost = $rs->getString($startcol + 33);
$this->pro_cost = $rs->getFloat($startcol + 33);
$this->pro_unit_cost = $rs->getString($startcol + 34);
$this->resetModified();
$this->setNew(false);
// FIXME - using NUM_COLUMNS may be clearer.
return $startcol + 34; // 34 = ProcessPeer::NUM_COLUMNS - ProcessPeer::NUM_LAZY_LOAD_COLUMNS).
return $startcol + 35; // 35 = ProcessPeer::NUM_COLUMNS - ProcessPeer::NUM_LAZY_LOAD_COLUMNS).
} catch (Exception $e) {
throw new PropelException("Error populating Process object", $e);
@@ -1739,72 +1780,75 @@ abstract class BaseProcess extends BaseObject implements Persistent
return $this->getProSubprocess();
break;
case 11:
return $this->getProTriDeleted();
return $this->getProTriOpen();
break;
case 12:
return $this->getProTriCanceled();
return $this->getProTriDeleted();
break;
case 13:
return $this->getProTriPaused();
return $this->getProTriCanceled();
break;
case 14:
return $this->getProTriReassigned();
return $this->getProTriPaused();
break;
case 15:
return $this->getProTriUnpaused();
return $this->getProTriReassigned();
break;
case 16:
return $this->getProTypeProcess();
return $this->getProTriUnpaused();
break;
case 17:
return $this->getProShowDelegate();
return $this->getProTypeProcess();
break;
case 18:
return $this->getProShowDynaform();
return $this->getProShowDelegate();
break;
case 19:
return $this->getProCategory();
return $this->getProShowDynaform();
break;
case 20:
return $this->getProSubCategory();
return $this->getProCategory();
break;
case 21:
return $this->getProIndustry();
return $this->getProSubCategory();
break;
case 22:
return $this->getProUpdateDate();
return $this->getProIndustry();
break;
case 23:
return $this->getProCreateDate();
return $this->getProUpdateDate();
break;
case 24:
return $this->getProCreateUser();
return $this->getProCreateDate();
break;
case 25:
return $this->getProHeight();
return $this->getProCreateUser();
break;
case 26:
return $this->getProWidth();
return $this->getProHeight();
break;
case 27:
return $this->getProTitleX();
return $this->getProWidth();
break;
case 28:
return $this->getProTitleY();
return $this->getProTitleX();
break;
case 29:
return $this->getProDebug();
return $this->getProTitleY();
break;
case 30:
return $this->getProDynaforms();
return $this->getProDebug();
break;
case 31:
return $this->getProDerivationScreenTpl();
return $this->getProDynaforms();
break;
case 32:
return $this->getProCost();
return $this->getProDerivationScreenTpl();
break;
case 33:
return $this->getProCost();
break;
case 34:
return $this->getProUnitCost();
break;
default:
@@ -1838,29 +1882,30 @@ abstract class BaseProcess extends BaseObject implements Persistent
$keys[8] => $this->getProShowMap(),
$keys[9] => $this->getProShowMessage(),
$keys[10] => $this->getProSubprocess(),
$keys[11] => $this->getProTriDeleted(),
$keys[12] => $this->getProTriCanceled(),
$keys[13] => $this->getProTriPaused(),
$keys[14] => $this->getProTriReassigned(),
$keys[15] => $this->getProTriUnpaused(),
$keys[16] => $this->getProTypeProcess(),
$keys[17] => $this->getProShowDelegate(),
$keys[18] => $this->getProShowDynaform(),
$keys[19] => $this->getProCategory(),
$keys[20] => $this->getProSubCategory(),
$keys[21] => $this->getProIndustry(),
$keys[22] => $this->getProUpdateDate(),
$keys[23] => $this->getProCreateDate(),
$keys[24] => $this->getProCreateUser(),
$keys[25] => $this->getProHeight(),
$keys[26] => $this->getProWidth(),
$keys[27] => $this->getProTitleX(),
$keys[28] => $this->getProTitleY(),
$keys[29] => $this->getProDebug(),
$keys[30] => $this->getProDynaforms(),
$keys[31] => $this->getProDerivationScreenTpl(),
$keys[32] => $this->getProCost(),
$keys[33] => $this->getProUnitCost(),
$keys[11] => $this->getProTriOpen(),
$keys[12] => $this->getProTriDeleted(),
$keys[13] => $this->getProTriCanceled(),
$keys[14] => $this->getProTriPaused(),
$keys[15] => $this->getProTriReassigned(),
$keys[16] => $this->getProTriUnpaused(),
$keys[17] => $this->getProTypeProcess(),
$keys[18] => $this->getProShowDelegate(),
$keys[19] => $this->getProShowDynaform(),
$keys[20] => $this->getProCategory(),
$keys[21] => $this->getProSubCategory(),
$keys[22] => $this->getProIndustry(),
$keys[23] => $this->getProUpdateDate(),
$keys[24] => $this->getProCreateDate(),
$keys[25] => $this->getProCreateUser(),
$keys[26] => $this->getProHeight(),
$keys[27] => $this->getProWidth(),
$keys[28] => $this->getProTitleX(),
$keys[29] => $this->getProTitleY(),
$keys[30] => $this->getProDebug(),
$keys[31] => $this->getProDynaforms(),
$keys[32] => $this->getProDerivationScreenTpl(),
$keys[33] => $this->getProCost(),
$keys[34] => $this->getProUnitCost(),
);
return $result;
}
@@ -1926,72 +1971,75 @@ abstract class BaseProcess extends BaseObject implements Persistent
$this->setProSubprocess($value);
break;
case 11:
$this->setProTriDeleted($value);
$this->setProTriOpen($value);
break;
case 12:
$this->setProTriCanceled($value);
$this->setProTriDeleted($value);
break;
case 13:
$this->setProTriPaused($value);
$this->setProTriCanceled($value);
break;
case 14:
$this->setProTriReassigned($value);
$this->setProTriPaused($value);
break;
case 15:
$this->setProTriUnpaused($value);
$this->setProTriReassigned($value);
break;
case 16:
$this->setProTypeProcess($value);
$this->setProTriUnpaused($value);
break;
case 17:
$this->setProShowDelegate($value);
$this->setProTypeProcess($value);
break;
case 18:
$this->setProShowDynaform($value);
$this->setProShowDelegate($value);
break;
case 19:
$this->setProCategory($value);
$this->setProShowDynaform($value);
break;
case 20:
$this->setProSubCategory($value);
$this->setProCategory($value);
break;
case 21:
$this->setProIndustry($value);
$this->setProSubCategory($value);
break;
case 22:
$this->setProUpdateDate($value);
$this->setProIndustry($value);
break;
case 23:
$this->setProCreateDate($value);
$this->setProUpdateDate($value);
break;
case 24:
$this->setProCreateUser($value);
$this->setProCreateDate($value);
break;
case 25:
$this->setProHeight($value);
$this->setProCreateUser($value);
break;
case 26:
$this->setProWidth($value);
$this->setProHeight($value);
break;
case 27:
$this->setProTitleX($value);
$this->setProWidth($value);
break;
case 28:
$this->setProTitleY($value);
$this->setProTitleX($value);
break;
case 29:
$this->setProDebug($value);
$this->setProTitleY($value);
break;
case 30:
$this->setProDynaforms($value);
$this->setProDebug($value);
break;
case 31:
$this->setProDerivationScreenTpl($value);
$this->setProDynaforms($value);
break;
case 32:
$this->setProCost($value);
$this->setProDerivationScreenTpl($value);
break;
case 33:
$this->setProCost($value);
break;
case 34:
$this->setProUnitCost($value);
break;
} // switch()
@@ -2062,95 +2110,99 @@ abstract class BaseProcess extends BaseObject implements Persistent
}
if (array_key_exists($keys[11], $arr)) {
$this->setProTriDeleted($arr[$keys[11]]);
$this->setProTriOpen($arr[$keys[11]]);
}
if (array_key_exists($keys[12], $arr)) {
$this->setProTriCanceled($arr[$keys[12]]);
$this->setProTriDeleted($arr[$keys[12]]);
}
if (array_key_exists($keys[13], $arr)) {
$this->setProTriPaused($arr[$keys[13]]);
$this->setProTriCanceled($arr[$keys[13]]);
}
if (array_key_exists($keys[14], $arr)) {
$this->setProTriReassigned($arr[$keys[14]]);
$this->setProTriPaused($arr[$keys[14]]);
}
if (array_key_exists($keys[15], $arr)) {
$this->setProTriUnpaused($arr[$keys[15]]);
$this->setProTriReassigned($arr[$keys[15]]);
}
if (array_key_exists($keys[16], $arr)) {
$this->setProTypeProcess($arr[$keys[16]]);
$this->setProTriUnpaused($arr[$keys[16]]);
}
if (array_key_exists($keys[17], $arr)) {
$this->setProShowDelegate($arr[$keys[17]]);
$this->setProTypeProcess($arr[$keys[17]]);
}
if (array_key_exists($keys[18], $arr)) {
$this->setProShowDynaform($arr[$keys[18]]);
$this->setProShowDelegate($arr[$keys[18]]);
}
if (array_key_exists($keys[19], $arr)) {
$this->setProCategory($arr[$keys[19]]);
$this->setProShowDynaform($arr[$keys[19]]);
}
if (array_key_exists($keys[20], $arr)) {
$this->setProSubCategory($arr[$keys[20]]);
$this->setProCategory($arr[$keys[20]]);
}
if (array_key_exists($keys[21], $arr)) {
$this->setProIndustry($arr[$keys[21]]);
$this->setProSubCategory($arr[$keys[21]]);
}
if (array_key_exists($keys[22], $arr)) {
$this->setProUpdateDate($arr[$keys[22]]);
$this->setProIndustry($arr[$keys[22]]);
}
if (array_key_exists($keys[23], $arr)) {
$this->setProCreateDate($arr[$keys[23]]);
$this->setProUpdateDate($arr[$keys[23]]);
}
if (array_key_exists($keys[24], $arr)) {
$this->setProCreateUser($arr[$keys[24]]);
$this->setProCreateDate($arr[$keys[24]]);
}
if (array_key_exists($keys[25], $arr)) {
$this->setProHeight($arr[$keys[25]]);
$this->setProCreateUser($arr[$keys[25]]);
}
if (array_key_exists($keys[26], $arr)) {
$this->setProWidth($arr[$keys[26]]);
$this->setProHeight($arr[$keys[26]]);
}
if (array_key_exists($keys[27], $arr)) {
$this->setProTitleX($arr[$keys[27]]);
$this->setProWidth($arr[$keys[27]]);
}
if (array_key_exists($keys[28], $arr)) {
$this->setProTitleY($arr[$keys[28]]);
$this->setProTitleX($arr[$keys[28]]);
}
if (array_key_exists($keys[29], $arr)) {
$this->setProDebug($arr[$keys[29]]);
$this->setProTitleY($arr[$keys[29]]);
}
if (array_key_exists($keys[30], $arr)) {
$this->setProDynaforms($arr[$keys[30]]);
$this->setProDebug($arr[$keys[30]]);
}
if (array_key_exists($keys[31], $arr)) {
$this->setProDerivationScreenTpl($arr[$keys[31]]);
$this->setProDynaforms($arr[$keys[31]]);
}
if (array_key_exists($keys[32], $arr)) {
$this->setProCost($arr[$keys[32]]);
$this->setProDerivationScreenTpl($arr[$keys[32]]);
}
if (array_key_exists($keys[33], $arr)) {
$this->setProUnitCost($arr[$keys[33]]);
$this->setProCost($arr[$keys[33]]);
}
if (array_key_exists($keys[34], $arr)) {
$this->setProUnitCost($arr[$keys[34]]);
}
}
@@ -2208,6 +2260,10 @@ abstract class BaseProcess extends BaseObject implements Persistent
$criteria->add(ProcessPeer::PRO_SUBPROCESS, $this->pro_subprocess);
}
if ($this->isColumnModified(ProcessPeer::PRO_TRI_OPEN)) {
$criteria->add(ProcessPeer::PRO_TRI_OPEN, $this->pro_tri_open);
}
if ($this->isColumnModified(ProcessPeer::PRO_TRI_DELETED)) {
$criteria->add(ProcessPeer::PRO_TRI_DELETED, $this->pro_tri_deleted);
}
@@ -2374,6 +2430,8 @@ abstract class BaseProcess extends BaseObject implements Persistent
$copyObj->setProSubprocess($this->pro_subprocess);
$copyObj->setProTriOpen($this->pro_tri_open);
$copyObj->setProTriDeleted($this->pro_tri_deleted);
$copyObj->setProTriCanceled($this->pro_tri_canceled);

View File

@@ -25,7 +25,7 @@ abstract class BaseProcessPeer
const CLASS_DEFAULT = 'classes.model.Process';
/** The total number of columns. */
const NUM_COLUMNS = 34;
const NUM_COLUMNS = 35;
/** The number of lazy-loaded columns. */
const NUM_LAZY_LOAD_COLUMNS = 0;
@@ -64,6 +64,9 @@ abstract class BaseProcessPeer
/** the column name for the PRO_SUBPROCESS field */
const PRO_SUBPROCESS = 'PROCESS.PRO_SUBPROCESS';
/** the column name for the PRO_TRI_OPEN field */
const PRO_TRI_OPEN = 'PROCESS.PRO_TRI_OPEN';
/** the column name for the PRO_TRI_DELETED field */
const PRO_TRI_DELETED = 'PROCESS.PRO_TRI_DELETED';
@@ -144,10 +147,10 @@ abstract class BaseProcessPeer
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
private static $fieldNames = array (
BasePeer::TYPE_PHPNAME => array ('ProUid', 'ProParent', 'ProTime', 'ProTimeunit', 'ProStatus', 'ProTypeDay', 'ProType', 'ProAssignment', 'ProShowMap', 'ProShowMessage', 'ProSubprocess', 'ProTriDeleted', 'ProTriCanceled', 'ProTriPaused', 'ProTriReassigned', 'ProTriUnpaused', 'ProTypeProcess', 'ProShowDelegate', 'ProShowDynaform', 'ProCategory', 'ProSubCategory', 'ProIndustry', 'ProUpdateDate', 'ProCreateDate', 'ProCreateUser', 'ProHeight', 'ProWidth', 'ProTitleX', 'ProTitleY', 'ProDebug', 'ProDynaforms', 'ProDerivationScreenTpl', 'ProCost', 'ProUnitCost', ),
BasePeer::TYPE_COLNAME => array (ProcessPeer::PRO_UID, ProcessPeer::PRO_PARENT, ProcessPeer::PRO_TIME, ProcessPeer::PRO_TIMEUNIT, ProcessPeer::PRO_STATUS, ProcessPeer::PRO_TYPE_DAY, ProcessPeer::PRO_TYPE, ProcessPeer::PRO_ASSIGNMENT, ProcessPeer::PRO_SHOW_MAP, ProcessPeer::PRO_SHOW_MESSAGE, ProcessPeer::PRO_SUBPROCESS, ProcessPeer::PRO_TRI_DELETED, ProcessPeer::PRO_TRI_CANCELED, ProcessPeer::PRO_TRI_PAUSED, ProcessPeer::PRO_TRI_REASSIGNED, ProcessPeer::PRO_TRI_UNPAUSED, ProcessPeer::PRO_TYPE_PROCESS, ProcessPeer::PRO_SHOW_DELEGATE, ProcessPeer::PRO_SHOW_DYNAFORM, ProcessPeer::PRO_CATEGORY, ProcessPeer::PRO_SUB_CATEGORY, ProcessPeer::PRO_INDUSTRY, ProcessPeer::PRO_UPDATE_DATE, ProcessPeer::PRO_CREATE_DATE, ProcessPeer::PRO_CREATE_USER, ProcessPeer::PRO_HEIGHT, ProcessPeer::PRO_WIDTH, ProcessPeer::PRO_TITLE_X, ProcessPeer::PRO_TITLE_Y, ProcessPeer::PRO_DEBUG, ProcessPeer::PRO_DYNAFORMS, ProcessPeer::PRO_DERIVATION_SCREEN_TPL, ProcessPeer::PRO_COST, ProcessPeer::PRO_UNIT_COST, ),
BasePeer::TYPE_FIELDNAME => array ('PRO_UID', 'PRO_PARENT', 'PRO_TIME', 'PRO_TIMEUNIT', 'PRO_STATUS', 'PRO_TYPE_DAY', 'PRO_TYPE', 'PRO_ASSIGNMENT', 'PRO_SHOW_MAP', 'PRO_SHOW_MESSAGE', 'PRO_SUBPROCESS', 'PRO_TRI_DELETED', 'PRO_TRI_CANCELED', 'PRO_TRI_PAUSED', 'PRO_TRI_REASSIGNED', 'PRO_TRI_UNPAUSED', 'PRO_TYPE_PROCESS', 'PRO_SHOW_DELEGATE', 'PRO_SHOW_DYNAFORM', 'PRO_CATEGORY', 'PRO_SUB_CATEGORY', 'PRO_INDUSTRY', 'PRO_UPDATE_DATE', 'PRO_CREATE_DATE', 'PRO_CREATE_USER', 'PRO_HEIGHT', 'PRO_WIDTH', 'PRO_TITLE_X', 'PRO_TITLE_Y', 'PRO_DEBUG', 'PRO_DYNAFORMS', 'PRO_DERIVATION_SCREEN_TPL', 'PRO_COST', 'PRO_UNIT_COST', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, )
BasePeer::TYPE_PHPNAME => array ('ProUid', 'ProParent', 'ProTime', 'ProTimeunit', 'ProStatus', 'ProTypeDay', 'ProType', 'ProAssignment', 'ProShowMap', 'ProShowMessage', 'ProSubprocess', 'ProTriOpen', 'ProTriDeleted', 'ProTriCanceled', 'ProTriPaused', 'ProTriReassigned', 'ProTriUnpaused', 'ProTypeProcess', 'ProShowDelegate', 'ProShowDynaform', 'ProCategory', 'ProSubCategory', 'ProIndustry', 'ProUpdateDate', 'ProCreateDate', 'ProCreateUser', 'ProHeight', 'ProWidth', 'ProTitleX', 'ProTitleY', 'ProDebug', 'ProDynaforms', 'ProDerivationScreenTpl', 'ProCost', 'ProUnitCost', ),
BasePeer::TYPE_COLNAME => array (ProcessPeer::PRO_UID, ProcessPeer::PRO_PARENT, ProcessPeer::PRO_TIME, ProcessPeer::PRO_TIMEUNIT, ProcessPeer::PRO_STATUS, ProcessPeer::PRO_TYPE_DAY, ProcessPeer::PRO_TYPE, ProcessPeer::PRO_ASSIGNMENT, ProcessPeer::PRO_SHOW_MAP, ProcessPeer::PRO_SHOW_MESSAGE, ProcessPeer::PRO_SUBPROCESS, ProcessPeer::PRO_TRI_OPEN, ProcessPeer::PRO_TRI_DELETED, ProcessPeer::PRO_TRI_CANCELED, ProcessPeer::PRO_TRI_PAUSED, ProcessPeer::PRO_TRI_REASSIGNED, ProcessPeer::PRO_TRI_UNPAUSED, ProcessPeer::PRO_TYPE_PROCESS, ProcessPeer::PRO_SHOW_DELEGATE, ProcessPeer::PRO_SHOW_DYNAFORM, ProcessPeer::PRO_CATEGORY, ProcessPeer::PRO_SUB_CATEGORY, ProcessPeer::PRO_INDUSTRY, ProcessPeer::PRO_UPDATE_DATE, ProcessPeer::PRO_CREATE_DATE, ProcessPeer::PRO_CREATE_USER, ProcessPeer::PRO_HEIGHT, ProcessPeer::PRO_WIDTH, ProcessPeer::PRO_TITLE_X, ProcessPeer::PRO_TITLE_Y, ProcessPeer::PRO_DEBUG, ProcessPeer::PRO_DYNAFORMS, ProcessPeer::PRO_DERIVATION_SCREEN_TPL, ProcessPeer::PRO_COST, ProcessPeer::PRO_UNIT_COST, ),
BasePeer::TYPE_FIELDNAME => array ('PRO_UID', 'PRO_PARENT', 'PRO_TIME', 'PRO_TIMEUNIT', 'PRO_STATUS', 'PRO_TYPE_DAY', 'PRO_TYPE', 'PRO_ASSIGNMENT', 'PRO_SHOW_MAP', 'PRO_SHOW_MESSAGE', 'PRO_SUBPROCESS', 'PRO_TRI_OPEN', 'PRO_TRI_DELETED', 'PRO_TRI_CANCELED', 'PRO_TRI_PAUSED', 'PRO_TRI_REASSIGNED', 'PRO_TRI_UNPAUSED', 'PRO_TYPE_PROCESS', 'PRO_SHOW_DELEGATE', 'PRO_SHOW_DYNAFORM', 'PRO_CATEGORY', 'PRO_SUB_CATEGORY', 'PRO_INDUSTRY', 'PRO_UPDATE_DATE', 'PRO_CREATE_DATE', 'PRO_CREATE_USER', 'PRO_HEIGHT', 'PRO_WIDTH', 'PRO_TITLE_X', 'PRO_TITLE_Y', 'PRO_DEBUG', 'PRO_DYNAFORMS', 'PRO_DERIVATION_SCREEN_TPL', 'PRO_COST', 'PRO_UNIT_COST', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, )
);
/**
@@ -157,10 +160,10 @@ abstract class BaseProcessPeer
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
*/
private static $fieldKeys = array (
BasePeer::TYPE_PHPNAME => array ('ProUid' => 0, 'ProParent' => 1, 'ProTime' => 2, 'ProTimeunit' => 3, 'ProStatus' => 4, 'ProTypeDay' => 5, 'ProType' => 6, 'ProAssignment' => 7, 'ProShowMap' => 8, 'ProShowMessage' => 9, 'ProSubprocess' => 10, 'ProTriDeleted' => 11, 'ProTriCanceled' => 12, 'ProTriPaused' => 13, 'ProTriReassigned' => 14, 'ProTriUnpaused' => 15, 'ProTypeProcess' => 16, 'ProShowDelegate' => 17, 'ProShowDynaform' => 18, 'ProCategory' => 19, 'ProSubCategory' => 20, 'ProIndustry' => 21, 'ProUpdateDate' => 22, 'ProCreateDate' => 23, 'ProCreateUser' => 24, 'ProHeight' => 25, 'ProWidth' => 26, 'ProTitleX' => 27, 'ProTitleY' => 28, 'ProDebug' => 29, 'ProDynaforms' => 30, 'ProDerivationScreenTpl' => 31, 'ProCost' => 32, 'ProUnitCost' => 33, ),
BasePeer::TYPE_COLNAME => array (ProcessPeer::PRO_UID => 0, ProcessPeer::PRO_PARENT => 1, ProcessPeer::PRO_TIME => 2, ProcessPeer::PRO_TIMEUNIT => 3, ProcessPeer::PRO_STATUS => 4, ProcessPeer::PRO_TYPE_DAY => 5, ProcessPeer::PRO_TYPE => 6, ProcessPeer::PRO_ASSIGNMENT => 7, ProcessPeer::PRO_SHOW_MAP => 8, ProcessPeer::PRO_SHOW_MESSAGE => 9, ProcessPeer::PRO_SUBPROCESS => 10, ProcessPeer::PRO_TRI_DELETED => 11, ProcessPeer::PRO_TRI_CANCELED => 12, ProcessPeer::PRO_TRI_PAUSED => 13, ProcessPeer::PRO_TRI_REASSIGNED => 14, ProcessPeer::PRO_TRI_UNPAUSED => 15, ProcessPeer::PRO_TYPE_PROCESS => 16, ProcessPeer::PRO_SHOW_DELEGATE => 17, ProcessPeer::PRO_SHOW_DYNAFORM => 18, ProcessPeer::PRO_CATEGORY => 19, ProcessPeer::PRO_SUB_CATEGORY => 20, ProcessPeer::PRO_INDUSTRY => 21, ProcessPeer::PRO_UPDATE_DATE => 22, ProcessPeer::PRO_CREATE_DATE => 23, ProcessPeer::PRO_CREATE_USER => 24, ProcessPeer::PRO_HEIGHT => 25, ProcessPeer::PRO_WIDTH => 26, ProcessPeer::PRO_TITLE_X => 27, ProcessPeer::PRO_TITLE_Y => 28, ProcessPeer::PRO_DEBUG => 29, ProcessPeer::PRO_DYNAFORMS => 30, ProcessPeer::PRO_DERIVATION_SCREEN_TPL => 31, ProcessPeer::PRO_COST => 32, ProcessPeer::PRO_UNIT_COST => 33, ),
BasePeer::TYPE_FIELDNAME => array ('PRO_UID' => 0, 'PRO_PARENT' => 1, 'PRO_TIME' => 2, 'PRO_TIMEUNIT' => 3, 'PRO_STATUS' => 4, 'PRO_TYPE_DAY' => 5, 'PRO_TYPE' => 6, 'PRO_ASSIGNMENT' => 7, 'PRO_SHOW_MAP' => 8, 'PRO_SHOW_MESSAGE' => 9, 'PRO_SUBPROCESS' => 10, 'PRO_TRI_DELETED' => 11, 'PRO_TRI_CANCELED' => 12, 'PRO_TRI_PAUSED' => 13, 'PRO_TRI_REASSIGNED' => 14, 'PRO_TRI_UNPAUSED' => 15, 'PRO_TYPE_PROCESS' => 16, 'PRO_SHOW_DELEGATE' => 17, 'PRO_SHOW_DYNAFORM' => 18, 'PRO_CATEGORY' => 19, 'PRO_SUB_CATEGORY' => 20, 'PRO_INDUSTRY' => 21, 'PRO_UPDATE_DATE' => 22, 'PRO_CREATE_DATE' => 23, 'PRO_CREATE_USER' => 24, 'PRO_HEIGHT' => 25, 'PRO_WIDTH' => 26, 'PRO_TITLE_X' => 27, 'PRO_TITLE_Y' => 28, 'PRO_DEBUG' => 29, 'PRO_DYNAFORMS' => 30, 'PRO_DERIVATION_SCREEN_TPL' => 31, 'PRO_COST' => 32, 'PRO_UNIT_COST' => 33, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, )
BasePeer::TYPE_PHPNAME => array ('ProUid' => 0, 'ProParent' => 1, 'ProTime' => 2, 'ProTimeunit' => 3, 'ProStatus' => 4, 'ProTypeDay' => 5, 'ProType' => 6, 'ProAssignment' => 7, 'ProShowMap' => 8, 'ProShowMessage' => 9, 'ProSubprocess' => 10, 'ProTriOpen' => 11, 'ProTriDeleted' => 12, 'ProTriCanceled' => 13, 'ProTriPaused' => 14, 'ProTriReassigned' => 15, 'ProTriUnpaused' => 16, 'ProTypeProcess' => 17, 'ProShowDelegate' => 18, 'ProShowDynaform' => 19, 'ProCategory' => 20, 'ProSubCategory' => 21, 'ProIndustry' => 22, 'ProUpdateDate' => 23, 'ProCreateDate' => 24, 'ProCreateUser' => 25, 'ProHeight' => 26, 'ProWidth' => 27, 'ProTitleX' => 28, 'ProTitleY' => 29, 'ProDebug' => 30, 'ProDynaforms' => 31, 'ProDerivationScreenTpl' => 32, 'ProCost' => 33, 'ProUnitCost' => 34, ),
BasePeer::TYPE_COLNAME => array (ProcessPeer::PRO_UID => 0, ProcessPeer::PRO_PARENT => 1, ProcessPeer::PRO_TIME => 2, ProcessPeer::PRO_TIMEUNIT => 3, ProcessPeer::PRO_STATUS => 4, ProcessPeer::PRO_TYPE_DAY => 5, ProcessPeer::PRO_TYPE => 6, ProcessPeer::PRO_ASSIGNMENT => 7, ProcessPeer::PRO_SHOW_MAP => 8, ProcessPeer::PRO_SHOW_MESSAGE => 9, ProcessPeer::PRO_SUBPROCESS => 10, ProcessPeer::PRO_TRI_OPEN => 11, ProcessPeer::PRO_TRI_DELETED => 12, ProcessPeer::PRO_TRI_CANCELED => 13, ProcessPeer::PRO_TRI_PAUSED => 14, ProcessPeer::PRO_TRI_REASSIGNED => 15, ProcessPeer::PRO_TRI_UNPAUSED => 16, ProcessPeer::PRO_TYPE_PROCESS => 17, ProcessPeer::PRO_SHOW_DELEGATE => 18, ProcessPeer::PRO_SHOW_DYNAFORM => 19, ProcessPeer::PRO_CATEGORY => 20, ProcessPeer::PRO_SUB_CATEGORY => 21, ProcessPeer::PRO_INDUSTRY => 22, ProcessPeer::PRO_UPDATE_DATE => 23, ProcessPeer::PRO_CREATE_DATE => 24, ProcessPeer::PRO_CREATE_USER => 25, ProcessPeer::PRO_HEIGHT => 26, ProcessPeer::PRO_WIDTH => 27, ProcessPeer::PRO_TITLE_X => 28, ProcessPeer::PRO_TITLE_Y => 29, ProcessPeer::PRO_DEBUG => 30, ProcessPeer::PRO_DYNAFORMS => 31, ProcessPeer::PRO_DERIVATION_SCREEN_TPL => 32, ProcessPeer::PRO_COST => 33, ProcessPeer::PRO_UNIT_COST => 34, ),
BasePeer::TYPE_FIELDNAME => array ('PRO_UID' => 0, 'PRO_PARENT' => 1, 'PRO_TIME' => 2, 'PRO_TIMEUNIT' => 3, 'PRO_STATUS' => 4, 'PRO_TYPE_DAY' => 5, 'PRO_TYPE' => 6, 'PRO_ASSIGNMENT' => 7, 'PRO_SHOW_MAP' => 8, 'PRO_SHOW_MESSAGE' => 9, 'PRO_SUBPROCESS' => 10, 'PRO_TRI_OPEN' => 11, 'PRO_TRI_DELETED' => 12, 'PRO_TRI_CANCELED' => 13, 'PRO_TRI_PAUSED' => 14, 'PRO_TRI_REASSIGNED' => 15, 'PRO_TRI_UNPAUSED' => 16, 'PRO_TYPE_PROCESS' => 17, 'PRO_SHOW_DELEGATE' => 18, 'PRO_SHOW_DYNAFORM' => 19, 'PRO_CATEGORY' => 20, 'PRO_SUB_CATEGORY' => 21, 'PRO_INDUSTRY' => 22, 'PRO_UPDATE_DATE' => 23, 'PRO_CREATE_DATE' => 24, 'PRO_CREATE_USER' => 25, 'PRO_HEIGHT' => 26, 'PRO_WIDTH' => 27, 'PRO_TITLE_X' => 28, 'PRO_TITLE_Y' => 29, 'PRO_DEBUG' => 30, 'PRO_DYNAFORMS' => 31, 'PRO_DERIVATION_SCREEN_TPL' => 32, 'PRO_COST' => 33, 'PRO_UNIT_COST' => 34, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, )
);
/**
@@ -283,6 +286,8 @@ abstract class BaseProcessPeer
$criteria->addSelectColumn(ProcessPeer::PRO_SUBPROCESS);
$criteria->addSelectColumn(ProcessPeer::PRO_TRI_OPEN);
$criteria->addSelectColumn(ProcessPeer::PRO_TRI_DELETED);
$criteria->addSelectColumn(ProcessPeer::PRO_TRI_CANCELED);

View File

@@ -851,6 +851,7 @@
<column name="PRO_SHOW_MAP" type="TINYINT" required="true" default="1"/>
<column name="PRO_SHOW_MESSAGE" type="TINYINT" required="true" default="1"/>
<column name="PRO_SUBPROCESS" type="TINYINT" required="true" default="0"/>
<column name="PRO_TRI_OPEN" type="VARCHAR" size="32" required="true" default=""/>
<column name="PRO_TRI_DELETED" type="VARCHAR" size="32" required="true" default=""/>
<column name="PRO_TRI_CANCELED" type="VARCHAR" size="32" required="true" default=""/>
<column name="PRO_TRI_PAUSED" type="VARCHAR" size="32" required="true" default=""/>

View File

@@ -411,6 +411,7 @@ CREATE TABLE `PROCESS`
`PRO_SHOW_MAP` TINYINT default 1 NOT NULL,
`PRO_SHOW_MESSAGE` TINYINT default 1 NOT NULL,
`PRO_SUBPROCESS` TINYINT default 0 NOT NULL,
`PRO_TRI_OPEN` VARCHAR(32) default '' NOT NULL,
`PRO_TRI_DELETED` VARCHAR(32) default '' NOT NULL,
`PRO_TRI_CANCELED` VARCHAR(32) default '' NOT NULL,
`PRO_TRI_PAUSED` VARCHAR(32) default '' NOT NULL,

View File

@@ -175,14 +175,7 @@ try {
unset( $_SESSION['bNoShowSteps'] );
/* Execute Before Triggers for first Task*/
$oStep = new Step;
$oStep = $oStep->loadByProcessTaskPosition($_SESSION['PROCESS'], $_SESSION['TASK'], 1);
if($oStep) {
$aFields['APP_DATA'] = array_merge( $aFields['APP_DATA'], G::getSystemConstants() );
$triggerFields["APP_DATA"] = $oCase->ExecuteTriggers( $_SESSION['TASK'], $oStep->getStepTypeObj(), $oStep->getStepUidObj(), 'BEFORE', $aFields['APP_DATA'] );
$oCase->updateCase( $_SESSION['APPLICATION'], $triggerFields );
$_SESSION['beforeTriggersExecuted'] = true;
}
$oCase->getExecuteTriggerProcess($sAppUid, 'OPEN');
/*end Execute Before Triggers for first Task*/
$aNextStep = $oCase->getNextStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] );

View File

@@ -216,11 +216,7 @@ if ($flagExecuteBeforeTriggers) {
if (! isset( $_SESSION['_NO_EXECUTE_TRIGGERS_'] )) {
//Execute before triggers - Start
if (!isset($_SESSION['beforeTriggersExecuted']) || $triggers) {
$Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], $_GET['TYPE'], $_GET['UID'], 'BEFORE', $Fields['APP_DATA'] );
} else {
unset($_SESSION['beforeTriggersExecuted']);
}
//Execute before triggers - End
} else {
unset( $_SESSION['_NO_EXECUTE_TRIGGERS_'] );

View File

@@ -1,19 +1,14 @@
<?php
use Gulliver\core\ServiceContainer;
$sc = ServiceContainer::getInstance();
$session = $sc->make('session.store');
$licensedFeatures = & PMLicensedFeatures::getSingleton();
if (!$licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) {
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
G::header( 'location: ../login/login' );
die;
}
$caseId = $session->get('APPLICATION');
$usrUid = $session->get('USER_LOGGED');
$usrName = $session->get('USR_FULLNAME');
$actualIndex = $session->get('INDEX');
$caseId = $_SESSION['APPLICATION'];
$usrUid = $_SESSION['USER_LOGGED'];
$usrName = $_SESSION['USR_FULLNAME'];
$actualIndex = $_SESSION['INDEX'];
$cont = 0;
use \ProcessMaker\Services\Api;
@@ -23,6 +18,7 @@ $actualThread = $appDel->Load($caseId, $actualIndex);
$actualLastIndex = $actualThread['DEL_PREVIOUS'];
$appDelPrev = $appDel->LoadParallel($caseId);
if($appDelPrev == array()){
$appDelPrev['0'] = $actualThread;
}
@@ -34,11 +30,12 @@ foreach ($appDelPrev as $app){
}
}
require_once (PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "class.labelsGmail.php");
$oLabels = new labelsGmail();
$oResponse = $oLabels->setLabels($caseId, $actualIndex, $actualLastIndex, false);
if( $session->get('gmail') === 1 ){
//$session->set('gmail', 0);
$mUrl = '/sys'. $session->get('WORKSPACE') .'/en/neoclassic/cases/cases_Open?APP_UID='.$caseId.'&DEL_INDEX='.$actualIndex.'&action=sent';
if( $_SESSION['gmail'] === 1 ){
//$_SESSION['gmail'] = 0;
$mUrl = '/sys'. $_SESSION['WORKSPACE'] .'/en/neoclassic/cases/cases_Open?APP_UID='.$caseId.'&DEL_INDEX='.$actualIndex.'&action=sent';
} else{
$mUrl = 'casesListExtJs';
}

View File

@@ -227,10 +227,19 @@ class DynaForm
$messageCaseTracker = "($countSteps) Depends in case traker";
}
$dynaformDepends = \Dynaform::verifyDynaformAssignDynaform($dynUid, $proUid);
$messageDynaform = '(0) Depends in case traker';
if (!empty($dynaformDepends)) {
$flagDepend = true;
$countSteps = count($dynaformDepends);
$messageDynaform = "($countSteps) Depends in dynaform";
}
if ($flagDepend) {
$message = "You can not delete the dynaform '$dynUid', because it has the following dependencies: \n\n";
$message .= $messageSteps . ".\n" . $messageStepsSupervisors . ".\n";
$message .= $messageObjectPermission . ".\n" . $messageCaseTracker;
$message .= $messageObjectPermission . ".\n" . $messageCaseTracker . "\n";
$message .= $messageDynaform;
return $message;
}
return '';
@@ -1138,4 +1147,63 @@ class DynaForm
throw $e;
}
}
/**
* Get data of a DynaForm History
*
* @param string $dynaFormUid Unique id of DynaForm
*
* return array Return an array with data of a DynaForm History
*/
public function getDynaFormHistory($prj_uid, $dynaFormUid, array $arrayData = array())
{
try {
$filter = "";
if (isset($arrayData["filter"])) {
$filter = $arrayData["filter"];
}
$start = 0;
if (isset($arrayData["start"])) {
$start = $arrayData["start"];
}
$limit = 50;
if (isset($arrayData["limit"])) {
$limit = $arrayData["limit"];
}
$this->throwExceptionIfNotExistsDynaForm($dynaFormUid, "", $this->arrayFieldNameForException["dynaFormUid"]);
$criteria = new \Criteria("workflow");
$subcriteria = $criteria->getNewCriterion(\AppHistoryPeer::HISTORY_DATE, "%" . $filter . "%", \Criteria::LIKE);
$criteria->addSelectColumn(\AppHistoryPeer::DYN_UID);
$criteria->addSelectColumn(\AppHistoryPeer::HISTORY_DATA);
$criteria->addSelectColumn(\AppHistoryPeer::HISTORY_DATE);
$criteria->addAnd(\AppHistoryPeer::DYN_UID, $dynaFormUid, \Criteria::EQUAL);
$criteria->addAnd(\AppHistoryPeer::OBJ_TYPE, "DYNAFORM", \Criteria::EQUAL);
$criteria->addAnd(\AppHistoryPeer::HISTORY_DATA, "%DYN_CONTENT_HISTORY%", \Criteria::LIKE);
$criteria->addAnd($subcriteria);
$criteria->addDescendingOrderByColumn(\AppHistoryPeer::HISTORY_DATE);
$criteria->setOffset($start);
$criteria->setLimit($limit);
$rsCriteria = \AppHistoryPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$data = array();
while ($rsCriteria->next()) {
$row = $rsCriteria->getRow();
$d = @unserialize($row["HISTORY_DATA"]);
$data[] = array(
"history_date" => $row["HISTORY_DATE"],
"dyn_uid" => $row["DYN_UID"],
"dyn_content_history" => isset($d["DYN_CONTENT_HISTORY"]) ? $d["DYN_CONTENT_HISTORY"] : ""
);
}
return $data;
} catch (\Exception $e) {
throw $e;
}
}
}

View File

@@ -105,13 +105,33 @@ class Pmgmail {
*/
public function getDraftApp($app_uid, $index=1)
{
$response = \AppCacheViewQuery::create()
->filterByAppUid($app_uid)
->filterByDelIndex($index)
->find()
->toArray(null, false, \BasePeer::TYPE_FIELDNAME);
$c = new \Criteria( 'workflow' );
return $response;
$c->clearSelectColumns();
$c->addSelectColumn( \AppCacheViewPeer::APP_NUMBER );
$c->addSelectColumn( \AppCacheViewPeer::APP_STATUS );
$c->addSelectColumn( \AppCacheViewPeer::DEL_INDEX );
$c->addSelectColumn( \AppCacheViewPeer::APP_DEL_PREVIOUS_USER );
$c->addSelectColumn( \AppCacheViewPeer::DEL_DELEGATE_DATE );
$c->addSelectColumn( \AppCacheViewPeer::USR_UID );
$c->addSelectColumn( \AppCacheViewPeer::PRO_UID );
$c->addSelectColumn( \AppCacheViewPeer::APP_PRO_TITLE );
$c->addSelectColumn( \AppCacheViewPeer::APP_TAS_TITLE );
$c->addSelectColumn( \AppCacheViewPeer::DEL_THREAD_STATUS );
$c->addSelectColumn( \AppCacheViewPeer::TAS_UID );
$c->addSelectColumn( \AppCacheViewPeer::DEL_LAST_INDEX );
$c->add( \AppCacheViewPeer::APP_UID, $app_uid );
$c->add( \AppCacheViewPeer::DEL_INDEX, $index );
$rs = \AppCacheViewPeer::doSelectRS( $c );
$rs->setFetchmode( \ResultSet::FETCHMODE_ASSOC );
$rows = Array ();
while ($rs->next()) {
$rows[] = $rs->getRow();
}
return $rows;
}
/**

View File

@@ -1298,6 +1298,25 @@ class Workflow extends Handler
$arrayWorkflowData = (array)($workflowData);
foreach ($arrayWorkflowData["dynaforms"] as $key => $value) {
if ($arrayWorkflowData["dynaforms"][$key]["DYN_CONTENT"] != "") {
$dynaFormContent = $arrayWorkflowData["dynaforms"][$key]["DYN_CONTENT"];
foreach ($arrayWorkflowData["uid"] as $value2) {
$arrayAux = $value2;
foreach ($arrayAux as $key3 => $value3) {
$uidOld = $key3;
$uid = $value3;
$dynaFormContent = str_replace($uidOld, $uid, $dynaFormContent);
}
}
$arrayWorkflowData["dynaforms"][$key]["DYN_CONTENT"] = $dynaFormContent;
}
}
//Workflow files
foreach ($arrayWorkflowFile as $key => $value) {
$arrayFile = $value;

View File

@@ -751,11 +751,11 @@ class Light extends Api
$dynaForm = new \ProcessMaker\BusinessModel\DynaForm();
$dynaForm->setFormatFieldNameInUppercase(false);
\G::LoadClass("pmDynaform");
$pmDynaForm = new \pmDynaform();
$_SESSION['PROCESS'] = $prj_uid;
$return = array();
foreach ($request_data['formId'] as $dyn_uid) {
$response = $dynaForm->getDynaForm($dyn_uid);
$pmDynaForm = new \pmDynaform(array("CURRENT_DYNAFORM" => $dyn_uid));
$result = $this->parserDataDynaForm($response);
$result['formContent'] = (isset($result['formContent']) && $result['formContent'] != null)?json_decode($result['formContent']):"";
$pmDynaForm->jsonr($result['formContent']);

View File

@@ -181,4 +181,25 @@ class DynaForm extends Api
}
}
/**
* @url POST /:prj_uid/dynaform/:dyn_uid/history
*
* @param string $dyn_uid {@min 32}{@max 32}
* @param string $prj_uid {@min 32}{@max 32}
* @param array $request_data
*/
public function doGetDynaFormHistory($dyn_uid, $prj_uid, $request_data)
{
try {
$dynaForm = new \ProcessMaker\BusinessModel\DynaForm();
$dynaForm->setFormatFieldNameInUppercase(false);
$response = $dynaForm->getDynaFormHistory($prj_uid, $dyn_uid, $request_data);
return $response;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
}

View File

@@ -1,26 +1,22 @@
<?php
require_once(dirname(__FILE__) . '/../../../gulliver/init.php');
use Gulliver\core\ServiceContainer;
$sc = ServiceContainer::getInstance();
$session = $sc->make('session.store');
$request = $sc->make('request');
require_once (dirname(__FILE__) . '/../../../gulliver/system/class.bootstrap.php');
$gmailToken = $request->query->get('gmailToken');
$gmail = $request->query->get('gmail');
$pmtoken = $request->query->get('pmtoken');
$pmws = $request->query->get('pmws');
$appUid = $request->query->get('appUid');
$delIndex = $request->query->get('delIndex');
$action = $request->query->get('action');
$proUid = $request->query->has('proUid') ? $request->query->get('proUid') : '';
$server = $request->query->get('server');
$gmailToken = $_GET['gmailToken'];
$gmail = $_GET['gmail'];
$pmtoken = $_GET['pmtoken'];
$pmws = $_GET['pmws'];
$appUid = $_GET['appUid'];
$delIndex = $_GET['delIndex'];
$action = $_GET['action'];
$proUid = $_GET['proUid'];
$server = isset($_GET['server']) ? $_GET['server'] : '';
//First check if the feature is enabled in the license.
$gCurl = curl_init( 'https://' . $server . '/api/1.0/' . $pmws . '/gmailIntegration/verifyGmailfeature/' );
curl_setopt( $gCurl, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . $pmtoken ) );
curl_setopt( $gCurl, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $gCurl, CURLOPT_SSL_VERIFYPEER,false);
curl_setopt( $gCurl, CURLOPT_CONNECTTIMEOUT ,0);
curl_setopt( $gCurl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt( $gCurl, CURLOPT_CONNECTTIMEOUT, 0);
$gCurl_response = curl_exec( $gCurl );
curl_close($gCurl);
@@ -37,7 +33,7 @@ $curl = curl_init( 'https://' . $server . '/api/1.0/' . $pmws . '/gmailIntegrati
curl_setopt( $curl, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . $pmtoken ) );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER,false);
curl_setopt( $curl, CURLOPT_CONNECTTIMEOUT ,0);
curl_setopt( $curl, CURLOPT_CONNECTTIMEOUT, 0);
$curl_response = curl_exec( $curl );
curl_close($curl);
@@ -49,7 +45,7 @@ if(count($decodedResp) > 1){
}
//validationg if there is an actual PM session
if( !$session->has('USER_LOGGED') || $session->get('USER_LOGGED') != $decodedResp['0']->USR_UID){
if( !isset($_SESSION['USER_LOGGED']) || $_SESSION['USER_LOGGED'] != $decodedResp['0']->USR_UID){
$url = 'https://www.googleapis.com/oauth2/v1/tokeninfo?access_token='.$gmailToken;
// init curl object
@@ -72,13 +68,9 @@ if( !$session->has('USER_LOGGED') || $session->get('USER_LOGGED') != $decodedRes
//If the email corresponds I get the username and with the gmail user_id the session is created.
if($decodedResp['0']->USR_STATUS == "ACTIVE"){
//User Active! lets create the Session
$request = $sc->make('request');
$session = $sc->make('session.store');
$session->setId($request->cookies->get($session->getName()));
$session->start();
setcookie($session->getName(), $session->getId(), 0, '/');
$request->setSession($session);
@session_destroy();
session_start();
session_regenerate_id();
if (PHP_VERSION < 5.2) {
setcookie("workspaceSkin", "neoclasic", time() + (24 * 60 * 60), "/sys" . "neoclasic", "; HttpOnly");
@@ -86,17 +78,17 @@ if( !$session->has('USER_LOGGED') || $session->get('USER_LOGGED') != $decodedRes
setcookie("workspaceSkin", "neoclasic", time() + (24 * 60 * 60), "/sys" . "neoclasic", null, false, true);
}
$session->set('__EE_INSTALLATION__', 2);
$session->set('__EE_SW_PMLICENSEMANAGER__', 1);
$session->set('phpLastFileFound', '');
$session->set('USERNAME_PREVIOUS1', 'admin');
$session->set('USERNAME_PREVIOUS2', 'admin');
$session->set('WORKSPACE', $pmws);
$session->set('USER_LOGGED', $decodedResp['0']->USR_UID);
$session->set('USR_USERNAME', $decodedResp['0']->USR_USERNAME);
$session->set('USR_FULLNAME', $decodedResp['0']->USR_FIRSTNAME. ' ' .$decodedResp['0']->USR_LASTNAME);
$session->set('__sw__', 1);
$session->save();
$_SESSION = array();
$_SESSION['__EE_INSTALLATION__'] = 2;
$_SESSION['__EE_SW_PMLICENSEMANAGER__'] = 1;
$_SESSION['phpLastFileFound'] = '';
$_SESSION['USERNAME_PREVIOUS1'] = 'admin';
$_SESSION['USERNAME_PREVIOUS2'] = 'admin';
$_SESSION['WORKSPACE'] = $pmws;
$_SESSION['USER_LOGGED'] = $decodedResp['0']->USR_UID;
$_SESSION['USR_USERNAME'] = $decodedResp['0']->USR_USERNAME;
$_SESSION['USR_FULLNAME'] = $decodedResp['0']->USR_FIRSTNAME. ' ' .$decodedResp['0']->USR_LASTNAME;
$_SESSION['__sw__'] = 1;
//session created
} else {
echo Bootstrap::LoadTranslation( 'ID_USER_NOT_ACTIVE' );
@@ -115,7 +107,7 @@ if ($action == "draft"){
curl_setopt( $curlApp, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt( $curlApp, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $curlApp, CURLOPT_SSL_VERIFYPEER,false);
curl_setopt( $curlApp, CURLOPT_CONNECTTIMEOUT ,0);
curl_setopt( $curlApp, CURLOPT_CONNECTTIMEOUT, 0);
$curl_response_app = curl_exec( $curlApp );
curl_close( $curlApp );
@@ -124,20 +116,12 @@ if ($action == "draft"){
header( 'location:' . $mainUrl );
die;
}
$session->set('server', 'https://' . $server . '/sys'. $pmws .'/en/neoclassic/');
$session->set('PMCase', 'cases/cases_Open?APP_UID='.$appUid.'&DEL_INDEX='.$delIndex.'&action='.$action.'&gmail=1');
$_SESSION['server'] = 'https://' . $server . '/sys'. $pmws .'/en/neoclassic/';
$_SESSION['PMCase'] = 'cases/cases_Open?APP_UID='.$appUid.'&DEL_INDEX='.$delIndex.'&action='.$action.'&gmail=1';
$_SESSION['PMProcessmap'] = 'designer?prj_uid=' . $proUid . '&prj_readonly=true&app_uid=' . $appUid;
$_SESSION['PMUploadedDocuments'] = 'cases/ajaxListener?action=uploadedDocuments';
$_SESSION['PMGeneratedDocuments'] = 'cases/casesGenerateDocumentPage_Ajax.php?actionAjax=casesGenerateDocumentPage';
$session->set('PMProcessmap', 'designer?prj_uid=' . $proUid . '&prj_readonly=true&app_uid=' . $appUid);
$session->set('PMCasesHistory', 'cases/ajaxListener?action=caseHistory');
$session->set('PMHistoryDynaform', 'cases/casesHistoryDynaformPage_Ajax?actionAjax=historyDynaformPage');
$session->set('PMUploadedDocuments', 'cases/ajaxListener?action=uploadedDocuments');
$session->set('PMGeneratedDocuments', 'cases/casesGenerateDocumentPage_Ajax.php?actionAjax=casesGenerateDocumentPage');
ob_end_flush();
$session->save();
header( 'location:' . 'templateForm.php' );

View File

@@ -0,0 +1,117 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Interface Processmaker</title>
<script type="text/javascript" src="/lib/js/jquery-1.10.2.min.js"></script>
<link rel="stylesheet" href="/lib/pmUI/pmui.min.css">
<script type="text/javascript" >
jQuery(document).ready(function() {
var tid;
var addLoading = function (host, panel, message) {
panel = panel || 'PMContent';
message = message || 'Loading...';
var divLoading = document.createElement('div');
var span = document.createElement('span');
var text = document.createTextNode(message);
divLoading.setAttribute('id', 'PMGmailLoad');
divLoading.setAttribute('style', 'position:absolute; left: 0px;top: 0px;width: 100%;height: 100%;z-index: 9999;background: url('+host+'../../../lib/img/loading.gif) 50% 50% no-repeat #f9f9f9;');
span.setAttribute('style', ' margin-top: 50%; margin-left: 44%; position: absolute; font-weight: bold; font-size: 12px; margin-right: auto;');
span.appendChild(text);
divLoading.appendChild(span);
document.getElementById(panel).appendChild(divLoading);
};
var removeLoading = function () {
document.getElementById('PMGmailLoad').remove();
};
var resizePMDynadorm = function () {
var iframe = document.getElementById('iframePM');
var content = iframe.contentDocument;
if (content != null){
clearInterval(tid);
}
};
jQuery('.pmui-tab-ref').on('click', function(e) {
var currentAttrValue = jQuery(this).attr('href');
jQuery(this).parent('li').addClass('pmui-active').siblings().removeClass('pmui-active');
//url iframe
currentAttrValue = jQuery(this).attr('linkPM');
addLoading(jQuery(this).attr('PMServer'));
$('#iframePM').attr('src', currentAttrValue);
e.preventDefault();
});
$('#iframePM').load( function () {
tid = setInterval(function(){ resizePMDynadorm() }, 500);
removeLoading();
});
var currentAttrValue = jQuery('.pmui-tab-ref');
addLoading(currentAttrValue[0].attributes[3].value);
$('#iframePM').attr('src',currentAttrValue[0].attributes[2].value);
});
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
eventer(messageEvent,function(e) {
parent.parent.postMessage(e.data, 'https://mail.google.com');
},false);
</script>
</head>
<body>
<?php
session_start();
if (!defined('SYS_SYS')) {
define('SYS_SYS', 'jenws');
}
?>
<div class="pmui-tabpanel-tabs_container" style="display: block; height: 40px;">
<ul class="pmui-tabpanel-tabs" style="display:block; float:left;">
<li class="pmui pmui-tabitem pmui-active" style="left: 0px; top: 0px; width: auto; height: auto; position: relative; z-index: auto; display: inline-block;">
<i class="pmui-tab-icon"> </i>
<a class="pmui-tab-ref" href="#PMCases" linkPM="<?php echo $_SESSION['server'] . $_SESSION['PMCase'] ?>" PMServer="<?php echo $_SESSION['server'] ?>">
Form
</a>
</li>
<li class="pmui pmui-tabitem" style="left: 0px; top: 0px; width: auto; height: auto; position: relative; z-index: auto; display: inline-block;">
<i class="pmui-tab-icon"> </i>
<a class="pmui-tab-ref" href="#PMProcessmap" linkPM="<?php echo $_SESSION['server'] . $_SESSION['PMProcessmap'] ?>" PMServer="<?php echo $_SESSION['server'] ?>">
Processmap
</a>
</li>
<li class="pmui pmui-tabitem" style="left: 0px; top: 0px; width: auto; height: auto; position: relative; z-index: auto; display: inline-block;">
<i class="pmui-tab-icon"> </i>
<a class="pmui-tab-ref" href="#PMUploadedDocuments" linkPM="<?php echo $_SESSION['server'] . $_SESSION['PMUploadedDocuments'] ?>" PMServer="<?php echo $_SESSION['server'] ?>">
Uploaded
</a>
</li>
<li class="pmui pmui-tabitem" style="left: 0px; top: 0px; width: auto; height: auto; position: relative; z-index: auto; display: inline-block;">
<i class="pmui-tab-icon"> </i>
<a class="pmui-tab-ref" href="#PMGeneratedDocuments" linkPM="<?php echo $_SESSION['server'] . $_SESSION['PMGeneratedDocuments'] ?>" PMServer="<?php echo $_SESSION['server'] ?>">
Generated
</a>
</li>
</ul>
<div class="tab-content">
<div class="tab active" id="PMContent">
<iframe id="iframePM" src="" width="100%" height="530" style="overflow:hidden;"></iframe>
</div>
</div>
</div>
</body>
</html>