BUG 9319 "Problema con el Case Label" SOLVED

- By changing the "Case Label", this is not updated in the APP_CACHE_VIEW table
- Solved problem to changing the "Case Label", now is updated in the APP_CACHE_VIEW table
- Improvement in file, compliance with the standard PSR2

Note:
- When you change the "Case Title" of a task, affecting every case,
  if it is the current task of the case (otherwise it would not affect
  the APP_CACHE_VIEW table)
- If a task is saved empty the "Case Title" the APP_TITLE take the value
  #APP_NUMBER (all cases are in the task, this in APP_CACHE_VIEW table)
This commit is contained in:
Victor Saisa Lopez
2012-07-03 18:20:20 -04:00
parent dff24f4996
commit 167bab6b6e
5 changed files with 2599 additions and 2191 deletions

View File

@@ -15,19 +15,29 @@ if (!defined('PATH_HOME')) {
if (!defined('PATH_SEP')) {
define('PATH_SEP', (substr(PHP_OS, 0, 3) == 'WIN') ? '\\' : '/');
}
$docuroot = explode(PATH_SEP, str_replace('engine' . PATH_SEP . 'methods' . PATH_SEP . 'services', '', dirname(__FILE__)));
$pathServices = 'engine' . PATH_SEP . 'methods' . PATH_SEP . 'services';
$docuroot = explode(PATH_SEP, str_replace($pathServices, '', dirname(__FILE__)));
array_pop($docuroot);
array_pop($docuroot);
$pathhome = implode(PATH_SEP, $docuroot) . PATH_SEP;
$pathHome = implode(PATH_SEP, $docuroot) . PATH_SEP;
//try to find automatically the trunk directory where are placed the RBAC and Gulliver directories
//in a normal installation you don't need to change it.
array_pop($docuroot);
$pathTrunk = implode(PATH_SEP, $docuroot) . PATH_SEP;
array_pop($docuroot);
$pathOutTrunk = implode(PATH_SEP, $docuroot) . PATH_SEP;
//to do: check previous algorith for Windows $pathTrunk = "c:/home/";
define('PATH_HOME', $pathhome);
define('PATH_HOME', $pathHome);
define('PATH_TRUNK', $pathTrunk);
define('PATH_OUTTRUNK', $pathOutTrunk);
@@ -57,23 +67,27 @@ if (!defined('PATH_HOME')) {
require_once ( "creole/Creole.php" );
}
require_once 'classes/model/AppDelegation.php';
require_once 'classes/model/Event.php';
require_once 'classes/model/AppEvent.php';
require_once 'classes/model/CaseScheduler.php';
//G::loadClass('pmScript');
require_once ("classes/model/Configuration.php");
require_once ("classes/model/AppCacheView.php");
require_once ("classes/model/AppDelegation.php");
require_once ("classes/model/Event.php");
require_once ("classes/model/AppEvent.php");
require_once ("classes/model/CaseScheduler.php");
//G::loadClass("pmScript");
//default values
$bCronIsRunning = false;
$sLastExecution = '';
if (file_exists(PATH_DATA . 'cron')) {
$aAux = unserialize( trim( @file_get_contents(PATH_DATA . 'cron')) );
$bCronIsRunning = (boolean)$aAux['bCronIsRunning'];
$sLastExecution = $aAux['sLastExecution'];
}
else {
$arrayAux = unserialize(trim(@file_get_contents(PATH_DATA . 'cron')));
$bCronIsRunning = (boolean)($arrayAux['bCronIsRunning']);
$sLastExecution = $arrayAux['sLastExecution'];
} else {
//if not exists the file, just create a new one with current date
@file_put_contents(PATH_DATA . 'cron', serialize(array('bCronIsRunning' => '1', 'sLastExecution' => date('Y-m-d H:i:s'))));
$arrayAux = array('bCronIsRunning' => '1', 'sLastExecution' => date('Y-m-d H:i:s'));
@file_put_contents(PATH_DATA . 'cron', serialize($arrayAux));
}
if (!defined('SYS_SYS')) {
@@ -89,8 +103,8 @@ if (!defined('SYS_SYS')) {
if (is_dir(PATH_DB . $sObject)) {
saveLog('main', 'action', "checking folder " . PATH_DB . $sObject);
if (file_exists(PATH_DB . $sObject . PATH_SEP . 'db.php')) {
if (file_exists(PATH_DB . $sObject . PATH_SEP . 'db.php')) {
define('SYS_SYS', $sObject);
include_once (PATH_HOME . 'engine' . PATH_SEP . 'config' . PATH_SEP . 'paths_installed.php');
@@ -109,7 +123,7 @@ if (!defined('SYS_SYS')) {
if (is_file(PATH_DATA_SITE.PATH_SEP . '.server_info')) {
$SERVER_INFO = file_get_contents(PATH_DATA_SITE.PATH_SEP.'.server_info');
$SERVER_INFO = unserialize($SERVER_INFO);
//print_r($SERVER_INFO);
define('SERVER_NAME', $SERVER_INFO ['SERVER_NAME']);
define('SERVER_PORT', $SERVER_INFO ['SERVER_PORT']);
} else {
@@ -127,9 +141,15 @@ if (!defined('SYS_SYS')) {
$sContent = str_replace(");", ';', $sContent);
eval($sContent);
$dsn = $DB_ADAPTER . '://' . $DB_USER . ':' . $DB_PASS . '@' . $DB_HOST . '/' . $DB_NAME;
$dsnRbac = $DB_ADAPTER . '://' . $DB_RBAC_USER . ':' . $DB_RBAC_PASS . '@' . $DB_RBAC_HOST . '/' . $DB_RBAC_NAME;
$dsnRp = $DB_ADAPTER . '://' . $DB_REPORT_USER . ':' . $DB_REPORT_PASS . '@' . $DB_REPORT_HOST . '/' . $DB_REPORT_NAME;
$dsnRbac = $DB_ADAPTER . '://' . $DB_RBAC_USER . ':' . $DB_RBAC_PASS . '@' . $DB_RBAC_HOST . '/';
$dsnRbac = $dsnRbac . $DB_RBAC_NAME;
$dsnRp = $DB_ADAPTER . '://' . $DB_REPORT_USER . ':' . $DB_REPORT_PASS . '@' . $DB_REPORT_HOST . '/';
$dsnRp = $dsnRp . $DB_REPORT_NAME;
switch ($DB_ADAPTER) {
case 'mysql':
$dsn .= '?encoding=utf8';
@@ -142,6 +162,7 @@ if (!defined('SYS_SYS')) {
default:
break;
}
$pro['datasources']['workflow']['connection'] = $dsn;
$pro['datasources']['workflow']['adapter'] = $DB_ADAPTER;
$pro['datasources']['rbac']['connection'] = $dsnRbac;
@@ -150,34 +171,41 @@ if (!defined('SYS_SYS')) {
$pro['datasources']['rp']['adapter'] = $DB_ADAPTER;
//$pro['datasources']['dbarray']['connection'] = 'dbarray://user:pass@localhost/pm_os';
//$pro['datasources']['dbarray']['adapter'] = 'dbarray';
$oFile = fopen(PATH_CORE . 'config/_databases_.php', 'w');
fwrite($oFile, '<?php global $pro;return $pro; ?>');
fclose($oFile);
Propel::init(PATH_CORE . 'config/_databases_.php');
//Creole::registerDriver('dbarray', 'creole.contrib.DBArrayConnection');
eprintln("Processing workspace: " . $sObject, 'green');
eprintln("Processing workspace: " . $sObject, "green");
try {
processWorkspace();
} catch (Exception $e) {
echo $e->getMessage();
eprintln("Probelm in workspace: " . $sObject.' it was omitted.', 'red');
eprintln("Probelm in workspace: " . $sObject . " it was omitted.", "red");
}
eprintln();
}
}
unlink(PATH_CORE . 'config/_databases_.php');
}
else {
} else {
processWorkspace();
}
//finally update the file
@file_put_contents(PATH_DATA . 'cron', serialize(array('bCronIsRunning' => '0', 'sLastExecution' => date('Y-m-d H:i:s'))));
$arrayAux = array('bCronIsRunning' => '0', 'sLastExecution' => date('Y-m-d H:i:s'));
@file_put_contents(PATH_DATA . 'cron', serialize($arrayAux));
function processWorkspace() {
function processWorkspace()
{
global $sLastExecution;
try {
resendEmails();
unpauseApplications();
@@ -185,63 +213,80 @@ function processWorkspace() {
executePlugins();
executeEvents($sLastExecution);
executeScheduledCases();
}
catch (Exception $oError) {
executeUpdateAppTitle();
} catch (Exception $oError) {
saveLog("main", "error", "Error processing workspace : " . $oError->getMessage() . "\n");
}
}
function resendEmails() {
function resendEmails()
{
global $sFilter;
if($sFilter!='' && strpos($sFilter, 'emails') === false) return false;
if ($sFilter != '' && strpos($sFilter, 'emails') === false) {
return false;
}
setExecutionMessage("Resending emails");
try {
G::LoadClass('spool');
$oSpool = new spoolRun();
$oSpool->resendEmails();
saveLog('resendEmails', 'action', 'Resending Emails', "c");
$aSpoolWarnings = $oSpool->getWarnings();
if ( $aSpoolWarnings !== false ) {
foreach ($aSpoolWarnings as $sWarning) {
print('MAIL SPOOL WARNING: ' . $sWarning."\n");
saveLog('resendEmails', 'warning', 'MAIL SPOOL WARNING: ' . $sWarning);
}
}
setExecutionResultMessage('DONE');
}
catch (Exception $oError) {
} catch (Exception $oError) {
setExecutionResultMessage('WITH ERRORS', 'error');
eprintln(" '-".$oError->getMessage(), 'red');
saveLog('resendEmails', 'error', 'Error Resending Emails: ' . $oError->getMessage());
}
}
function unpauseApplications() {
function unpauseApplications()
{
global $sFilter;
global $sNow;
if($sFilter!='' && strpos($sFilter, 'unpause') === false) return false;
if ($sFilter != '' && strpos($sFilter, 'unpause') === false) {
return false;
}
setExecutionMessage("Unpausing applications");
try {
G::LoadClass('case');
$oCases = new Cases();
$oCases->ThrowUnpauseDaemon($sNow);
setExecutionResultMessage('DONE');
saveLog('unpauseApplications', 'action', 'Unpausing Applications');
}
catch (Exception $oError) {
} catch (Exception $oError) {
setExecutionResultMessage('WITH ERRORS', 'error');
eprintln(" '-".$oError->getMessage(), 'red');
saveLog('unpauseApplications', 'error', 'Error Unpausing Applications: ' . $oError->getMessage());
}
}
function executePlugins(){
function executePlugins()
{
global $sFilter;
if($sFilter!='' && strpos($sFilter, 'plugins') === false) return false;
if ($sFilter!='' && strpos($sFilter, 'plugins') === false) {
return false;
}
$pathCronPlugins = PATH_CORE.'bin'.PATH_SEP.'plugins'.PATH_SEP;
@@ -257,7 +302,9 @@ function executePlugins(){
$className = $filename . 'ClassCron';
include_once ( $pathCronPlugins . $file ); //$filename. ".php"
$oPlugin = new $className();
if (method_exists($oPlugin, 'executeCron')) {
$oPlugin->executeCron();
setExecutionMessage("Executing Plugins");
@@ -267,71 +314,87 @@ function executePlugins(){
}
}
}
function calculateDuration() {
function calculateDuration()
{
global $sFilter;
if($sFilter!='' && strpos($sFilter, 'calculate') === false) return false;
if ($sFilter != '' && strpos($sFilter, 'calculate') === false) {
return false;
}
setExecutionMessage("Calculating Duration");
try {
$oAppDelegation = new AppDelegation();
$oAppDelegation->calculateDuration();
setExecutionResultMessage('DONE');
saveLog('calculateDuration', 'action', 'Calculating Duration');
}
catch (Exception $oError) {
} catch (Exception $oError) {
setExecutionResultMessage('WITH ERRORS', 'error');
eprintln(" '-".$oError->getMessage(), 'red');
saveLog('calculateDuration', 'error', 'Error Calculating Duration: ' . $oError->getMessage());
}
}
function executeEvents($sLastExecution, $sNow=null) {
function executeEvents($sLastExecution, $sNow=null)
{
global $sFilter;
global $sNow;
$log = array();
if($sFilter!='' && strpos($sFilter, 'events') === false) return false;
if ($sFilter != '' && strpos($sFilter, 'events') === false) {
return false;
}
setExecutionMessage("Executing events");
setExecutionResultMessage('PROCESSING');
try {
$oAppEvent = new AppEvent();
saveLog('executeEvents', 'action', "Executing Events $sLastExecution, $sNow ");
$n = $oAppEvent->executeEvents($sNow, false, $log);
foreach ($log as $value) {
saveLog('executeEvents', 'action', "Execute Events : $value, $sNow ");
}
setExecutionMessage("|- End Execution events");
setExecutionResultMessage("Processed $n");
//saveLog('executeEvents', 'action', $res );
}
catch (Exception $oError) {
} catch (Exception $oError) {
setExecutionResultMessage('WITH ERRORS', 'error');
eprintln(" '-".$oError->getMessage(), 'red');
saveLog('calculateAlertsDueDate', 'Error', 'Error Executing Events: ' . $oError->getMessage());
}
}
function executeScheduledCases($sNow=null){
function executeScheduledCases($sNow=null)
{
try {
global $sFilter;
global $sNow;
$log = array();
if($sFilter!='' && strpos($sFilter, 'scheduler') === false) return false;
if ($sFilter != '' && strpos($sFilter, 'scheduler') === false) {
return false;
}
setExecutionMessage("Executing the scheduled starting cases");
setExecutionResultMessage('PROCESSING');
$sNow = isset($sNow)? $sNow : date('Y-m-d H:i:s');
$oCaseScheduler = new CaseScheduler;
$oCaseScheduler = new CaseScheduler();
$oCaseScheduler->caseSchedulerCron($sNow, $log);
foreach ($log as $value) {
saveLog('executeScheduledCases', 'action', "OK Case# $value");
}
setExecutionResultMessage('DONE');
} catch (Exception $oError) {
setExecutionResultMessage('WITH ERRORS', 'error');
@@ -339,48 +402,102 @@ function executeScheduledCases($sNow=null){
}
}
function saveLog($sSource, $sType, $sDescription) {
function executeUpdateAppTitle()
{
try {
$criteriaConf = new Criteria("workflow");
$criteriaConf->addSelectColumn(ConfigurationPeer::OBJ_UID);
$criteriaConf->addSelectColumn(ConfigurationPeer::CFG_VALUE);
$criteriaConf->add(ConfigurationPeer::CFG_UID, "TAS_APP_TITLE_UPDATE");
$rsCriteriaConf = ConfigurationPeer::doSelectRS($criteriaConf);
$rsCriteriaConf->setFetchmode(ResultSet::FETCHMODE_ASSOC);
setExecutionMessage("Update case labels");
saveLog("updateCaseLabels", "action", "Update case labels", "c");
while ($rsCriteriaConf->next()) {
$row = $rsCriteriaConf->getRow();
$taskUid = $row["OBJ_UID"];
$lang = $row["CFG_VALUE"];
//Update case labels
$appcv = new AppCacheView();
$appcv->appTitleByTaskCaseLabelUpdate($taskUid, $lang);
//Delete record
$criteria = new Criteria("workflow");
$criteria->add(ConfigurationPeer::CFG_UID, "TAS_APP_TITLE_UPDATE");
$criteria->add(ConfigurationPeer::OBJ_UID, $taskUid);
$criteria->add(ConfigurationPeer::CFG_VALUE, $lang);
$numRowDeleted = ConfigurationPeer::doDelete($criteria);
saveLog("updateCaseLabels", "action", "OK Task $taskUid");
}
setExecutionResultMessage("DONE");
} catch (Exception $e) {
setExecutionResultMessage("WITH ERRORS", "error");
eprintln(" '-" . $e->getMessage(), "red");
saveLog("updateCaseLabels", "error", "Error updating case labels: " . $e->getMessage());
}
}
function saveLog($sSource, $sType, $sDescription)
{
try {
global $isDebug;
if ( $isDebug )
print date('H:i:s') ." ($sSource) $sType $sDescription <br>\n";
if ($isDebug) {
print date('H:i:s') ." ($sSource) $sType $sDescription <br />\n";
}
@fwrite($oFile, date('Y-m-d H:i:s') . '(' . $sSource . ') ' . $sDescription . "\n");
G::verifyPath(PATH_DATA . 'log' . PATH_SEP, true);
if ($sType == 'action') {
$oFile = @fopen(PATH_DATA . 'log' . PATH_SEP . 'cron.log', 'a+');
}
else {
} else {
$oFile = @fopen(PATH_DATA . 'log' . PATH_SEP . 'cronError.log', 'a+');
}
@fwrite($oFile, date('Y-m-d H:i:s') . '(' . $sSource . ') ' . $sDescription . "\n");
@fclose($oFile);
}
catch (Exception $oError) {
} catch (Exception $oError) {
//CONTINUE
}
}
function setExecutionMessage($m){
function setExecutionMessage($m)
{
$len = strlen($m);
$linesize = 60;
$rOffset = $linesize - $len;
eprint("* $m");
for($i=0; $i<$rOffset; $i++) eprint('.');
for ($i = 0; $i < $rOffset; $i++) {
eprint('.');
}
}
function setExecutionResultMessage($m, $t=''){
function setExecutionResultMessage($m, $t='')
{
$c = 'green';
if($t=='error') $c = 'red';
if($t=='info') $c = 'yellow';
if ($t == 'error') {
$c = 'red';
}
if ($t == 'info') {
$c = 'yellow';
}
eprintln("[$m]", $c);
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,29 +1,4 @@
<?php
/**
* Task.php
* @package workflow.engine.classes.model
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2011 Colosa Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/
require_once 'classes/model/om/BaseTask.php';
require_once 'classes/model/Content.php';
@@ -39,12 +14,14 @@ require_once 'classes/model/Content.php';
*
* @package workflow.engine.classes.model
*/
class Task extends BaseTask {
class Task extends BaseTask
{
/**
* This value goes in the content table
* @var string
*/
protected $tas_title = '';
/**
* Get the tas_title column value.
* @return string
@@ -54,10 +31,13 @@ class Task extends BaseTask {
if ($this->getTasUid() == "") {
throw (new Exception("Error in getTasTitle, the getTasUid() can't be blank"));
}
$lang = defined('SYS_LANG')? SYS_LANG : 'en';
$this->tas_title = Content::load('TAS_TITLE', '', $this->getTasUid(), $lang);
return $this->tas_title;
}
/**
* Set the tas_title column value.
*
@@ -69,21 +49,27 @@ class Task extends BaseTask {
if ($this->getTasUid() == "") {
throw (new Exception("Error in setTasTitle, the getTasUid() can't be blank"));
}
$v = isset($v)? ((string)$v) : '';
$lang = defined('SYS_LANG')? SYS_LANG : 'en';
if ($this->tas_title !== $v || $v === "") {
$this->tas_title = $v;
$res = Content::addContent('TAS_TITLE', '', $this->getTasUid(), $lang, $this->tas_title);
return $res;
}
return 0;
}
/**
* This value goes in the content table
* @var string
*/
protected $tas_description = '';
/**
* Get the tas_description column value.
* @return string
@@ -93,10 +79,13 @@ class Task extends BaseTask {
if ($this->getTasUid() == "") {
throw (new Exception( "Error in getTasDescription, the getTasUid() can't be blank"));
}
$lang = defined('SYS_LANG')? SYS_LANG : 'en';
$this->tas_description = Content::load('TAS_DESCRIPTION', '', $this->getTasUid(), $lang);
return $this->tas_description;
}
/**
* Set the tas_description column value.
*
@@ -108,21 +97,27 @@ class Task extends BaseTask {
if ($this->getTasUid() == "") {
throw (new Exception("Error in setTasDescription, the getTasUid() can't be blank"));
}
$v = isset($v)? ((string)$v) : '';
$lang = defined('SYS_LANG')? SYS_LANG : 'en';
if ($this->tas_description !== $v || $v === "") {
$this->tas_description = $v;
$res = Content::addContent('TAS_DESCRIPTION', '', $this->getTasUid(), $lang, $this->tas_description);
return $res;
}
return 0;
}
/**
* This value goes in the content table
* @var string
*/
protected $tas_def_title = '';
/**
* Get the tas_def_title column value.
* @return string
@@ -132,10 +127,13 @@ class Task extends BaseTask {
if ($this->getTasUid() == "") {
throw (new Exception( "Error in getTasDefTitle, the getTasUid() can't be blank"));
}
$lang = defined('SYS_LANG')? SYS_LANG : 'en';
$this->tas_def_title = Content::load('TAS_DEF_TITLE', '', $this->getTasUid(), $lang);
return $this->tas_def_title;
}
/**
* Set the tas_def_title column value.
*
@@ -147,21 +145,27 @@ class Task extends BaseTask {
if ($this->getTasUid() == "") {
throw (new Exception("Error in setTasDefTitle, the getTasUid() can't be blank"));
}
$v = isset($v)? ((string)$v) : '';
$lang = defined('SYS_LANG')? SYS_LANG : 'en';
if ($this->tas_def_title !== $v || $v === "") {
$this->tas_def_title = $v;
$res = Content::addContent('TAS_DEF_TITLE', '', $this->getTasUid(), $lang, $this->tas_def_title);
return $res;
}
return 0;
}
/**
* This value goes in the content table
* @var string
*/
protected $tas_def_description = '';
/**
* Get the tas_def_description column value.
* @return string
@@ -171,10 +175,13 @@ class Task extends BaseTask {
if ($this->getTasUid() == "") {
throw (new Exception( "Error in getTasDefDescription, the getTasUid() can't be blank"));
}
$lang = defined('SYS_LANG')? SYS_LANG : 'en';
$this->tas_def_description = Content::load('TAS_DEF_DESCRIPTION', '', $this->getTasUid(), $lang);
return $this->tas_def_description;
}
/**
* Set the tas_def_description column value.
*
@@ -186,21 +193,26 @@ class Task extends BaseTask {
if ($this->getTasUid() == "") {
throw (new Exception("Error in setTasDefDescription, the getTasUid() can't be blank"));
}
$v = isset($v)? ((string)$v) : '';
$lang = defined('SYS_LANG')? SYS_LANG : 'en';
if ($this->tas_def_description !== $v || $v === "") {
$this->tas_def_description = $v;
$res = Content::addContent( 'TAS_DEF_DESCRIPTION', '', $this->getTasUid(), $lang, $this->tas_def_description );
$res = Content::addContent('TAS_DEF_DESCRIPTION', '', $this->getTasUid(), $lang, $v);
return $res;
}
return 0;
}
/**
* This value goes in the content table
* @var string
*/
protected $tas_def_proc_code = '';
/**
* Get the tas_def_proc_code column value.
* @return string
@@ -210,10 +222,13 @@ class Task extends BaseTask {
if ($this->getTasUid() == "") {
throw (new Exception( "Error in getTasDefProcCode, the getTasUid() can't be blank"));
}
$lang = defined('SYS_LANG')? SYS_LANG : 'en';
$this->tas_def_proc_code = Content::load('TAS_DEF_PROC_CODE', '', $this->getTasUid(), $lang);
return $this->tas_def_proc_code;
}
/**
* Set the tas_def_proc_code column value.
*
@@ -225,21 +240,27 @@ class Task extends BaseTask {
if ($this->getTasUid() == "") {
throw (new Exception("Error in setTasDefProcCode, the getTasUid() can't be blank"));
}
$v = isset($v)? ((string)$v) : '';
$lang = defined('SYS_LANG')? SYS_LANG : 'en';
if ($this->tas_def_proc_code !== $v || $v === "") {
$this->tas_def_proc_code = $v;
$res = Content::addContent('TAS_DEF_PROC_CODE', '', $this->getTasUid(), $lang, $this->tas_def_proc_code);
return $res;
}
return 0;
}
/**
* This value goes in the content table
* @var string
*/
protected $tas_def_message = '';
/**
* Get the tas_def_message column value.
* @return string
@@ -249,8 +270,10 @@ class Task extends BaseTask {
if ($this->getTasUid() == "") {
throw (new Exception( "Error in getTasDefMessage, the getTasUid() can't be blank"));
}
$lang = defined('SYS_LANG')? SYS_LANG : 'en';
$this->tas_def_message = Content::load('TAS_DEF_MESSAGE', '', $this->getTasUid(), $lang);
return $this->tas_def_message;
}
@@ -267,12 +290,15 @@ class Task extends BaseTask {
}
$v = isset($v)? ((string)$v) : '';
$lang = defined('SYS_LANG')? SYS_LANG : 'en';
if ($this->tas_def_message !== $v || $v === "") {
$this->tas_def_message = $v;
$res = Content::addContent('TAS_DEF_MESSAGE', '', $this->getTasUid(), $lang, $this->tas_def_message);
return $res;
}
return 0;
}
@@ -291,12 +317,13 @@ class Task extends BaseTask {
if ($this->getTasUid() == "") {
throw (new Exception("Error in getTasDefSubjectMessage, the getTasUid() can't be blank"));
}
$lang = defined('SYS_LANG')? SYS_LANG : 'en';
$this->tas_def_subject_message = Content::load('TAS_DEF_SUBJECT_MESSAGE', '', $this->getTasUid(), $lang);
return $this->tas_def_subject_message;
}
/**
* Set the tas_def_subject_message column value.
*
@@ -308,16 +335,18 @@ class Task extends BaseTask {
if ($this->getTasUid() == "") {
throw (new Exception( "Error in setTasDefSubjectMessage, the getTasUid() can't be blank"));
}
$v = isset($v)? ((string)$v) : '';
$lang = defined('SYS_LANG')? SYS_LANG : 'en';
if ($this->tas_def_subject_message !== $v || $v === "") {
$this->tas_def_subject_message = $v;
$res = Content::addContent( 'TAS_DEF_SUBJECT_MESSAGE', '', $this->getTasUid(), $lang, $this->tas_def_subject_message );
$res = Content::addContent('TAS_DEF_SUBJECT_MESSAGE', '', $this->getTasUid(), $lang, $v);
return $res;
}
return 0;
}
@@ -327,11 +356,11 @@ class Task extends BaseTask {
* @param array $aData with new values
* @return void
*/
function create($aData)
public function create($aData)
{
$con = Propel::getConnection(TaskPeer::DATABASE_NAME);
try
{
try {
$sTaskUID = G::generateUniqueID();
$con->begin();
$this->setProUid($aData['PRO_UID']);
@@ -369,8 +398,8 @@ class Task extends BaseTask {
$this->setTasPosy("");
$this->setTasColor("");
$this->fromArray($aData,BasePeer::TYPE_FIELDNAME);
if($this->validate())
{
if ($this->validate()) {
$this->setTasTitle((isset($aData['TAS_TITLE']) ? $aData['TAS_TITLE']: ''));
$this->setTasDescription("");
$this->setTasDefTitle("");
@@ -380,25 +409,24 @@ class Task extends BaseTask {
$this->setTasDefSubjectMessage("");
$this->save();
$con->commit();
return $sTaskUID;
}
else
{
} else {
$con->rollback();
$e = new Exception("Failed Validation in class " . get_class($this) . ".");
$e->aValidationFailures=$this->getValidationFailures();
throw ($e);
}
}
catch(Exception $e)
{
} catch (Exception $e) {
$con->rollback();
throw ($e);
}
}
public function kgetassigType($pro_uid, $tas){
public function kgetassigType($pro_uid, $tas)
{
$k = new Criteria();
$k->clearSelectColumns();
$k->addSelectColumn(TaskPeer::TAS_UID);
@@ -418,15 +446,16 @@ public function kgetassigType($pro_uid, $tas){
try {
$oRow = TaskPeer::retrieveByPK($TasUid);
if (!is_null($oRow))
{
if (!is_null($oRow)) {
$aFields = $oRow->toArray(BasePeer::TYPE_FIELDNAME);
$this->fromArray($aFields, BasePeer::TYPE_FIELDNAME); //Populating an object from of the array //Populating attributes
$this->fromArray($aFields, BasePeer::TYPE_FIELDNAME); //Populating an object from of the array
//Populating attributes
$this->setNew(false);
///////
//Create new records for TASK in CONTENT for the current language, this if is necesary //Populating others attributes
//Create new records for TASK in CONTENT for the current language, this if is necesary
//Populating others attributes
$this->setTasUid($TasUid);
$aFields["TAS_TITLE"] = $this->getTasTitle();
@@ -439,64 +468,92 @@ public function kgetassigType($pro_uid, $tas){
///////
return $aFields;
}
else {
} else {
throw (new Exception("The row '" . $TasUid . "' in table TASK doesn't exist!"));
}
}
catch (Exception $oError) {
} catch (Exception $oError) {
throw ($oError);
}
}
function update($fields)
public function update($fields)
{
ini_set("max_execution_time", 0);
require_once ("classes/model/AppCacheView.php");
require_once ("classes/model/Configuration.php");
$con = Propel::getConnection(TaskPeer::DATABASE_NAME);
try
{
try {
$con->begin();
$this->load($fields['TAS_UID']);
$this->load($fields["TAS_UID"]);
$this->fromArray($fields, BasePeer::TYPE_FIELDNAME);
if($this->validate())
{
$contentResult=0;
if (array_key_exists("TAS_TITLE", $fields)) $contentResult+=$this->setTasTitle($fields["TAS_TITLE"]);
if (array_key_exists("TAS_DESCRIPTION", $fields)) $contentResult+=$this->setTasDescription($fields["TAS_DESCRIPTION"]);
if (array_key_exists("TAS_DEF_TITLE", $fields)) $contentResult+=$this->setTasDefTitle($fields["TAS_DEF_TITLE"]);
if (array_key_exists("TAS_DEF_DESCRIPTION", $fields)) $contentResult+=$this->setTasDefDescription($fields["TAS_DEF_DESCRIPTION"]);
if (array_key_exists("TAS_DEF_PROC_CODE", $fields)) $contentResult+=$this->setTasDefProcCode($fields["TAS_DEF_PROC_CODE"]);
if (array_key_exists("TAS_DEF_MESSAGE", $fields)) $contentResult+=$this->setTasDefMessage(trim($fields["TAS_DEF_MESSAGE"]));
if (array_key_exists("TAS_DEF_SUBJECT_MESSAGE", $fields)) $contentResult+=$this->setTasDefSubjectMessage(trim($fields["TAS_DEF_SUBJECT_MESSAGE"]));
if (array_key_exists("TAS_CALENDAR", $fields)) $contentResult+=$this->setTasCalendar($fields['TAS_UID'],$fields["TAS_CALENDAR"]);
$result=$this->save();
$result=($result==0)?($contentResult>0?1:0):$result;
$con->commit();
if ($result == 1 && array_key_exists("TAS_DEF_TITLE", $fields)) {
//Get cases
$criteriaAPPCV = new Criteria("workflow");
if ($this->validate()) {
$taskDefTitlePrevious = null;
$criteriaAPPCV->setDistinct();
$criteriaAPPCV->addSelectColumn(AppCacheViewPeer::APP_UID);
$criteriaAPPCV->add(AppCacheViewPeer::TAS_UID, $fields["TAS_UID"]);
$rsCriteriaAPPCV = AppCacheViewPeer::doSelectRS($criteriaAPPCV);
$rsCriteriaAPPCV->setFetchmode(ResultSet::FETCHMODE_ASSOC);
while ($rsCriteriaAPPCV->next()) {
$row = $rsCriteriaAPPCV->getRow();
$appcv_application_uid = $row["APP_UID"];
//Get DEL_INDEX_MAX
$criteria = new Criteria("workflow");
$criteria->addAsColumn("DEL_INDEX_MAX", "MAX(" . AppCacheViewPeer::DEL_INDEX . ")");
$criteria->add(AppCacheViewPeer::APP_UID, $appcv_application_uid);
$criteria->addSelectColumn(ContentPeer::CON_VALUE);
$criteria->add(ContentPeer::CON_CATEGORY, "TAS_DEF_TITLE");
$criteria->add(ContentPeer::CON_ID, $fields["TAS_UID"]);
$criteria->add(ContentPeer::CON_LANG, SYS_LANG);
$rsCriteria = ContentPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
while ($rsCriteria->next()) {
$row = $rsCriteria->getRow();
$taskDefTitlePrevious = $row["CON_VALUE"];
}
$contentResult = 0;
if (array_key_exists("TAS_TITLE", $fields)) {
$contentResult += $this->setTasTitle($fields["TAS_TITLE"]);
}
if (array_key_exists("TAS_DESCRIPTION", $fields)) {
$contentResult += $this->setTasDescription($fields["TAS_DESCRIPTION"]);
}
if (array_key_exists("TAS_DEF_TITLE", $fields)) {
$contentResult += $this->setTasDefTitle($fields["TAS_DEF_TITLE"]);
}
if (array_key_exists("TAS_DEF_DESCRIPTION", $fields)) {
$contentResult += $this->setTasDefDescription($fields["TAS_DEF_DESCRIPTION"]);
}
if (array_key_exists("TAS_DEF_PROC_CODE", $fields)) {
$contentResult += $this->setTasDefProcCode($fields["TAS_DEF_PROC_CODE"]);
}
if (array_key_exists("TAS_DEF_MESSAGE", $fields)) {
$contentResult += $this->setTasDefMessage(trim($fields["TAS_DEF_MESSAGE"]));
}
if (array_key_exists("TAS_DEF_SUBJECT_MESSAGE", $fields)) {
$contentResult += $this->setTasDefSubjectMessage(trim($fields["TAS_DEF_SUBJECT_MESSAGE"]));
}
if (array_key_exists("TAS_CALENDAR", $fields)) {
$contentResult += $this->setTasCalendar($fields['TAS_UID'],$fields["TAS_CALENDAR"]);
}
$result = $this->save();
$result = ($result == 0)? (($contentResult > 0)? 1 : 0) : $result;
$con->commit();
if ($result == 1 &&
array_key_exists("TAS_DEF_TITLE", $fields) &&
$fields["TAS_DEF_TITLE"] != $taskDefTitlePrevious
) {
$criteria = new Criteria("workflow");
$criteria->addAsColumn("APPCV_NUM_ROWS", "COUNT(DISTINCT " . AppCacheViewPeer::APP_UID . ")");
$criteria->add(AppCacheViewPeer::DEL_THREAD_STATUS, "OPEN");
$criteria->add(AppCacheViewPeer::TAS_UID, $fields["TAS_UID"]);
$rsCriteria = AppCacheViewPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
@@ -504,67 +561,64 @@ public function kgetassigType($pro_uid, $tas){
$rsCriteria->next();
$row = $rsCriteria->getRow();
$appcvDelIndexMax = $row["DEL_INDEX_MAX"];
$appcvNumRows = intval($row["APPCV_NUM_ROWS"]);
//Current task?
if ($appcvNumRows <= 1000) {
$appcv = new AppCacheView();
$appcv->appTitleByTaskCaseLabelUpdate($fields["TAS_UID"], SYS_LANG);
$result = 2;
} else {
//Delete record
$criteria = new Criteria("workflow");
$criteria->addSelectColumn(AppCacheViewPeer::APP_UID);
$criteria->add(AppCacheViewPeer::APP_UID, $appcv_application_uid);
$criteria->add(AppCacheViewPeer::DEL_INDEX, $appcvDelIndexMax);
$criteria->add(AppCacheViewPeer::TAS_UID, $fields["TAS_UID"]);
$criteria->add(ConfigurationPeer::CFG_UID, "TAS_APP_TITLE_UPDATE");
$criteria->add(ConfigurationPeer::OBJ_UID, $fields["TAS_UID"]);
$criteria->add(ConfigurationPeer::CFG_VALUE, SYS_LANG);
$rsCriteria = AppCacheViewPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$numRowDeleted = ConfigurationPeer::doDelete($criteria);
if ($rsCriteria->next()) {
$appTitle = $fields["TAS_DEF_TITLE"];
//Insert record
$conf = new Configuration();
$app = new Application();
$arrayAppField = $app->Load($appcv_application_uid);
$conf->create(
array(
"CFG_UID" => "TAS_APP_TITLE_UPDATE",
"OBJ_UID" => $fields["TAS_UID"],
"CFG_VALUE" => SYS_LANG,
"PRO_UID" => "",
"USR_UID" => "",
"APP_UID" => ""
)
);
$appTitle = (!empty($appTitle))? $appTitle : "#" . $arrayAppField["APP_NUMBER"];
$appTitleNew = G::replaceDataField($appTitle, unserialize($arrayAppField["APP_DATA"]));
if (isset($arrayAppField["APP_TITLE"]) && $arrayAppField["APP_TITLE"] != $appTitleNew) {
//Updating the value in content, where...
$criteria1 = new Criteria("workflow");
$criteria1->add(ContentPeer::CON_CATEGORY, "APP_TITLE");
$criteria1->add(ContentPeer::CON_ID, $appcv_application_uid);
$criteria1->add(ContentPeer::CON_LANG, SYS_LANG);
//Update set
$criteria2 = new Criteria("workflow");
$criteria2->add(ContentPeer::CON_VALUE, $appTitleNew);
BasePeer::doUpdate($criteria1, $criteria2, Propel::getConnection("workflow"));
}
}
$result = 3;
}
}
return $result;
}
else
{
} else {
$con->rollback();
throw (new Exception("Failed Validation in class " . get_class($this) . "."));
}
}
catch(Exception $e)
{
} catch (Exception $e) {
$con->rollback();
throw ($e);
}
}
function remove($TasUid)
public function remove($TasUid)
{
$oConnection = Propel::getConnection(TaskPeer::DATABASE_NAME);
try {
$oTask = TaskPeer::retrieveByPK($TasUid);
if (!is_null($oTask))
{
if (!is_null($oTask)) {
$oConnection->begin();
Content::removeContent('TAS_TITLE', '', $oTask->getTasUid());
Content::removeContent('TAS_DESCRIPTION', '', $oTask->getTasUid());
Content::removeContent('TAS_DEF_TITLE', '', $oTask->getTasUid());
@@ -572,16 +626,17 @@ public function kgetassigType($pro_uid, $tas){
Content::removeContent('TAS_DEF_PROC_CODE', '', $oTask->getTasUid());
Content::removeContent('TAS_DEF_MESSAGE', '', $oTask->getTasUid());
Content::removeContent('TAS_DEF_SUBJECT_MESSAGE', '', $oTask->getTasUid());
$iResult = $oTask->delete();
$oConnection->commit();
return $iResult;
}
else {
} else {
throw (new Exception( "The row '" . $TasUid . "' in table TASK doesn't exist!"));
}
}
catch (Exception $oError) {
} catch (Exception $oError) {
$oConnection->rollback();
throw ($oError);
}
}
@@ -591,19 +646,19 @@ public function kgetassigType($pro_uid, $tas){
*
* @param string $sProUid the uid of the Prolication
*/
function taskExists ( $TasUid ) {
public function taskExists($TasUid)
{
$con = Propel::getConnection(TaskPeer::DATABASE_NAME);
try {
$oPro = TaskPeer::retrieveByPk($TasUid);
if (is_object($oPro) && get_class($oPro) == 'Task') {
return true;
}
else {
} else {
return false;
}
}
catch (Exception $oError) {
} catch (Exception $oError) {
throw ($oError);
}
}
@@ -614,52 +669,56 @@ public function kgetassigType($pro_uid, $tas){
* @param array $aData with new values
* @return void
*/
function createRow($aData)
public function createRow($aData)
{
$con = Propel::getConnection(TaskPeer::DATABASE_NAME);
try
{
try {
$con->begin();
$this->fromArray($aData,BasePeer::TYPE_FIELDNAME);
if($this->validate())
{
if ($this->validate()) {
$this->setTasTitle((isset($aData['TAS_TITLE'])? $aData['TAS_TITLE'] : ''));
$this->setTasDescription((isset($aData['TAS_DESCRIPTION'])? $aData['TAS_DESCRIPTION'] : ''));
$this->setTasDefTitle((isset($aData['TAS_DEF_TITLE'])? $aData['TAS_DEF_TITLE'] : ''));
$this->setTasDefDescription((isset($aData['TAS_DEF_DESCRIPTION'])? $aData['TAS_DEF_DESCRIPTION'] : ''));
$this->setTasDefProcCode((isset($aData['TAS_DEF_DESCRIPTION'])? $aData['TAS_DEF_DESCRIPTION'] : ''));
$this->setTasDefMessage((isset($aData['TAS_DEF_MESSAGE'])? $aData['TAS_DEF_MESSAGE'] : ''));
$this->setTasDefSubjectMessage((isset($aData['TAS_DEF_SUBJECT_MESSAGE']) ? $aData['TAS_DEF_SUBJECT_MESSAGE']: ''));
$strAux = isset($aData['TAS_DEF_SUBJECT_MESSAGE'])? $aData['TAS_DEF_SUBJECT_MESSAGE'] : '';
$this->setTasDefSubjectMessage($strAux);
$this->save();
$con->commit();
return;
}
else
{
} else {
$con->rollback();
$e = new Exception("Failed Validation in class " . get_class($this) . ".");
$e->aValidationFailures=$this->getValidationFailures();
throw ($e);
}
}
catch(Exception $e)
{
} catch (Exception $e) {
$con->rollback();
throw ($e);
}
}
function setTasCalendar($taskUid,$calendarUid){
public function setTasCalendar($taskUid, $calendarUid)
{
//Save Calendar ID for this process
G::LoadClass("calendar");
$calendarObj = new Calendar();
$calendarObj->assignCalendarTo($taskUid, $calendarUid, 'TASK');
}
function getDelegatedTaskData($TAS_UID, $APP_UID, $DEL_INDEX)
public function getDelegatedTaskData($TAS_UID, $APP_UID, $DEL_INDEX)
{
require_once 'classes/model/AppDelegation.php';
require_once 'classes/model/Task.php';
require_once ('classes/model/AppDelegation.php');
require_once ('classes/model/Task.php');
$oTask = new Task();
$aFields = $oTask->load($TAS_UID);
@@ -672,9 +731,22 @@ public function kgetassigType($pro_uid, $tas){
$taskData = $oDataset->getRow();
$iDiff = strtotime($taskData['DEL_FINISH_DATE']) - strtotime($taskData['DEL_INIT_DATE']);
$aFields['INIT_DATE'] = ($taskData['DEL_INIT_DATE'] != null ? $taskData['DEL_INIT_DATE'] : G::LoadTranslation('ID_CASE_NOT_YET_STARTED'));
$aFields['DUE_DATE'] = ($taskData['DEL_TASK_DUE_DATE'] != null ? $taskData['DEL_TASK_DUE_DATE'] : G::LoadTranslation('ID_NOT_FINISHED'));
$aFields['FINISH'] = ($taskData['DEL_FINISH_DATE'] != null ? $taskData['DEL_FINISH_DATE'] : G::LoadTranslation('ID_NOT_FINISHED'));
$aFields['INIT_DATE'] = (
$taskData['DEL_INIT_DATE'] != null ?
$taskData['DEL_INIT_DATE'] : G::LoadTranslation('ID_CASE_NOT_YET_STARTED')
);
$aFields['DUE_DATE'] = (
$taskData['DEL_TASK_DUE_DATE'] != null ?
$taskData['DEL_TASK_DUE_DATE'] : G::LoadTranslation('ID_NOT_FINISHED')
);
$aFields['FINISH'] = (
$taskData['DEL_FINISH_DATE'] != null ?
$taskData['DEL_FINISH_DATE'] : G::LoadTranslation('ID_NOT_FINISHED')
);
$aFields['DURATION'] = ($taskData['DEL_FINISH_DATE'] != null ? (int) ($iDiff / 3600) . ' ' . ((int) ($iDiff / 3600) == 1 ? G::LoadTranslation('ID_HOUR') : G::LoadTranslation('ID_HOURS')) . ' ' . (int) (($iDiff % 3600) / 60) . ' ' . ((int) (($iDiff % 3600) / 60) == 1 ? G::LoadTranslation('ID_MINUTE') : G::LoadTranslation('ID_MINUTES')) . ' ' . (int) (($iDiff % 3600) % 60) . ' ' . ((int) (($iDiff % 3600) % 60) == 1 ? G::LoadTranslation('ID_SECOND') : G::LoadTranslation('ID_SECONDS')) : G::LoadTranslation('ID_NOT_FINISHED'));
return $aFields;
@@ -682,20 +754,26 @@ public function kgetassigType($pro_uid, $tas){
//Added by qennix
//Gets Starting Event of current task
function getStartingEvent(){
require_once 'classes/model/Event.php';
public function getStartingEvent()
{
require_once ('classes/model/Event.php');
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(EventPeer::EVN_UID);
$oCriteria->add(EventPeer::EVN_TAS_UID_TO, $this->tas_uid);
//$oCriteria->add(EventPeer::EVN_TYPE, 'bpmnEventMessageStart');
$oDataset = EventPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
if ($oDataset->next()) {
$row = $oDataset->getRow();
$event_uid = $row['EVN_UID'];
} else {
$event_uid = '';
}
return $event_uid;
}
} // Task
}
//Task

View File

@@ -199,27 +199,6 @@ var saveTaskData = function(oForm, iForm, iType)
return false;
}
//Panel processing //iForm = 6 //Case Labels
var pnlProcessing;
pnlProcessing = new leimnud.module.panel();
pnlProcessing.options = {
//title: "",
//theme: this.options.theme,
limit: true,
size: {w: 250, h: 110},
position: {x: 50, y: 50, center: true},
control: {close: false, resize: false},
statusBar: true,
fx:{shadow: true, modal: true}
};
pnlProcessing.make();
//pnlProcessing.loader.show();
pnlProcessing.addContent("<div style=\"margin-left: 1em; padding: 0.80em 0 1em 4em; background: url(/images/classic/loader_B.gif) no-repeat left top;\">" + _("ID_PROCESSING") + "</div>");
//Set AJAX
var sParameters = "function=saveTaskData";
@@ -230,8 +209,7 @@ var saveTaskData = function(oForm, iForm, iType)
});
oRPC.callback = function (rpc) {
//pnlProcessing.loader.hide();
pnlProcessing.remove();
var res = rpc.xmlhttp.responseText.parseJSON();
if (oTaskData.TAS_TITLE) {
Pm.data.db.task[getField("INDEX").value].label = Pm.data.db.task[getField("INDEX").value].object.elements.label.innerHTML = oTaskData.TAS_TITLE.replace(re2, "&amp;");
@@ -243,9 +221,21 @@ var saveTaskData = function(oForm, iForm, iType)
}
try {
new leimnud.module.app.info().make({
var option = {
label: changesSavedLabel
});
}
switch (res.status) {
case "CRONCL":
option = {
label: changesSavedLabel + "<br /><br />" + _("APP_TITLE_CASE_LABEL_UPDATE"),
width: 350,
height: 175
}
break;
}
new leimnud.module.app.info().make(option);
}
catch (e) {
//No show confirmation

View File

@@ -1,29 +1,7 @@
<?php
/**
* tasks_Ajax.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/
try {
global $RBAC;
switch ($RBAC->userCanAccess('PM_FACTORY')) {
case -2:
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
@@ -39,14 +17,19 @@ try {
$oJSON = new Services_JSON();
$aData = get_object_vars($oJSON->decode($_POST['oData']));
if(isset($_POST['function']))
if (isset($_POST['function'])) {
$sAction = $_POST['function'];
else
} else {
$sAction = $_POST['functions'];
}
switch ($sAction) {
case 'saveTaskData':
require_once 'classes/model/Task.php';
case "saveTaskData":
require_once ("classes/model/Task.php");
$response = array();
$oTask = new Task();
/**
@@ -54,6 +37,7 @@ try {
* that why the char "&" can't be passed by XmlHttpRequest directly
* @autor erik <erik@colosa.com>
*/
foreach ($aData as $k => $v) {
$aData[$k] = str_replace('@amp@', '&', $v);
}
@@ -66,22 +50,32 @@ try {
//Additional configuration
if (isset($aData['TAS_DEF_MESSAGE_TYPE']) && isset($aData['TAS_DEF_MESSAGE_TEMPLATE'])) {
G::loadClass('configuration');
$oConf = new Configurations;
$oConf->aConfig = Array(
G::LoadClass('configuration');
$oConf = new Configurations();
$oConf->aConfig = array(
'TAS_DEF_MESSAGE_TYPE' => $aData['TAS_DEF_MESSAGE_TYPE'],
'TAS_DEF_MESSAGE_TEMPLATE' => $aData['TAS_DEF_MESSAGE_TEMPLATE']
);
$oConf->saveConfig('TAS_EXTRA_PROPERTIES', $aData['TAS_UID'], '', '');
unset($aData['TAS_DEF_MESSAGE_TYPE']);
unset($aData['TAS_DEF_MESSAGE_TEMPLATE']);
}
$oTask->update($aData);
$result = $oTask->update($aData);
$response["status"] = "OK";
if ($result == 3) {
$response["status"] = "CRONCL";
}
echo G::json_encode($response);
break;
}
}
catch (Exception $oException) {
} catch (Exception $oException) {
die($oException->getMessage());
}
?>