Merged master into dashboards2
This commit is contained in:
@@ -91,7 +91,7 @@ if (!defined('PATH_HOME')) {
|
||||
$e_all = $config['debug'] ? $e_all : $e_all & ~E_NOTICE;
|
||||
|
||||
G::LoadSystem('inputfilter');
|
||||
$filter = new InputFilter();
|
||||
$filter = new InputFilter();
|
||||
$config['debug'] = $filter->validateInput($config['debug']);
|
||||
$config['memory_limit'] = $filter->validateInput($config['memory_limit']);
|
||||
$config['wsdl_cache'] = $filter->validateInput($config['wsdl_cache'],'int');
|
||||
@@ -508,7 +508,9 @@ if (!defined('SYS_SYS')) {
|
||||
}
|
||||
}
|
||||
|
||||
unlink(PATH_CORE . 'config/_databases_.php');
|
||||
if (file_exists(PATH_CORE . "config" . PATH_SEP . "_databases_.php")) {
|
||||
unlink(PATH_CORE . "config" . PATH_SEP . "_databases_.php");
|
||||
}
|
||||
} else {
|
||||
processWorkspace();
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@ class pmDynaform
|
||||
$cnn = Propel::getConnection($json->dbConnection);
|
||||
$stmt = $cnn->createStatement();
|
||||
try {
|
||||
$rs = $stmt->executeQuery($json->sql, \ResultSet::FETCHMODE_NUM);
|
||||
$rs = $stmt->executeQuery(G::replaceDataField($json->sql, array()), \ResultSet::FETCHMODE_NUM);
|
||||
while ($rs->next()) {
|
||||
$row = $rs->getRow();
|
||||
$option = array(
|
||||
|
||||
@@ -582,6 +582,15 @@ class ReportTables
|
||||
$sQuery = 'UPDATE `' . $aRow['REP_TAB_NAME'] . '` SET ';
|
||||
foreach ($aTableFields as $aField) {
|
||||
$sQuery .= '`' . $aField['sFieldName'] . '` = ';
|
||||
|
||||
if(!isset($aFields[$aField['sFieldName']])){
|
||||
foreach($aFields as $row){
|
||||
if(is_array($row)){
|
||||
$aFields = $row[count($row)];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
switch ($aField['sType']) {
|
||||
case 'number':
|
||||
$sQuery .= (isset( $aFields[$aField['sFieldName']] ) ? (float) str_replace( ',', '', $aFields[$aField['sFieldName']] ) : '0') . ',';
|
||||
|
||||
@@ -188,9 +188,19 @@ class AppDelegation extends BaseAppDelegation
|
||||
if (PMLicensedFeatures
|
||||
::getSingleton()
|
||||
->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=')) {
|
||||
G::LoadClass('actionsByEmailCore');
|
||||
$actionsByEmail = new actionsByEmailCoreClass();
|
||||
$actionsByEmail->sendActionsByEmail($data);
|
||||
$criteriaAbe = new Criteria();
|
||||
$criteriaAbe->add(AbeConfigurationPeer::PRO_UID, $sProUid);
|
||||
$criteriaAbe->add(AbeConfigurationPeer::TAS_UID, $sTasUid);
|
||||
$resultAbe = AbeConfigurationPeer::doSelectRS($criteriaAbe);
|
||||
$resultAbe->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
if ($resultAbe->next()) {
|
||||
$dataAbe = $resultAbe->getRow();
|
||||
if($dataAbe['ABE_TYPE']!=''){
|
||||
G::LoadClass('actionsByEmailCore');
|
||||
$actionsByEmail = new actionsByEmailCoreClass();
|
||||
$actionsByEmail->sendActionsByEmail($data);
|
||||
}
|
||||
}
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
}
|
||||
|
||||
@@ -44,6 +44,11 @@ class CaseScheduler extends BaseCaseScheduler
|
||||
{
|
||||
$con = Propel::getConnection( CaseSchedulerPeer::DATABASE_NAME );
|
||||
try {
|
||||
if (isset($aData["SCH_OPTION"]) && (int)($aData["SCH_OPTION"]) == 4) {
|
||||
//One time only
|
||||
$aData["SCH_END_DATE"] = null;
|
||||
}
|
||||
|
||||
$this->fromArray( $aData, BasePeer::TYPE_FIELDNAME );
|
||||
if ($this->validate()) {
|
||||
$result = $this->save();
|
||||
@@ -88,6 +93,11 @@ class CaseScheduler extends BaseCaseScheduler
|
||||
{
|
||||
$con = Propel::getConnection( CaseSchedulerPeer::DATABASE_NAME );
|
||||
try {
|
||||
if (isset($fields["SCH_OPTION"]) && (int)($fields["SCH_OPTION"]) == 4) {
|
||||
//One time only
|
||||
$fields["SCH_END_DATE"] = null;
|
||||
}
|
||||
|
||||
$con->begin();
|
||||
$this->load( $fields['SCH_UID'] );
|
||||
$this->fromArray( $fields, BasePeer::TYPE_FIELDNAME );
|
||||
@@ -329,8 +339,8 @@ class CaseScheduler extends BaseCaseScheduler
|
||||
|
||||
$timeDate = strtotime($date);
|
||||
|
||||
$dateHour = (int)(date("H", $timeDate));
|
||||
$dateMinutes = (int)(date("i", $timeDate));
|
||||
$dateHour = date("H", $timeDate);
|
||||
$dateMinutes = date("i", $timeDate);
|
||||
|
||||
$dateCurrentIni = date("Y-m-d", $timeDate) . " 00:00:00";
|
||||
$dateCurrentEnd = date("Y-m-d", $timeDate) . " 23:59:59";
|
||||
@@ -345,7 +355,7 @@ class CaseScheduler extends BaseCaseScheduler
|
||||
$criteria->add(
|
||||
$criteria->getNewCriterion(CaseSchedulerPeer::SCH_TIME_NEXT_RUN, $dateCurrentIni, Criteria::GREATER_EQUAL)->addAnd(
|
||||
$criteria->getNewCriterion(CaseSchedulerPeer::SCH_TIME_NEXT_RUN, $dateCurrentEnd, Criteria::LESS_EQUAL))->addOr(
|
||||
$criteria->getNewCriterion(CaseSchedulerPeer::SCH_OPTION, 5, Criteria::GREATER_EQUAL))->addOr(
|
||||
//$criteria->getNewCriterion(CaseSchedulerPeer::SCH_OPTION, 5, Criteria::GREATER_EQUAL))->addOr(
|
||||
|
||||
$criteria->getNewCriterion(CaseSchedulerPeer::SCH_TIME_NEXT_RUN, $dateCurrentIni, Criteria::LESS_THAN))
|
||||
);
|
||||
@@ -379,13 +389,18 @@ class CaseScheduler extends BaseCaseScheduler
|
||||
$flagNewCase = true; //Create the old case
|
||||
$caseSchedulerTimeNextRunNew = $this->getTimeNextRunByDate($row, $date, false);
|
||||
} else {
|
||||
$caseSchedulerTimeNextRunHour = (int)(date("H", strtotime($row["SCH_TIME_NEXT_RUN"])));
|
||||
$caseSchedulerTimeNextRunMinutes = (int)(date("i", strtotime($row["SCH_TIME_NEXT_RUN"])));
|
||||
$caseSchedulerTimeNextRunHour = date("H", strtotime($row["SCH_TIME_NEXT_RUN"]));
|
||||
$caseSchedulerTimeNextRunMinutes = date("i", strtotime($row["SCH_TIME_NEXT_RUN"]));
|
||||
|
||||
$flagNewCase = ($caseSchedulerTimeNextRunHour == $dateHour && $caseSchedulerTimeNextRunMinutes <= $dateMinutes) || $caseSchedulerTimeNextRunHour < $dateHour;
|
||||
if ((int)($dateHour . $dateMinutes) <= (int)($caseSchedulerTimeNextRunHour . $caseSchedulerTimeNextRunMinutes)) {
|
||||
$flagNewCase = $caseSchedulerTimeNextRunHour == $dateHour && $caseSchedulerTimeNextRunMinutes == $dateMinutes;
|
||||
} else {
|
||||
$flagNewCase = true; //Create the old case
|
||||
}
|
||||
}
|
||||
|
||||
if ($flagNewCase) {
|
||||
println(" CASE SCHEDULER: " . $row["SCH_NAME"]);
|
||||
println(" - Connecting webservice: $wsdl");
|
||||
|
||||
$user = $row["SCH_DEL_USER_NAME"];
|
||||
@@ -414,6 +429,9 @@ class CaseScheduler extends BaseCaseScheduler
|
||||
"WS_ROUTE_CASE_STATUS" => ""
|
||||
);
|
||||
|
||||
$paramsLogResult = "FAILED";
|
||||
$paramsRouteLogResult = "FAILED";
|
||||
|
||||
if ($result->status_code == 0) {
|
||||
eprintln(" OK", "green");
|
||||
|
||||
@@ -579,7 +597,7 @@ class CaseScheduler extends BaseCaseScheduler
|
||||
case 5:
|
||||
//Every
|
||||
if ($caseSchedulerTimeNextRunNew == "") {
|
||||
$caseSchedulerTimeNextRunNew = date("Y-m-d H:i:s", $timeDate + (((int)($row["SCH_REPEAT_EVERY"])) * 60 * 60));
|
||||
$caseSchedulerTimeNextRunNew = date("Y-m-d H:i:s", $timeDate + round(floatval($row["SCH_REPEAT_EVERY"]) * 60 * 60));
|
||||
}
|
||||
|
||||
$this->updateDate($caseSchedulerUid, $caseSchedulerTimeNextRunNew, $caseSchedulerTimeNextRun);
|
||||
@@ -600,164 +618,111 @@ class CaseScheduler extends BaseCaseScheduler
|
||||
$this->Update( $Fields );
|
||||
}
|
||||
|
||||
public function updateNextRun($sOption, $sValue = "", $sActualTime = "", $sDaysPerformTask = "", $sWeeks = "", $sStartDay = "", $sMonths = "", $currentDate = "", $flagOptionWeeklyNextRun = true)
|
||||
public function updateNextRun($option, $optionMonth = "", $date = "", $daysPerformTask = "", $weeks = "", $startDay = "", $months = "", $currentDate = "", $flagNoTodayForNextRun = true)
|
||||
{
|
||||
$nActualDate = $currentDate . " " . $sActualTime;
|
||||
$dEstimatedDate = '';
|
||||
$sWeeks = trim($sWeeks, " |");
|
||||
try {
|
||||
$dateNextRun = "";
|
||||
|
||||
switch ($sOption) {
|
||||
case '1':
|
||||
switch ($sValue) {
|
||||
case '1':
|
||||
$dEstimatedDate = date( 'Y-m-d H:i:s', strtotime( "$nActualDate +1 day" ) );
|
||||
break;
|
||||
case '2':
|
||||
$nDayOfTheWeek = date( 'w', strtotime( $sActualTime ) );
|
||||
$nDayOfTheWeek = ($nDayOfTheWeek == 0) ? 7 : $nDayOfTheWeek;
|
||||
$currentDate = trim($currentDate . " " . $date); //$date and $currentDate are the same
|
||||
$weeks = trim($weeks, " |");
|
||||
$months = trim($months, " |");
|
||||
|
||||
if ($nDayOfTheWeek >= 5) {
|
||||
$dEstimatedDate = date( 'Y-m-d H:i:s', strtotime( "$nActualDate +3 day" ) );
|
||||
} else {
|
||||
$dEstimatedDate = date( 'Y-m-d H:i:s', strtotime( "$nActualDate +1 day" ) );
|
||||
}
|
||||
break;
|
||||
case '3':
|
||||
$dEstimatedDate = date( 'Y-m-d H:i:s', strtotime( "$nActualDate + " . $sDaysPerformTask . " day" ) );
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case '2':
|
||||
if ($sWeeks != "") {
|
||||
$aDaysWeek = array ('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday');
|
||||
$arrayMonthsShort = array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
|
||||
$arrayWeekdays = array("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday");
|
||||
|
||||
$nDayOfTheWeek = (int)(date("w", strtotime($sActualTime)));
|
||||
$nDayOfTheWeek = ($nDayOfTheWeek == 0)? 7 : $nDayOfTheWeek;
|
||||
switch ((int)($option)) {
|
||||
case 1:
|
||||
//Daily
|
||||
$dateNextRun = date("Y-m-d H:i:s", strtotime(($flagNoTodayForNextRun)? "$currentDate +1 day" : $currentDate));
|
||||
break;
|
||||
case 2:
|
||||
//Weekly
|
||||
if ($weeks != "") {
|
||||
$weekday = (int)(date("w", strtotime($date)));
|
||||
$weekday = ($weekday == 0)? 7 : $weekday;
|
||||
|
||||
$arrayWeekdays = explode("|", $sWeeks);
|
||||
$firstDay = (int)($arrayWeekdays[0]);
|
||||
$lastDay = (int)($arrayWeekdays[count($arrayWeekdays) - 1]);
|
||||
$arrayWeekdaysData = explode("|", $weeks);
|
||||
|
||||
$flagFound1 = $nDayOfTheWeek < $firstDay || in_array($nDayOfTheWeek, $arrayWeekdays);
|
||||
$flagFound2 = ($flagFound1)? false : ($firstDay <= $nDayOfTheWeek && $nDayOfTheWeek <= $lastDay);
|
||||
$firstWeekday = (int)($arrayWeekdaysData[0]);
|
||||
|
||||
if ($flagFound1 || $flagFound2) {
|
||||
$nextWeekday = $firstWeekday;
|
||||
$typeStatement = "this";
|
||||
$flag = false;
|
||||
|
||||
if ($flagFound1) {
|
||||
$indexDay = (in_array($nDayOfTheWeek, $arrayWeekdays))? $nDayOfTheWeek : $firstDay;
|
||||
foreach ($arrayWeekdaysData as $value) {
|
||||
$d = (int)($value);
|
||||
|
||||
if ($flagOptionWeeklyNextRun) {
|
||||
$index = array_search($nDayOfTheWeek, $arrayWeekdays);
|
||||
|
||||
if ($index !== false && isset($arrayWeekdays[$index + 1])) {
|
||||
$indexDay = $arrayWeekdays[$index + 1];
|
||||
} else {
|
||||
$typeStatement = "next";
|
||||
$indexDay = $firstDay;
|
||||
}
|
||||
if ((!$flagNoTodayForNextRun && $d >= $weekday) || ($flagNoTodayForNextRun && $d > $weekday)) {
|
||||
$nextWeekday = $d;
|
||||
$flag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($flagFound2) {
|
||||
$indexDay = $firstDay;
|
||||
if (!$flag) {
|
||||
$typeStatement = "next";
|
||||
}
|
||||
|
||||
foreach ($arrayWeekdays as $value) {
|
||||
$day = (int)($value);
|
||||
$dateNextRun = date("Y-m-d", strtotime($currentDate . " " . $typeStatement . " " . $arrayWeekdays[$nextWeekday - 1])) . " " . date("H:i:s", strtotime($date));
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
//Monthly
|
||||
if ($months != "") {
|
||||
$year = (int)(date("Y", strtotime($date)));
|
||||
$month = (int)(date("m", strtotime($date)));
|
||||
|
||||
if ($day > $nDayOfTheWeek) {
|
||||
$indexDay = $day;
|
||||
break;
|
||||
}
|
||||
$arrayStartDay = explode("|", $startDay);
|
||||
$arrayMonthsData = explode("|", $months);
|
||||
|
||||
$firstMonth = (int)($arrayMonthsData[0]);
|
||||
|
||||
$nextMonth = $firstMonth;
|
||||
$flag = false;
|
||||
|
||||
foreach ($arrayMonthsData as $value) {
|
||||
$m = (int)($value);
|
||||
|
||||
if ((!$flagNoTodayForNextRun && $m >= $month) || ($flagNoTodayForNextRun && $m > $month)) {
|
||||
$nextMonth = $m;
|
||||
$flag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$indexDay--;
|
||||
if (!$flag) {
|
||||
$year++;
|
||||
}
|
||||
|
||||
$dEstimatedDate = date("Y-m-d", strtotime($nActualDate . " " . $typeStatement . " " . $aDaysWeek[$indexDay])) . " " . date("H:i:s", strtotime($sActualTime));
|
||||
} else {
|
||||
$nEveryDays = $sDaysPerformTask;
|
||||
switch ((int)($optionMonth)) {
|
||||
case 1:
|
||||
$day = (int)($arrayStartDay[1]);
|
||||
|
||||
$typeStatement = ($firstDay >= $nDayOfTheWeek || $nEveryDays == 1)? "next" : "last";
|
||||
$indexDay = $firstDay - 1;
|
||||
$dateNextRun = date("Y-m-d", strtotime("$year-$nextMonth-$day")) . " " . date("H:i:s", strtotime($date));
|
||||
break;
|
||||
case 2:
|
||||
$arrayFormat = array(
|
||||
1 => "+0 week %s %s %d", //First
|
||||
2 => "+1 week %s %s %d", //Second
|
||||
3 => "+2 week %s %s %d", //Third
|
||||
4 => "+3 week %s %s %d", //Fourth
|
||||
5 => "last %s of %s %d" //Last
|
||||
);
|
||||
|
||||
if ($nEveryDays == 1) {
|
||||
$dEstimatedDate = date("Y-m-d", strtotime($nActualDate . " " . $typeStatement . " " . $aDaysWeek[$indexDay])) . " " . date("H:i:s", strtotime($sActualTime));
|
||||
} else {
|
||||
$nEveryDays = 1;
|
||||
$nDataTmp = date( 'Y-m-d', strtotime( "$nActualDate + " . $nEveryDays . " Week" ) );
|
||||
$dEstimatedDate = date("Y-m-d", strtotime($nDataTmp . " " . $typeStatement . " " . $aDaysWeek[$indexDay])) . " " . date("H:i:s", strtotime($sActualTime));
|
||||
$day = (int)($arrayStartDay[2]);
|
||||
|
||||
$dateNextRun = date("Y-m-d", strtotime(sprintf($arrayFormat[(int)($arrayStartDay[1])], $arrayWeekdays[$day - 1], $arrayMonthsShort[$nextMonth - 1], $year))) . " " . date("H:i:s", strtotime($date));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case '3':
|
||||
if (strlen( $sMonths ) > 0) {
|
||||
// Must have at least one selected month
|
||||
// Calculamos para la siguiente ejecucion, acorde a lo seleccionado
|
||||
$aStartDay = explode( '|', $sStartDay );
|
||||
$nYear = date( "Y", strtotime( $sActualTime ) );
|
||||
$nCurrentMonth = date( "m", strtotime( $sActualTime ) );
|
||||
$nCurrentDay = date( "d", strtotime( $sActualTime ) );
|
||||
$aMonths = explode( '|', $sMonths );
|
||||
break;
|
||||
}
|
||||
|
||||
$nSW = 0;
|
||||
$nNextMonth = 0;
|
||||
foreach ($aMonths as $value) {
|
||||
if ($value > $nCurrentMonth) {
|
||||
$nNextMonth = $value - 1;
|
||||
$nSW = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($nSW == 1) {
|
||||
$nExecNextMonth = $nNextMonth;
|
||||
} else {
|
||||
$nExecNextMonth = $aMonths[0] - 1;
|
||||
$nYear ++;
|
||||
}
|
||||
|
||||
switch ($sValue) {
|
||||
case '1':
|
||||
$nExecNextMonth ++;
|
||||
$nCurrentDay = $aStartDay[1];
|
||||
$dEstimatedDate = date( 'Y-m-d', strtotime( "$nYear-$nExecNextMonth-$nCurrentDay" ) ) . ' ' . date( 'H:i:s', strtotime( $sActualTime ) );
|
||||
break;
|
||||
case '2':
|
||||
$aMontsShort = array ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
|
||||
$aWeeksShort = array ('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday');
|
||||
$sNumDayWeek = $aStartDay[1];
|
||||
$sDayWeek = ($aStartDay[2] == 7 ? 0 : $aStartDay[2]);
|
||||
switch ($sNumDayWeek) {
|
||||
case '1':
|
||||
$sDaysWeekOpt = "+0";
|
||||
break;
|
||||
case '2':
|
||||
$sDaysWeekOpt = "+1";
|
||||
break;
|
||||
case '3':
|
||||
$sDaysWeekOpt = "+2";
|
||||
break;
|
||||
case '4':
|
||||
$sDaysWeekOpt = "+3";
|
||||
break;
|
||||
case '5':
|
||||
$sDaysWeekOpt = "-1";
|
||||
$nExecNextMonth ++;
|
||||
if ($nExecNextMonth >= 12) {
|
||||
$nExecNextMonth = 0;
|
||||
$nYear ++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
$dEstimatedDate = date( 'Y-m-d', strtotime( $sDaysWeekOpt . ' week ' . $aWeeksShort[$sDayWeek - 1] . ' ' . $aMontsShort[$nExecNextMonth] . ' ' . $nYear ) ) . ' ' . date( 'H:i:s', strtotime( $sActualTime ) );
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
//Return
|
||||
return $dateNextRun;
|
||||
} catch (Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
return $dEstimatedDate;
|
||||
}
|
||||
|
||||
public function Exists ($sUid)
|
||||
@@ -836,44 +801,34 @@ class CaseScheduler extends BaseCaseScheduler
|
||||
public function getTimeNextRunByDate(array $arrayCaseSchedulerData, $date, $flagUpdateTimeNextRun = true)
|
||||
{
|
||||
try {
|
||||
$arrayNextDate = array();
|
||||
|
||||
//Get date
|
||||
$caseSchedulerOption = (int)($arrayCaseSchedulerData["SCH_OPTION"]);
|
||||
$caseSchedulerTimeNextRun = $arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"];
|
||||
$caseSchedulerStartTime = date("H:i:s", strtotime($arrayCaseSchedulerData["SCH_START_TIME"]));
|
||||
|
||||
list($value, $daysPerformTask, $weeks, $startDay, $months) = $this->getVariablesFromRecord($arrayCaseSchedulerData);
|
||||
|
||||
$timeDate = strtotime($date); //Current time
|
||||
$timeCaseSchedulerTimeNextRun = strtotime($caseSchedulerTimeNextRun);
|
||||
|
||||
$flagTimeNextRun = false;
|
||||
$flagTimeNextRun = true;
|
||||
$flagUpdate = false;
|
||||
|
||||
if ($caseSchedulerOption != 1) {
|
||||
//Others
|
||||
$flagTimeNextRun = true;
|
||||
} else {
|
||||
//Daily
|
||||
$arrayDate = array(
|
||||
date("Y-m-d", strtotime($arrayCaseSchedulerData["SCH_START_DATE"])) . " " . date("H:i:s", $timeCaseSchedulerTimeNextRun),
|
||||
date("Y-m-d", $timeDate) . " " . date("H:i:s", $timeCaseSchedulerTimeNextRun)
|
||||
);
|
||||
switch ($caseSchedulerOption) {
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
//Daily
|
||||
//Weekly
|
||||
//Monthly
|
||||
$caseSchedulerTimeNextRun = date("Y-m-d", strtotime($arrayCaseSchedulerData["SCH_START_DATE"])) . " " . $caseSchedulerStartTime;
|
||||
$caseSchedulerTimeNextRun = $this->updateNextRun($caseSchedulerOption, $value, $caseSchedulerTimeNextRun, $daysPerformTask, $weeks, $startDay, $months, "", false);
|
||||
|
||||
$flagTimeNextRun = true;
|
||||
|
||||
foreach ($arrayDate as $d) {
|
||||
$caseSchedulerTimeNextRun2 = $d;
|
||||
$timeCaseSchedulerTimeNextRun2 = strtotime($caseSchedulerTimeNextRun2);
|
||||
|
||||
if ($timeDate < $timeCaseSchedulerTimeNextRun2) {
|
||||
$caseSchedulerTimeNextRun = $caseSchedulerTimeNextRun2;
|
||||
$timeCaseSchedulerTimeNextRun = strtotime($caseSchedulerTimeNextRun);
|
||||
|
||||
if ($timeCaseSchedulerTimeNextRun > $timeDate) {
|
||||
$flagTimeNextRun = false;
|
||||
$flagUpdate = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if ($flagTimeNextRun) {
|
||||
@@ -884,7 +839,7 @@ class CaseScheduler extends BaseCaseScheduler
|
||||
//Daily
|
||||
//Weekly
|
||||
//Monthly
|
||||
$caseSchedulerTimeNextRun = date("Y-m-d", $timeDate) . " " . date("H:i:s", $timeCaseSchedulerTimeNextRun);
|
||||
$caseSchedulerTimeNextRun = date("Y-m-d", $timeDate) . " " . $caseSchedulerStartTime;
|
||||
$caseSchedulerTimeNextRun = $this->updateNextRun($caseSchedulerOption, $value, $caseSchedulerTimeNextRun, $daysPerformTask, $weeks, $startDay, $months, "", false);
|
||||
|
||||
$timeCaseSchedulerTimeNextRun = strtotime($caseSchedulerTimeNextRun);
|
||||
@@ -895,7 +850,7 @@ class CaseScheduler extends BaseCaseScheduler
|
||||
break;
|
||||
case 4:
|
||||
//One time only
|
||||
$caseSchedulerTimeNextRun = date("Y-m-d", $timeDate) . " " . date("H:i:s", $timeCaseSchedulerTimeNextRun);
|
||||
$caseSchedulerTimeNextRun = date("Y-m-d", $timeDate) . " " . $caseSchedulerStartTime;
|
||||
|
||||
$timeCaseSchedulerTimeNextRun = strtotime($caseSchedulerTimeNextRun);
|
||||
|
||||
@@ -905,7 +860,7 @@ class CaseScheduler extends BaseCaseScheduler
|
||||
break;
|
||||
case 5:
|
||||
//Every
|
||||
$caseSchedulerTimeNextRun = date("Y-m-d H:i:s", $timeDate + (((int)($arrayCaseSchedulerData["SCH_REPEAT_EVERY"])) * 60 * 60));
|
||||
$caseSchedulerTimeNextRun = date("Y-m-d H:i:s", $timeDate + round(floatval($arrayCaseSchedulerData["SCH_REPEAT_EVERY"]) * 60 * 60));
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ class CaseSchedulerMapBuilder
|
||||
|
||||
$tMap->addColumn('SCH_START_DAY', 'SchStartDay', 'string', CreoleTypes::CHAR, true, 6);
|
||||
|
||||
$tMap->addColumn('SCH_MONTHS', 'SchMonths', 'string', CreoleTypes::CHAR, true, 24);
|
||||
$tMap->addColumn('SCH_MONTHS', 'SchMonths', 'string', CreoleTypes::CHAR, true, 27);
|
||||
|
||||
$tMap->addColumn('SCH_END_DATE', 'SchEndDate', 'int', CreoleTypes::TIMESTAMP, false, null);
|
||||
|
||||
@@ -113,6 +113,8 @@ class CaseSchedulerMapBuilder
|
||||
|
||||
$tMap->addColumn('SCH_REPEAT_STOP_IF_RUNNING', 'SchRepeatStopIfRunning', 'int', CreoleTypes::TINYINT, false, null);
|
||||
|
||||
$tMap->addColumn('SCH_EXECUTION_DATE', 'SchExecutionDate', 'int', CreoleTypes::TIMESTAMP, false, null);
|
||||
|
||||
$tMap->addColumn('CASE_SH_PLUGIN_UID', 'CaseShPluginUid', 'string', CreoleTypes::VARCHAR, false, 100);
|
||||
|
||||
} // doBuild()
|
||||
|
||||
@@ -171,6 +171,12 @@ abstract class BaseCaseScheduler extends BaseObject implements Persistent
|
||||
*/
|
||||
protected $sch_repeat_stop_if_running = 0;
|
||||
|
||||
/**
|
||||
* The value for the sch_execution_date field.
|
||||
* @var int
|
||||
*/
|
||||
protected $sch_execution_date;
|
||||
|
||||
/**
|
||||
* The value for the case_sh_plugin_uid field.
|
||||
* @var string
|
||||
@@ -560,6 +566,38 @@ abstract class BaseCaseScheduler extends BaseObject implements Persistent
|
||||
return $this->sch_repeat_stop_if_running;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the [optionally formatted] [sch_execution_date] column value.
|
||||
*
|
||||
* @param string $format The date/time format string (either date()-style or strftime()-style).
|
||||
* If format is NULL, then the integer unix timestamp will be returned.
|
||||
* @return mixed Formatted date/time value as string or integer unix timestamp (if format is NULL).
|
||||
* @throws PropelException - if unable to convert the date/time to timestamp.
|
||||
*/
|
||||
public function getSchExecutionDate($format = 'Y-m-d H:i:s')
|
||||
{
|
||||
|
||||
if ($this->sch_execution_date === null || $this->sch_execution_date === '') {
|
||||
return null;
|
||||
} elseif (!is_int($this->sch_execution_date)) {
|
||||
// a non-timestamp value was set externally, so we convert it
|
||||
$ts = strtotime($this->sch_execution_date);
|
||||
if ($ts === -1 || $ts === false) {
|
||||
throw new PropelException("Unable to parse value of [sch_execution_date] as date/time value: " .
|
||||
var_export($this->sch_execution_date, true));
|
||||
}
|
||||
} else {
|
||||
$ts = $this->sch_execution_date;
|
||||
}
|
||||
if ($format === null) {
|
||||
return $ts;
|
||||
} elseif (strpos($format, '%') !== false) {
|
||||
return strftime($format, $ts);
|
||||
} else {
|
||||
return date($format, $ts);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the [case_sh_plugin_uid] column value.
|
||||
*
|
||||
@@ -1134,6 +1172,35 @@ abstract class BaseCaseScheduler extends BaseObject implements Persistent
|
||||
|
||||
} // setSchRepeatStopIfRunning()
|
||||
|
||||
/**
|
||||
* Set the value of [sch_execution_date] column.
|
||||
*
|
||||
* @param int $v new value
|
||||
* @return void
|
||||
*/
|
||||
public function setSchExecutionDate($v)
|
||||
{
|
||||
|
||||
if ($v !== null && !is_int($v)) {
|
||||
$ts = strtotime($v);
|
||||
//Date/time accepts null values
|
||||
if ($v == '') {
|
||||
$ts = null;
|
||||
}
|
||||
if ($ts === -1 || $ts === false) {
|
||||
throw new PropelException("Unable to parse date/time value for [sch_execution_date] from input: " .
|
||||
var_export($v, true));
|
||||
}
|
||||
} else {
|
||||
$ts = $v;
|
||||
}
|
||||
if ($this->sch_execution_date !== $ts) {
|
||||
$this->sch_execution_date = $ts;
|
||||
$this->modifiedColumns[] = CaseSchedulerPeer::SCH_EXECUTION_DATE;
|
||||
}
|
||||
|
||||
} // setSchExecutionDate()
|
||||
|
||||
/**
|
||||
* Set the value of [case_sh_plugin_uid] column.
|
||||
*
|
||||
@@ -1221,14 +1288,16 @@ abstract class BaseCaseScheduler extends BaseObject implements Persistent
|
||||
|
||||
$this->sch_repeat_stop_if_running = $rs->getInt($startcol + 23);
|
||||
|
||||
$this->case_sh_plugin_uid = $rs->getString($startcol + 24);
|
||||
$this->sch_execution_date = $rs->getTimestamp($startcol + 24, null);
|
||||
|
||||
$this->case_sh_plugin_uid = $rs->getString($startcol + 25);
|
||||
|
||||
$this->resetModified();
|
||||
|
||||
$this->setNew(false);
|
||||
|
||||
// FIXME - using NUM_COLUMNS may be clearer.
|
||||
return $startcol + 25; // 25 = CaseSchedulerPeer::NUM_COLUMNS - CaseSchedulerPeer::NUM_LAZY_LOAD_COLUMNS).
|
||||
return $startcol + 26; // 26 = CaseSchedulerPeer::NUM_COLUMNS - CaseSchedulerPeer::NUM_LAZY_LOAD_COLUMNS).
|
||||
|
||||
} catch (Exception $e) {
|
||||
throw new PropelException("Error populating CaseScheduler object", $e);
|
||||
@@ -1505,6 +1574,9 @@ abstract class BaseCaseScheduler extends BaseObject implements Persistent
|
||||
return $this->getSchRepeatStopIfRunning();
|
||||
break;
|
||||
case 24:
|
||||
return $this->getSchExecutionDate();
|
||||
break;
|
||||
case 25:
|
||||
return $this->getCaseShPluginUid();
|
||||
break;
|
||||
default:
|
||||
@@ -1551,7 +1623,8 @@ abstract class BaseCaseScheduler extends BaseObject implements Persistent
|
||||
$keys[21] => $this->getSchRepeatEvery(),
|
||||
$keys[22] => $this->getSchRepeatUntil(),
|
||||
$keys[23] => $this->getSchRepeatStopIfRunning(),
|
||||
$keys[24] => $this->getCaseShPluginUid(),
|
||||
$keys[24] => $this->getSchExecutionDate(),
|
||||
$keys[25] => $this->getCaseShPluginUid(),
|
||||
);
|
||||
return $result;
|
||||
}
|
||||
@@ -1656,6 +1729,9 @@ abstract class BaseCaseScheduler extends BaseObject implements Persistent
|
||||
$this->setSchRepeatStopIfRunning($value);
|
||||
break;
|
||||
case 24:
|
||||
$this->setSchExecutionDate($value);
|
||||
break;
|
||||
case 25:
|
||||
$this->setCaseShPluginUid($value);
|
||||
break;
|
||||
} // switch()
|
||||
@@ -1778,7 +1854,11 @@ abstract class BaseCaseScheduler extends BaseObject implements Persistent
|
||||
}
|
||||
|
||||
if (array_key_exists($keys[24], $arr)) {
|
||||
$this->setCaseShPluginUid($arr[$keys[24]]);
|
||||
$this->setSchExecutionDate($arr[$keys[24]]);
|
||||
}
|
||||
|
||||
if (array_key_exists($keys[25], $arr)) {
|
||||
$this->setCaseShPluginUid($arr[$keys[25]]);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1888,6 +1968,10 @@ abstract class BaseCaseScheduler extends BaseObject implements Persistent
|
||||
$criteria->add(CaseSchedulerPeer::SCH_REPEAT_STOP_IF_RUNNING, $this->sch_repeat_stop_if_running);
|
||||
}
|
||||
|
||||
if ($this->isColumnModified(CaseSchedulerPeer::SCH_EXECUTION_DATE)) {
|
||||
$criteria->add(CaseSchedulerPeer::SCH_EXECUTION_DATE, $this->sch_execution_date);
|
||||
}
|
||||
|
||||
if ($this->isColumnModified(CaseSchedulerPeer::CASE_SH_PLUGIN_UID)) {
|
||||
$criteria->add(CaseSchedulerPeer::CASE_SH_PLUGIN_UID, $this->case_sh_plugin_uid);
|
||||
}
|
||||
@@ -1992,6 +2076,8 @@ abstract class BaseCaseScheduler extends BaseObject implements Persistent
|
||||
|
||||
$copyObj->setSchRepeatStopIfRunning($this->sch_repeat_stop_if_running);
|
||||
|
||||
$copyObj->setSchExecutionDate($this->sch_execution_date);
|
||||
|
||||
$copyObj->setCaseShPluginUid($this->case_sh_plugin_uid);
|
||||
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ abstract class BaseCaseSchedulerPeer
|
||||
const CLASS_DEFAULT = 'classes.model.CaseScheduler';
|
||||
|
||||
/** The total number of columns. */
|
||||
const NUM_COLUMNS = 25;
|
||||
const NUM_COLUMNS = 26;
|
||||
|
||||
/** The number of lazy-loaded columns. */
|
||||
const NUM_LAZY_LOAD_COLUMNS = 0;
|
||||
@@ -103,6 +103,9 @@ abstract class BaseCaseSchedulerPeer
|
||||
/** the column name for the SCH_REPEAT_STOP_IF_RUNNING field */
|
||||
const SCH_REPEAT_STOP_IF_RUNNING = 'CASE_SCHEDULER.SCH_REPEAT_STOP_IF_RUNNING';
|
||||
|
||||
/** the column name for the SCH_EXECUTION_DATE field */
|
||||
const SCH_EXECUTION_DATE = 'CASE_SCHEDULER.SCH_EXECUTION_DATE';
|
||||
|
||||
/** the column name for the CASE_SH_PLUGIN_UID field */
|
||||
const CASE_SH_PLUGIN_UID = 'CASE_SCHEDULER.CASE_SH_PLUGIN_UID';
|
||||
|
||||
@@ -117,10 +120,10 @@ abstract class BaseCaseSchedulerPeer
|
||||
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
|
||||
*/
|
||||
private static $fieldNames = array (
|
||||
BasePeer::TYPE_PHPNAME => array ('SchUid', 'SchDelUserName', 'SchDelUserPass', 'SchDelUserUid', 'SchName', 'ProUid', 'TasUid', 'SchTimeNextRun', 'SchLastRunTime', 'SchState', 'SchLastState', 'UsrUid', 'SchOption', 'SchStartTime', 'SchStartDate', 'SchDaysPerformTask', 'SchEveryDays', 'SchWeekDays', 'SchStartDay', 'SchMonths', 'SchEndDate', 'SchRepeatEvery', 'SchRepeatUntil', 'SchRepeatStopIfRunning', 'CaseShPluginUid', ),
|
||||
BasePeer::TYPE_COLNAME => array (CaseSchedulerPeer::SCH_UID, CaseSchedulerPeer::SCH_DEL_USER_NAME, CaseSchedulerPeer::SCH_DEL_USER_PASS, CaseSchedulerPeer::SCH_DEL_USER_UID, CaseSchedulerPeer::SCH_NAME, CaseSchedulerPeer::PRO_UID, CaseSchedulerPeer::TAS_UID, CaseSchedulerPeer::SCH_TIME_NEXT_RUN, CaseSchedulerPeer::SCH_LAST_RUN_TIME, CaseSchedulerPeer::SCH_STATE, CaseSchedulerPeer::SCH_LAST_STATE, CaseSchedulerPeer::USR_UID, CaseSchedulerPeer::SCH_OPTION, CaseSchedulerPeer::SCH_START_TIME, CaseSchedulerPeer::SCH_START_DATE, CaseSchedulerPeer::SCH_DAYS_PERFORM_TASK, CaseSchedulerPeer::SCH_EVERY_DAYS, CaseSchedulerPeer::SCH_WEEK_DAYS, CaseSchedulerPeer::SCH_START_DAY, CaseSchedulerPeer::SCH_MONTHS, CaseSchedulerPeer::SCH_END_DATE, CaseSchedulerPeer::SCH_REPEAT_EVERY, CaseSchedulerPeer::SCH_REPEAT_UNTIL, CaseSchedulerPeer::SCH_REPEAT_STOP_IF_RUNNING, CaseSchedulerPeer::CASE_SH_PLUGIN_UID, ),
|
||||
BasePeer::TYPE_FIELDNAME => array ('SCH_UID', 'SCH_DEL_USER_NAME', 'SCH_DEL_USER_PASS', 'SCH_DEL_USER_UID', 'SCH_NAME', 'PRO_UID', 'TAS_UID', 'SCH_TIME_NEXT_RUN', 'SCH_LAST_RUN_TIME', 'SCH_STATE', 'SCH_LAST_STATE', 'USR_UID', 'SCH_OPTION', 'SCH_START_TIME', 'SCH_START_DATE', 'SCH_DAYS_PERFORM_TASK', 'SCH_EVERY_DAYS', 'SCH_WEEK_DAYS', 'SCH_START_DAY', 'SCH_MONTHS', 'SCH_END_DATE', 'SCH_REPEAT_EVERY', 'SCH_REPEAT_UNTIL', 'SCH_REPEAT_STOP_IF_RUNNING', 'CASE_SH_PLUGIN_UID', ),
|
||||
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, )
|
||||
BasePeer::TYPE_PHPNAME => array ('SchUid', 'SchDelUserName', 'SchDelUserPass', 'SchDelUserUid', 'SchName', 'ProUid', 'TasUid', 'SchTimeNextRun', 'SchLastRunTime', 'SchState', 'SchLastState', 'UsrUid', 'SchOption', 'SchStartTime', 'SchStartDate', 'SchDaysPerformTask', 'SchEveryDays', 'SchWeekDays', 'SchStartDay', 'SchMonths', 'SchEndDate', 'SchRepeatEvery', 'SchRepeatUntil', 'SchRepeatStopIfRunning', 'SchExecutionDate', 'CaseShPluginUid', ),
|
||||
BasePeer::TYPE_COLNAME => array (CaseSchedulerPeer::SCH_UID, CaseSchedulerPeer::SCH_DEL_USER_NAME, CaseSchedulerPeer::SCH_DEL_USER_PASS, CaseSchedulerPeer::SCH_DEL_USER_UID, CaseSchedulerPeer::SCH_NAME, CaseSchedulerPeer::PRO_UID, CaseSchedulerPeer::TAS_UID, CaseSchedulerPeer::SCH_TIME_NEXT_RUN, CaseSchedulerPeer::SCH_LAST_RUN_TIME, CaseSchedulerPeer::SCH_STATE, CaseSchedulerPeer::SCH_LAST_STATE, CaseSchedulerPeer::USR_UID, CaseSchedulerPeer::SCH_OPTION, CaseSchedulerPeer::SCH_START_TIME, CaseSchedulerPeer::SCH_START_DATE, CaseSchedulerPeer::SCH_DAYS_PERFORM_TASK, CaseSchedulerPeer::SCH_EVERY_DAYS, CaseSchedulerPeer::SCH_WEEK_DAYS, CaseSchedulerPeer::SCH_START_DAY, CaseSchedulerPeer::SCH_MONTHS, CaseSchedulerPeer::SCH_END_DATE, CaseSchedulerPeer::SCH_REPEAT_EVERY, CaseSchedulerPeer::SCH_REPEAT_UNTIL, CaseSchedulerPeer::SCH_REPEAT_STOP_IF_RUNNING, CaseSchedulerPeer::SCH_EXECUTION_DATE, CaseSchedulerPeer::CASE_SH_PLUGIN_UID, ),
|
||||
BasePeer::TYPE_FIELDNAME => array ('SCH_UID', 'SCH_DEL_USER_NAME', 'SCH_DEL_USER_PASS', 'SCH_DEL_USER_UID', 'SCH_NAME', 'PRO_UID', 'TAS_UID', 'SCH_TIME_NEXT_RUN', 'SCH_LAST_RUN_TIME', 'SCH_STATE', 'SCH_LAST_STATE', 'USR_UID', 'SCH_OPTION', 'SCH_START_TIME', 'SCH_START_DATE', 'SCH_DAYS_PERFORM_TASK', 'SCH_EVERY_DAYS', 'SCH_WEEK_DAYS', 'SCH_START_DAY', 'SCH_MONTHS', 'SCH_END_DATE', 'SCH_REPEAT_EVERY', 'SCH_REPEAT_UNTIL', 'SCH_REPEAT_STOP_IF_RUNNING', 'SCH_EXECUTION_DATE', 'CASE_SH_PLUGIN_UID', ),
|
||||
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, )
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -130,10 +133,10 @@ abstract class BaseCaseSchedulerPeer
|
||||
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
|
||||
*/
|
||||
private static $fieldKeys = array (
|
||||
BasePeer::TYPE_PHPNAME => array ('SchUid' => 0, 'SchDelUserName' => 1, 'SchDelUserPass' => 2, 'SchDelUserUid' => 3, 'SchName' => 4, 'ProUid' => 5, 'TasUid' => 6, 'SchTimeNextRun' => 7, 'SchLastRunTime' => 8, 'SchState' => 9, 'SchLastState' => 10, 'UsrUid' => 11, 'SchOption' => 12, 'SchStartTime' => 13, 'SchStartDate' => 14, 'SchDaysPerformTask' => 15, 'SchEveryDays' => 16, 'SchWeekDays' => 17, 'SchStartDay' => 18, 'SchMonths' => 19, 'SchEndDate' => 20, 'SchRepeatEvery' => 21, 'SchRepeatUntil' => 22, 'SchRepeatStopIfRunning' => 23, 'CaseShPluginUid' => 24, ),
|
||||
BasePeer::TYPE_COLNAME => array (CaseSchedulerPeer::SCH_UID => 0, CaseSchedulerPeer::SCH_DEL_USER_NAME => 1, CaseSchedulerPeer::SCH_DEL_USER_PASS => 2, CaseSchedulerPeer::SCH_DEL_USER_UID => 3, CaseSchedulerPeer::SCH_NAME => 4, CaseSchedulerPeer::PRO_UID => 5, CaseSchedulerPeer::TAS_UID => 6, CaseSchedulerPeer::SCH_TIME_NEXT_RUN => 7, CaseSchedulerPeer::SCH_LAST_RUN_TIME => 8, CaseSchedulerPeer::SCH_STATE => 9, CaseSchedulerPeer::SCH_LAST_STATE => 10, CaseSchedulerPeer::USR_UID => 11, CaseSchedulerPeer::SCH_OPTION => 12, CaseSchedulerPeer::SCH_START_TIME => 13, CaseSchedulerPeer::SCH_START_DATE => 14, CaseSchedulerPeer::SCH_DAYS_PERFORM_TASK => 15, CaseSchedulerPeer::SCH_EVERY_DAYS => 16, CaseSchedulerPeer::SCH_WEEK_DAYS => 17, CaseSchedulerPeer::SCH_START_DAY => 18, CaseSchedulerPeer::SCH_MONTHS => 19, CaseSchedulerPeer::SCH_END_DATE => 20, CaseSchedulerPeer::SCH_REPEAT_EVERY => 21, CaseSchedulerPeer::SCH_REPEAT_UNTIL => 22, CaseSchedulerPeer::SCH_REPEAT_STOP_IF_RUNNING => 23, CaseSchedulerPeer::CASE_SH_PLUGIN_UID => 24, ),
|
||||
BasePeer::TYPE_FIELDNAME => array ('SCH_UID' => 0, 'SCH_DEL_USER_NAME' => 1, 'SCH_DEL_USER_PASS' => 2, 'SCH_DEL_USER_UID' => 3, 'SCH_NAME' => 4, 'PRO_UID' => 5, 'TAS_UID' => 6, 'SCH_TIME_NEXT_RUN' => 7, 'SCH_LAST_RUN_TIME' => 8, 'SCH_STATE' => 9, 'SCH_LAST_STATE' => 10, 'USR_UID' => 11, 'SCH_OPTION' => 12, 'SCH_START_TIME' => 13, 'SCH_START_DATE' => 14, 'SCH_DAYS_PERFORM_TASK' => 15, 'SCH_EVERY_DAYS' => 16, 'SCH_WEEK_DAYS' => 17, 'SCH_START_DAY' => 18, 'SCH_MONTHS' => 19, 'SCH_END_DATE' => 20, 'SCH_REPEAT_EVERY' => 21, 'SCH_REPEAT_UNTIL' => 22, 'SCH_REPEAT_STOP_IF_RUNNING' => 23, 'CASE_SH_PLUGIN_UID' => 24, ),
|
||||
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, )
|
||||
BasePeer::TYPE_PHPNAME => array ('SchUid' => 0, 'SchDelUserName' => 1, 'SchDelUserPass' => 2, 'SchDelUserUid' => 3, 'SchName' => 4, 'ProUid' => 5, 'TasUid' => 6, 'SchTimeNextRun' => 7, 'SchLastRunTime' => 8, 'SchState' => 9, 'SchLastState' => 10, 'UsrUid' => 11, 'SchOption' => 12, 'SchStartTime' => 13, 'SchStartDate' => 14, 'SchDaysPerformTask' => 15, 'SchEveryDays' => 16, 'SchWeekDays' => 17, 'SchStartDay' => 18, 'SchMonths' => 19, 'SchEndDate' => 20, 'SchRepeatEvery' => 21, 'SchRepeatUntil' => 22, 'SchRepeatStopIfRunning' => 23, 'SchExecutionDate' => 24, 'CaseShPluginUid' => 25, ),
|
||||
BasePeer::TYPE_COLNAME => array (CaseSchedulerPeer::SCH_UID => 0, CaseSchedulerPeer::SCH_DEL_USER_NAME => 1, CaseSchedulerPeer::SCH_DEL_USER_PASS => 2, CaseSchedulerPeer::SCH_DEL_USER_UID => 3, CaseSchedulerPeer::SCH_NAME => 4, CaseSchedulerPeer::PRO_UID => 5, CaseSchedulerPeer::TAS_UID => 6, CaseSchedulerPeer::SCH_TIME_NEXT_RUN => 7, CaseSchedulerPeer::SCH_LAST_RUN_TIME => 8, CaseSchedulerPeer::SCH_STATE => 9, CaseSchedulerPeer::SCH_LAST_STATE => 10, CaseSchedulerPeer::USR_UID => 11, CaseSchedulerPeer::SCH_OPTION => 12, CaseSchedulerPeer::SCH_START_TIME => 13, CaseSchedulerPeer::SCH_START_DATE => 14, CaseSchedulerPeer::SCH_DAYS_PERFORM_TASK => 15, CaseSchedulerPeer::SCH_EVERY_DAYS => 16, CaseSchedulerPeer::SCH_WEEK_DAYS => 17, CaseSchedulerPeer::SCH_START_DAY => 18, CaseSchedulerPeer::SCH_MONTHS => 19, CaseSchedulerPeer::SCH_END_DATE => 20, CaseSchedulerPeer::SCH_REPEAT_EVERY => 21, CaseSchedulerPeer::SCH_REPEAT_UNTIL => 22, CaseSchedulerPeer::SCH_REPEAT_STOP_IF_RUNNING => 23, CaseSchedulerPeer::SCH_EXECUTION_DATE => 24, CaseSchedulerPeer::CASE_SH_PLUGIN_UID => 25, ),
|
||||
BasePeer::TYPE_FIELDNAME => array ('SCH_UID' => 0, 'SCH_DEL_USER_NAME' => 1, 'SCH_DEL_USER_PASS' => 2, 'SCH_DEL_USER_UID' => 3, 'SCH_NAME' => 4, 'PRO_UID' => 5, 'TAS_UID' => 6, 'SCH_TIME_NEXT_RUN' => 7, 'SCH_LAST_RUN_TIME' => 8, 'SCH_STATE' => 9, 'SCH_LAST_STATE' => 10, 'USR_UID' => 11, 'SCH_OPTION' => 12, 'SCH_START_TIME' => 13, 'SCH_START_DATE' => 14, 'SCH_DAYS_PERFORM_TASK' => 15, 'SCH_EVERY_DAYS' => 16, 'SCH_WEEK_DAYS' => 17, 'SCH_START_DAY' => 18, 'SCH_MONTHS' => 19, 'SCH_END_DATE' => 20, 'SCH_REPEAT_EVERY' => 21, 'SCH_REPEAT_UNTIL' => 22, 'SCH_REPEAT_STOP_IF_RUNNING' => 23, 'SCH_EXECUTION_DATE' => 24, 'CASE_SH_PLUGIN_UID' => 25, ),
|
||||
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, )
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -282,6 +285,8 @@ abstract class BaseCaseSchedulerPeer
|
||||
|
||||
$criteria->addSelectColumn(CaseSchedulerPeer::SCH_REPEAT_STOP_IF_RUNNING);
|
||||
|
||||
$criteria->addSelectColumn(CaseSchedulerPeer::SCH_EXECUTION_DATE);
|
||||
|
||||
$criteria->addSelectColumn(CaseSchedulerPeer::CASE_SH_PLUGIN_UID);
|
||||
|
||||
}
|
||||
|
||||
@@ -2805,11 +2805,12 @@ CREATE TABLE [CASE_SCHEDULER]
|
||||
[SCH_EVERY_DAYS] TINYINT default 0 NULL,
|
||||
[SCH_WEEK_DAYS] CHAR(14) default '0|0|0|0|0|0|0' NOT NULL,
|
||||
[SCH_START_DAY] CHAR(6) default '' NOT NULL,
|
||||
[SCH_MONTHS] CHAR(24) default '0|0|0|0|0|0|0|0|0|0|0|0' NOT NULL,
|
||||
[SCH_MONTHS] CHAR(27) default '0|0|0|0|0|0|0|0|0|0|0|0' NOT NULL,
|
||||
[SCH_END_DATE] CHAR(19) NULL,
|
||||
[SCH_REPEAT_EVERY] VARCHAR(15) default '' NOT NULL,
|
||||
[SCH_REPEAT_UNTIL] VARCHAR(15) default '' NOT NULL,
|
||||
[SCH_REPEAT_STOP_IF_RUNNING] TINYINT default 0 NULL,
|
||||
[SCH_EXECUTION_DATE] CHAR(19) NULL,
|
||||
[CASE_SH_PLUGIN_UID] VARCHAR(100) NULL,
|
||||
CONSTRAINT CASE_SCHEDULER_PK PRIMARY KEY ([SCH_UID])
|
||||
);
|
||||
|
||||
@@ -1331,11 +1331,12 @@ CREATE TABLE `CASE_SCHEDULER`
|
||||
`SCH_EVERY_DAYS` TINYINT default 0,
|
||||
`SCH_WEEK_DAYS` CHAR(14) default '0|0|0|0|0|0|0' NOT NULL,
|
||||
`SCH_START_DAY` CHAR(6) default '' NOT NULL,
|
||||
`SCH_MONTHS` CHAR(24) default '0|0|0|0|0|0|0|0|0|0|0|0' NOT NULL,
|
||||
`SCH_MONTHS` CHAR(27) default '0|0|0|0|0|0|0|0|0|0|0|0' NOT NULL,
|
||||
`SCH_END_DATE` DATETIME,
|
||||
`SCH_REPEAT_EVERY` VARCHAR(15) default '' NOT NULL,
|
||||
`SCH_REPEAT_UNTIL` VARCHAR(15) default '' NOT NULL,
|
||||
`SCH_REPEAT_STOP_IF_RUNNING` TINYINT default 0,
|
||||
`SCH_EXECUTION_DATE` DATETIME,
|
||||
`CASE_SH_PLUGIN_UID` VARCHAR(100),
|
||||
PRIMARY KEY (`SCH_UID`)
|
||||
)ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Conditions store to show or hide dynaform fields..';
|
||||
@@ -2829,3 +2830,4 @@ CREATE TABLE `CATALOG`
|
||||
)ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Definitions catalog.';
|
||||
# This restores the fkey checks, after having unset them earlier
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
|
||||
@@ -1601,11 +1601,12 @@ CREATE TABLE "CASE_SCHEDULER"
|
||||
"SCH_EVERY_DAYS" NUMBER(3,0) default 0,
|
||||
"SCH_WEEK_DAYS" CHAR(14) default '0|0|0|0|0|0|0' NOT NULL,
|
||||
"SCH_START_DAY" CHAR(6) default '' NOT NULL,
|
||||
"SCH_MONTHS" CHAR(24) default '0|0|0|0|0|0|0|0|0|0|0|0' NOT NULL,
|
||||
"SCH_MONTHS" CHAR(27) default '0|0|0|0|0|0|0|0|0|0|0|0' NOT NULL,
|
||||
"SCH_END_DATE" DATE,
|
||||
"SCH_REPEAT_EVERY" VARCHAR2(15) default '' NOT NULL,
|
||||
"SCH_REPEAT_UNTIL" VARCHAR2(15) default '' NOT NULL,
|
||||
"SCH_REPEAT_STOP_IF_RUNNING" NUMBER(3,0) default 0,
|
||||
"SCH_EXECUTION_DATE" DATE,
|
||||
"CASE_SH_PLUGIN_UID" VARCHAR2(100)
|
||||
);
|
||||
|
||||
|
||||
@@ -897,7 +897,6 @@ class CaseScheduler
|
||||
$sDaysPerformTask = "";
|
||||
$sWeeks = "";
|
||||
$sMonths = "";
|
||||
$sStartDay = "";
|
||||
|
||||
switch ($option) {
|
||||
case "INS":
|
||||
@@ -992,7 +991,6 @@ class CaseScheduler
|
||||
}
|
||||
|
||||
$arrayCaseSchedulerData["SCH_MONTHS"] = $sMonths;
|
||||
$sStartDay = $arrayCaseSchedulerData["SCH_START_DAY"];
|
||||
$sValue = $nStartDay;
|
||||
break;
|
||||
}
|
||||
@@ -1013,123 +1011,33 @@ class CaseScheduler
|
||||
$arrayCaseSchedulerData["SCH_END_DATE"] = ($arrayData["SCH_END_DATE"] != "")? $arrayData["SCH_END_DATE"] : null;
|
||||
|
||||
//If the start date has changed then recalculate the next run time
|
||||
$recalculateDate = ($arrayData["SCH_START_DATE"] == $arrayData["PREV_SCH_START_DATE"])? false : true;
|
||||
$recalculateTime = (date("H:i:s", strtotime($arrayData["SCH_START_TIME"])) == date("H:i:s", strtotime($arrayData["PREV_SCH_START_TIME"])))? false : true;
|
||||
$recalculateDate = ($arrayData["SCH_START_DATE"] != $arrayData["PREV_SCH_START_DATE"])? true : false;
|
||||
$recalculateTime = (date("H:i:s", strtotime($arrayData["SCH_START_TIME"])) != date("H:i:s", strtotime($arrayData["PREV_SCH_START_TIME"])))? true : false;
|
||||
break;
|
||||
}
|
||||
|
||||
$nActualTime = $arrayData["SCH_START_TIME"];
|
||||
|
||||
if ($caseSchedulerOption != 1 && $caseSchedulerOption != 4 && $caseSchedulerOption != 5) {
|
||||
if ($sStartDay == "") {
|
||||
$sStartDay = date("Y-m-d");
|
||||
}
|
||||
|
||||
$dCurrentDay = (int)(date("d"));
|
||||
$dCurrentMonth = (int)(date("m"));
|
||||
|
||||
$aStartDay = ($caseSchedulerOption == 3)? explode("|", $arrayCaseSchedulerData["SCH_START_DAY"]) : array();
|
||||
|
||||
if ($caseSchedulerOption == 3 && $aStartDay[0] == "1") {
|
||||
$monthsArray = explode("|", $sMonths);
|
||||
|
||||
foreach ($monthsArray as $row) {
|
||||
switch ($option) {
|
||||
case "INS":
|
||||
if ((int)($row) == $dCurrentMonth && $dCurrentDay <= (int)($aStartDay[1])) {
|
||||
$startTime = $arrayData["SCH_START_TIME"] . ":00";
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = date("Y") . "-" . $row . "-" . $aStartDay[1] . " " . $startTime;
|
||||
break;
|
||||
} else {
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $caseScheduler->updateNextRun($caseSchedulerOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp, false);
|
||||
}
|
||||
break;
|
||||
case "UPD":
|
||||
if ($dCurrentMonth == $row && $dCurrentDay < $aStartDay[1]) {
|
||||
$startTime = $arrayData["SCH_START_TIME"] . ":00";
|
||||
|
||||
if ($recalculateDate) {
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = date("Y") . "-" . $row . "-" . $aStartDay[1] . " " . $startTime;
|
||||
} else {
|
||||
if ($recalculateTime) {
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $caseScheduler->getSchTimeNextRun("Y-m-d") . " " . $arrayData["SCH_START_TIME"] . ":00";
|
||||
}
|
||||
}
|
||||
break;
|
||||
} else {
|
||||
if ($recalculateDate) {
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $caseScheduler->updateNextRun($caseSchedulerOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp, false);
|
||||
} else {
|
||||
if ($recalculateTime) {
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $caseScheduler->getSchTimeNextRun("Y-m-d") . " " . $arrayData["SCH_START_TIME"] . ":00";
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
switch ($option) {
|
||||
case "INS":
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $caseScheduler->updateNextRun($caseSchedulerOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp, false);
|
||||
break;
|
||||
case "UPD":
|
||||
if ($recalculateDate) {
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $caseScheduler->updateNextRun($caseSchedulerOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp, false);
|
||||
} else {
|
||||
if ($recalculateTime) {
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $caseScheduler->getSchTimeNextRun("Y-m-d") . " " . $arrayData["SCH_START_TIME"] . ":00";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ($caseSchedulerOption == 4) {
|
||||
$arrayCaseSchedulerData["SCH_END_DATE"] = $arrayCaseSchedulerData["SCH_START_TIME"];
|
||||
}
|
||||
|
||||
switch ($option) {
|
||||
case "INS":
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $arrayCaseSchedulerData["SCH_START_TIME"];
|
||||
break;
|
||||
case "UPD":
|
||||
if ($recalculateDate) {
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $arrayCaseSchedulerData["SCH_START_TIME"];
|
||||
} else {
|
||||
if ($recalculateTime) {
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $caseScheduler->getSchTimeNextRun("Y-m-d") . " " . $arrayData["SCH_START_TIME"] . ":00";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if ($caseSchedulerOption == 5) {
|
||||
switch ($caseSchedulerOption) {
|
||||
case 4:
|
||||
//$arrayCaseSchedulerData["SCH_END_DATE"] = $arrayCaseSchedulerData["SCH_START_TIME"];
|
||||
break;
|
||||
case 5:
|
||||
switch ($option) {
|
||||
case "INS":
|
||||
$arrayCaseSchedulerData["SCH_START_TIME"] = time();
|
||||
$arrayCaseSchedulerData["SCH_START_DATE"] = $arrayCaseSchedulerData["SCH_START_TIME"];
|
||||
|
||||
$date = $arrayCaseSchedulerData["SCH_START_TIME"];
|
||||
break;
|
||||
case "UPD":
|
||||
$date = $caseScheduler->getSchLastRunTime();
|
||||
|
||||
if (is_null($date)) {
|
||||
$date = $caseScheduler->getSchStartTime();
|
||||
}
|
||||
|
||||
$date = strtotime($date);
|
||||
break;
|
||||
}
|
||||
|
||||
$arrayCaseSchedulerData["SCH_REPEAT_EVERY"] = $arrayData["SCH_REPEAT_EVERY"];
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = date("Y-m-d H:i:s", $date + (((int)($arrayData["SCH_REPEAT_EVERY"])) * 60 * 60));
|
||||
}
|
||||
$arrayCaseSchedulerData["SCH_REPEAT_EVERY"] = $arrayData["SCH_REPEAT_EVERY"];
|
||||
break;
|
||||
}
|
||||
|
||||
switch ($option) {
|
||||
case "INS":
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = date("Y-m-d") . " " . (($caseSchedulerOption != 5)? $arrayData["SCH_START_TIME"] . ":00" : date("H:i:s"));
|
||||
|
||||
if ($arrayData["SCH_END_DATE"] != "") {
|
||||
$arrayCaseSchedulerData["SCH_END_DATE"] = $arrayData["SCH_END_DATE"];
|
||||
}
|
||||
@@ -1138,13 +1046,13 @@ class CaseScheduler
|
||||
break;
|
||||
}
|
||||
|
||||
if (!empty($arrayData["SCH_REPEAT_TASK_CHK"])) {
|
||||
if ($arrayData["SCH_REPEAT_EVERY_OPT"] . "" == "2") {
|
||||
$arrayCaseSchedulerData["SCH_REPEAT_EVERY"] = ((int)($arrayData["SCH_REPEAT_EVERY"])) * 60;
|
||||
} else {
|
||||
$arrayCaseSchedulerData["SCH_REPEAT_EVERY"] = (int)($arrayData["SCH_REPEAT_EVERY"]);
|
||||
}
|
||||
}
|
||||
//if (!empty($arrayData["SCH_REPEAT_TASK_CHK"])) {
|
||||
// if ($arrayData["SCH_REPEAT_EVERY_OPT"] . "" == "2") {
|
||||
// $arrayCaseSchedulerData["SCH_REPEAT_EVERY"] = ((int)($arrayData["SCH_REPEAT_EVERY"])) * 60;
|
||||
// } else {
|
||||
// $arrayCaseSchedulerData["SCH_REPEAT_EVERY"] = (int)($arrayData["SCH_REPEAT_EVERY"]);
|
||||
// }
|
||||
//}
|
||||
|
||||
//Create/Update
|
||||
$caseSchedulerAux = new \CaseScheduler();
|
||||
@@ -1193,11 +1101,11 @@ class CaseScheduler
|
||||
break;
|
||||
case 4:
|
||||
//One time only
|
||||
$flagUpdateTimeNextRun = $arrayCaseSchedulerData["SCH_START_TIME"] != $arrayCaseSchedulerDataOld["SCH_START_TIME"];
|
||||
$flagUpdateTimeNextRun = $recalculateTime || $arrayCaseSchedulerData["SCH_START_TIME"] != $arrayCaseSchedulerDataOld["SCH_START_TIME"];
|
||||
break;
|
||||
case 5:
|
||||
//Every
|
||||
$flagUpdateTimeNextRun = $arrayCaseSchedulerData["SCH_REPEAT_EVERY"] != $arrayCaseSchedulerDataOld["SCH_REPEAT_EVERY"];
|
||||
$flagUpdateTimeNextRun = $option == "INS" || $arrayCaseSchedulerData["SCH_REPEAT_EVERY"] != $arrayCaseSchedulerDataOld["SCH_REPEAT_EVERY"];
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -90,6 +90,11 @@ class Light
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get status trigger case
|
||||
* @param $triggers
|
||||
* @return array
|
||||
*/
|
||||
public function statusTriggers($triggers)
|
||||
{
|
||||
$return = array("before" => false, "after"=> false);
|
||||
@@ -1061,6 +1066,23 @@ class Light
|
||||
$sysConf = \System::getSystemConfiguration( PATH_CONFIG . 'env.ini' );
|
||||
$offset = timezone_offset_get( new \DateTimeZone( $sysConf['time_zone'] ), new \DateTime() );
|
||||
$response['timeZone'] = sprintf( "GMT%s%02d:%02d", ( $offset >= 0 ) ? '+' : '-', abs( $offset / 3600 ), abs( ($offset % 3600) / 60 ) );
|
||||
$fields = \System::getSysInfo();
|
||||
$response['version'] = $fields['PM_VERSION'];
|
||||
|
||||
$Translations = new \Translation;
|
||||
$translationsTable = $Translations->getTranslationEnvironments();
|
||||
$languagesList = array ();
|
||||
|
||||
foreach ($translationsTable as $locale) {
|
||||
$LANG_ID = $locale['LOCALE'];
|
||||
if ($locale['COUNTRY'] != '.') {
|
||||
$LANG_NAME = $locale['LANGUAGE'] . ' (' . (ucwords( strtolower( $locale['COUNTRY'] ) )) . ')';
|
||||
} else {
|
||||
$LANG_NAME = $locale['LANGUAGE'];
|
||||
}
|
||||
$languagesList[$LANG_ID] = $LANG_NAME;
|
||||
}
|
||||
$response['listLanguage'] = $languagesList;
|
||||
return $response;
|
||||
}
|
||||
|
||||
|
||||
347
workflow/engine/src/ProcessMaker/BusinessModel/Light/Tracker.php
Normal file
347
workflow/engine/src/ProcessMaker/BusinessModel/Light/Tracker.php
Normal file
@@ -0,0 +1,347 @@
|
||||
<?php
|
||||
|
||||
namespace ProcessMaker\BusinessModel\Light;
|
||||
|
||||
|
||||
class Tracker
|
||||
{
|
||||
|
||||
|
||||
function __construct()
|
||||
{
|
||||
\Creole::registerDriver('dbarray', 'creole.contrib.DBArrayConnection');
|
||||
}
|
||||
|
||||
/**
|
||||
* authenticaction for case tracker
|
||||
*
|
||||
* @param $case numbre case
|
||||
* @param $pin code pin access for case tracek
|
||||
* @return array
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function authentication($case, $pin)
|
||||
{
|
||||
$cases = new \Cases();
|
||||
$response = array();
|
||||
$uid = $cases->verifyCaseTracker( $case, $pin );
|
||||
switch ($uid) {
|
||||
//The case doesn't exist
|
||||
case - 1:
|
||||
throw (new \Exception(\G::LoadTranslation('ID_CASE_NOT_EXISTS')));
|
||||
break;
|
||||
//The pin is invalid
|
||||
case - 2:
|
||||
throw (new \Exception(\G::LoadTranslation('ID_PIN_INVALID')));
|
||||
break;
|
||||
}
|
||||
$response['process'] = $uid['PRO_UID'];
|
||||
$response['app_uid'] = $uid['APP_UID'];
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* Access granted for administrator in case tracker
|
||||
*
|
||||
* @param $pro_uid
|
||||
* @param $status
|
||||
* @return bool
|
||||
*/
|
||||
public function permissions ($pro_uid, $status)
|
||||
{
|
||||
$cases = new \Cases();
|
||||
$caseTracker = $cases->caseTrackerPermissions( $pro_uid );
|
||||
switch ($status) {
|
||||
case "map":
|
||||
$return = $caseTracker['CT_MAP_TYPE'];
|
||||
break;
|
||||
case "messages":
|
||||
$return = $caseTracker['CT_MESSAGE_HISTORY'];
|
||||
break;
|
||||
case "history":
|
||||
$return = $caseTracker['CT_DERIVATION_HISTORY'];
|
||||
break;
|
||||
case "objects":
|
||||
$return = $caseTracker['DYNADOC'];
|
||||
break;
|
||||
default:
|
||||
$return = false;
|
||||
break;
|
||||
}
|
||||
return $return;
|
||||
}
|
||||
|
||||
|
||||
public function history($idProcess, $appUid)
|
||||
{
|
||||
$oCase = new \Cases();
|
||||
$aFields = $oCase->loadCase( $appUid );
|
||||
|
||||
$oProcess = new \Process();
|
||||
$aProcessFieds = $oProcess->load( $idProcess );
|
||||
$noShowTitle = 0;
|
||||
if (isset( $aProcessFieds['PRO_SHOW_MESSAGE'] )) {
|
||||
$noShowTitle = $aProcessFieds['PRO_SHOW_MESSAGE'];
|
||||
}
|
||||
|
||||
if (isset( $aFields['TITLE'] )) {
|
||||
$aFields['APP_TITLE'] = $aFields['TITLE'];
|
||||
}
|
||||
if ($aFields['APP_PROC_CODE'] != '') {
|
||||
$aFields['APP_NUMBER'] = $aFields['APP_PROC_CODE'];
|
||||
}
|
||||
$aFields['CASE'] = \G::LoadTranslation( 'ID_CASE' );
|
||||
$aFields['TITLE'] = \G::LoadTranslation( 'ID_TITLE' );
|
||||
|
||||
$c = \Cases::getTransferHistoryCriteria( $appUid );
|
||||
$dataset = \AppDelegationPeer::doSelectRS( $c );
|
||||
$dataset->setFetchmode( \ResultSet::FETCHMODE_ASSOC );
|
||||
$dataset->next();
|
||||
$history = array();
|
||||
while ($row = $dataset->getRow()) {
|
||||
$history[] = $row;
|
||||
$dataset->next();
|
||||
}
|
||||
$response = $this->parserHistory($history);
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function parserHistory ($data)
|
||||
{
|
||||
$structure = array(
|
||||
'PRO_UID' => 'processId',
|
||||
'TAS_UID' => 'taskId',
|
||||
'APP_UID' => 'caseId',
|
||||
'user' => array(
|
||||
'USR_NAME' => 'name',
|
||||
'USR_FIRSTNAME' => 'firstName',
|
||||
'USR_LASTNAME' => 'lastName'
|
||||
),
|
||||
'DEL_DELEGATE_DATE' => 'delegateDate',
|
||||
'DEL_INDEX' => 'index',
|
||||
'DEL_INIT_DATE' => 'initDate',
|
||||
'APP_ENABLE_ACTION_DATE' => 'enableAction',
|
||||
'APP_DISABLE_ACTION_DATE' => 'disableAction',
|
||||
'TAS_TITLE' => 'taskTitle',
|
||||
'DEL_FINISH_DATE' => 'finishDate',
|
||||
'APP_TYPE' => 'type'
|
||||
);
|
||||
|
||||
$response = $this->replaceFields($data, $structure);
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function messages($idProcess, $appUid)
|
||||
{
|
||||
$oCase = new \Cases();
|
||||
$aFields = $oCase->loadCase( $appUid );
|
||||
|
||||
$oProcess = new \Process();
|
||||
$aProcessFieds = $oProcess->load( $idProcess );
|
||||
$noShowTitle = 0;
|
||||
if (isset( $aProcessFieds['PRO_SHOW_MESSAGE'] )) {
|
||||
$noShowTitle = $aProcessFieds['PRO_SHOW_MESSAGE'];
|
||||
}
|
||||
|
||||
if (isset( $aFields['TITLE'] )) {
|
||||
$aFields['APP_TITLE'] = $aFields['TITLE'];
|
||||
}
|
||||
if ($aFields['APP_PROC_CODE'] != '') {
|
||||
$aFields['APP_NUMBER'] = $aFields['APP_PROC_CODE'];
|
||||
}
|
||||
$aFields['CASE'] = \G::LoadTranslation( 'ID_CASE' );
|
||||
$aFields['TITLE'] = \G::LoadTranslation( 'ID_TITLE' );
|
||||
|
||||
$c = \Cases::getHistoryMessagesTracker( $appUid );
|
||||
$response = array();
|
||||
if ($c->getDbName() == 'dbarray') {
|
||||
$rs = \ArrayBasePeer::doSelectRs( $c );
|
||||
$rs->setFetchmode( \ResultSet::FETCHMODE_ASSOC );
|
||||
$rs->next();
|
||||
$messages = array();
|
||||
while ($row = $rs->getRow()) {
|
||||
$messages[] = $row;
|
||||
$rs->next();
|
||||
}
|
||||
$response = $this->parserMessages($messages);
|
||||
}
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function parserMessages ($data)
|
||||
{
|
||||
$structure = array(
|
||||
'APP_UID' => 'caseId',
|
||||
'APP_MSG_UID' => 'messageId',
|
||||
'APP_MSG_TYPE' => 'messageType',
|
||||
'APP_MSG_SUBJECT' => 'messageSubject',
|
||||
'APP_MSG_FROM' => 'messageFrom',
|
||||
'APP_MSG_TO' => 'messageTo',
|
||||
'APP_MSG_BODY' => 'messageBody',
|
||||
'APP_MSG_DATE' => 'messageDate',
|
||||
'APP_MSG_CC' => 'messageCc',
|
||||
'APP_MSG_BCC' => 'messageBcc',
|
||||
'APP_MSG_TEMPLATE' => 'messageTemplate',
|
||||
'APP_MSG_STATUS' => 'messageStatus'
|
||||
);
|
||||
|
||||
$response = $this->replaceFields($data, $structure);
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function objects($idProcess, $appUid)
|
||||
{
|
||||
$oProcessMap = new \processMap();
|
||||
|
||||
$oCase = new \Cases();
|
||||
|
||||
$oProcess = new \Process();
|
||||
$aProcessFieds = $oProcess->load( $idProcess );
|
||||
$noShowTitle = 0;
|
||||
if (isset( $aProcessFieds['PRO_SHOW_MESSAGE'] )) {
|
||||
$noShowTitle = $aProcessFieds['PRO_SHOW_MESSAGE'];
|
||||
}
|
||||
|
||||
$aFields = $oCase->loadCase( $appUid );
|
||||
if (isset( $aFields['TITLE'] )) {
|
||||
$aFields['APP_TITLE'] = $aFields['TITLE'];
|
||||
}
|
||||
if ($aFields['APP_PROC_CODE'] != '') {
|
||||
$aFields['APP_NUMBER'] = $aFields['APP_PROC_CODE'];
|
||||
}
|
||||
$aFields['CASE'] = \G::LoadTranslation( 'ID_CASE' );
|
||||
$aFields['TITLE'] = \G::LoadTranslation( 'ID_TITLE' );
|
||||
|
||||
$c = $oProcessMap->getCaseTrackerObjectsCriteria( $idProcess );
|
||||
$response = array();
|
||||
if ($c->getDbName() == 'dbarray') {
|
||||
$rs = \ArrayBasePeer::doSelectRs( $c );
|
||||
$rs->setFetchmode( \ResultSet::FETCHMODE_ASSOC );
|
||||
$rs->next();
|
||||
$objects = array();
|
||||
while ($row = $rs->getRow()) {
|
||||
$objects[] = $row;
|
||||
$rs->next();
|
||||
}
|
||||
$response = $this->parserObjects($objects);
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function parserObjects ($data)
|
||||
{
|
||||
$structure = array(
|
||||
//'CTO_UID' => 'objectId',
|
||||
'CTO_TITLE' => 'objectTitle',
|
||||
'CTO_TYPE_OBJ' => 'objectType',
|
||||
'CTO_UID_OBJ' => 'objectId',
|
||||
'CTO_CONDITION' => 'condition',
|
||||
'CTO_POSITION' => 'position'
|
||||
);
|
||||
|
||||
$response = $this->replaceFields($data, $structure);
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function showObjects ($pro_uid, $app_uid, $obj_uid, $typeObject)
|
||||
{
|
||||
switch ($typeObject) {
|
||||
case 'DYNAFORM':
|
||||
|
||||
$oCase = new \Cases();
|
||||
$Fields = $oCase->loadCase( $app_uid );
|
||||
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = '';
|
||||
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP_LABEL'] = '';
|
||||
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP'] = '#';
|
||||
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_ACTION'] = 'alert("Sample"); return false;';
|
||||
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PRINT_PREVIEW'] = '#';
|
||||
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PRINT_PREVIEW_ACTION'] = 'tracker_PrintView?CTO_UID_OBJ=' . $obj_uid . '&CTO_TYPE_OBJ=PRINT_PREVIEW';
|
||||
|
||||
$dynaForm = new \Dynaform();
|
||||
$arrayDynaFormData = $dynaForm->Load($obj_uid);
|
||||
|
||||
if (isset($arrayDynaFormData["DYN_VERSION"]) && $arrayDynaFormData["DYN_VERSION"] == 2) {
|
||||
\G::LoadClass("pmDynaform");
|
||||
|
||||
$Fields["PRO_UID"] = $pro_uid;
|
||||
$Fields["CURRENT_DYNAFORM"] = $obj_uid;
|
||||
|
||||
$pmDynaForm = new \pmDynaform($Fields);
|
||||
|
||||
// if ($pmDynaForm->isResponsive()) {
|
||||
// $pmDynaForm->printTracker();
|
||||
// }
|
||||
$response = $pmDynaForm;
|
||||
}
|
||||
break;
|
||||
case 'INPUT_DOCUMENT':
|
||||
//G::LoadClass( 'case' );
|
||||
$oCase = new \Cases();
|
||||
$c = $oCase->getAllUploadedDocumentsCriteriaTracker( $pro_uid, $app_uid, $obj_uid );
|
||||
|
||||
// $response = array();
|
||||
if ($c->getDbName() == 'dbarray') {
|
||||
$rs = \ArrayBasePeer::doSelectRs( $c );
|
||||
$rs->setFetchmode( \ResultSet::FETCHMODE_ASSOC );
|
||||
$rs->next();
|
||||
$doc = array();
|
||||
while ($row = $rs->getRow()) {
|
||||
$doc[] = $row;
|
||||
$rs->next();
|
||||
}
|
||||
//$response = $this->parserObjects($objects);
|
||||
}
|
||||
|
||||
$response = $doc;
|
||||
break;
|
||||
|
||||
case 'OUTPUT_DOCUMENT':
|
||||
//G::LoadClass( 'case' );
|
||||
$oCase = new \Cases();
|
||||
$c = $oCase->getAllGeneratedDocumentsCriteriaTracker( $pro_uid, $app_uid, $obj_uid );
|
||||
$response = $c;
|
||||
break;
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function replaceFields ($data, $structure)
|
||||
{
|
||||
$response = array();
|
||||
foreach ($data as $field => $d) {
|
||||
if (is_array($d)) {
|
||||
$newData = array();
|
||||
foreach ($d as $field => $value) {
|
||||
if (array_key_exists($field, $structure)) {
|
||||
$newName = $structure[$field];
|
||||
$newData[$newName] = is_null($value) ? "":$value;
|
||||
} else {
|
||||
foreach ($structure as $name => $str) {
|
||||
if (is_array($str) && array_key_exists($field, $str)) {
|
||||
$newName = $str[$field];
|
||||
$newData[$name][$newName] = is_null($value) ? "":$value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (count($newData) > 0)
|
||||
$response[] = $newData;
|
||||
} else {
|
||||
if (array_key_exists($field, $structure)) {
|
||||
$newName = $structure[$field];
|
||||
$response[$newName] = is_null($d) ? "":$d;
|
||||
} else {
|
||||
foreach ($structure as $name => $str) {
|
||||
if (is_array($str) && array_key_exists($field, $str)) {
|
||||
$newName = $str[$field];
|
||||
$response[$name][$newName] = is_null($d) ? "":$d;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
@@ -462,8 +462,11 @@ class Light extends Api
|
||||
|
||||
$response = $process->getDynaForms($prj_uid);
|
||||
$result = $this->parserDataDynaForm($response);
|
||||
\G::LoadClass("pmDynaform");
|
||||
$pmDynaForm = new \pmDynaform();
|
||||
foreach ($result as $k => $form) {
|
||||
$result[$k]['formContent'] = (isset($form['formContent']) && $form['formContent'] != null)?json_decode($form['formContent']):"";
|
||||
$pmDynaForm->jsonr($result[$k]['formContent']);
|
||||
$result[$k]['index'] = $k;
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
@@ -491,12 +494,15 @@ class Light extends Api
|
||||
$dynaForm->setFormatFieldNameInUppercase(false);
|
||||
$oMobile = new \ProcessMaker\BusinessModel\Light();
|
||||
$step = new \ProcessMaker\Services\Api\Project\Activity\Step();
|
||||
\G::LoadClass("pmDynaform");
|
||||
$pmDynaForm = new \pmDynaform();
|
||||
$response = array();
|
||||
for ($i = 0; $i < count($activitySteps); $i++) {
|
||||
if ($activitySteps[$i]['step_type_obj'] == "DYNAFORM") {
|
||||
$dataForm = $dynaForm->getDynaForm($activitySteps[$i]['step_uid_obj']);
|
||||
$result = $this->parserDataDynaForm($dataForm);
|
||||
$result['formContent'] = (isset($result['formContent']) && $result['formContent'] != null)?json_decode($result['formContent']):"";
|
||||
$pmDynaForm->jsonr($result['formContent']);
|
||||
$result['index'] = $i;
|
||||
$result['stepId'] = $activitySteps[$i]["step_uid"];
|
||||
$trigger = $oMobile->statusTriggers($step->doGetActivityStepTriggers($activitySteps[$i]["step_uid"], $act_uid, $prj_uid));
|
||||
@@ -559,6 +565,9 @@ class Light extends Api
|
||||
$response = $dynaForm->getDynaForm($dyn_uid);
|
||||
$result = $this->parserDataDynaForm($response);
|
||||
$result['formContent'] = (isset($result['formContent']) && $result['formContent'] != null)?json_decode($result['formContent']):"";
|
||||
\G::LoadClass("pmDynaform");
|
||||
$pmDynaForm = new \pmDynaform();
|
||||
$pmDynaForm->jsonr($result['formContent']);
|
||||
return $result;
|
||||
} catch (\Exception $e) {
|
||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||
@@ -574,11 +583,14 @@ class Light extends Api
|
||||
try {
|
||||
$dynaForm = new \ProcessMaker\BusinessModel\DynaForm();
|
||||
$dynaForm->setFormatFieldNameInUppercase(false);
|
||||
\G::LoadClass("pmDynaform");
|
||||
$pmDynaForm = new \pmDynaform();
|
||||
$return = array();
|
||||
foreach ($request_data['formId'] as $dyn_uid) {
|
||||
$response = $dynaForm->getDynaForm($dyn_uid);
|
||||
$result = $this->parserDataDynaForm($response);
|
||||
$result['formContent'] = (isset($result['formContent']) && $result['formContent'] != null)?json_decode($result['formContent']):"";
|
||||
$pmDynaForm->jsonr($result['formContent']);
|
||||
$return[] = $result;
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
@@ -832,7 +844,7 @@ class Light extends Api
|
||||
/**
|
||||
* @url POST /case/:app_uid/claim
|
||||
*
|
||||
* @param $app_uid
|
||||
* @param $app_uid {@min 1}{@max 32}
|
||||
* @return mixed
|
||||
*/
|
||||
public function claimCaseUser($app_uid)
|
||||
|
||||
143
workflow/engine/src/ProcessMaker/Services/Api/Light/Tracker.php
Normal file
143
workflow/engine/src/ProcessMaker/Services/Api/Light/Tracker.php
Normal file
@@ -0,0 +1,143 @@
|
||||
<?php
|
||||
|
||||
namespace ProcessMaker\Services\Api\Light;
|
||||
|
||||
use \ProcessMaker\Services\Api;
|
||||
use \Luracast\Restler\RestException;
|
||||
|
||||
/**
|
||||
*
|
||||
* Process Api Controller
|
||||
*
|
||||
* @protected
|
||||
*/
|
||||
class Tracker extends Api
|
||||
{
|
||||
/**
|
||||
* @return array
|
||||
* @access public
|
||||
* @url GET /case/:case/tracker/:pin
|
||||
*/
|
||||
public function Authentication($case, $pin)
|
||||
{
|
||||
try {
|
||||
$oMobile = new \ProcessMaker\BusinessModel\Light\Tracker();
|
||||
$response = $oMobile->authentication($case, $pin);
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
* @access public
|
||||
* @url GET /process/:pro_uid/case/:app_uid/tracker-history
|
||||
*/
|
||||
public function history($pro_uid, $app_uid)
|
||||
{
|
||||
try {
|
||||
$oMobile = new \ProcessMaker\BusinessModel\Light\Tracker();
|
||||
if (!$oMobile->permissions($pro_uid, "history"))
|
||||
{
|
||||
throw (new \Exception(\G::LoadTranslation('ID_ACCOUNT_DISABLED_CONTACT_ADMIN')));
|
||||
}
|
||||
$response = $oMobile->history($pro_uid, $app_uid);
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
* @access public
|
||||
*
|
||||
* @param string $pro_uid {@min 1}{@max 32}
|
||||
* @param string $app_uid {@min 1}{@max 32}
|
||||
*
|
||||
* @url GET /process/:pro_uid/case/:app_uid/tracker-messages
|
||||
*/
|
||||
public function getMessages($pro_uid, $app_uid)
|
||||
{
|
||||
try {
|
||||
$oMobile = new \ProcessMaker\BusinessModel\Light\Tracker();
|
||||
if (!$oMobile->permissions($pro_uid, "messages"))
|
||||
{
|
||||
throw (new \Exception(\G::LoadTranslation('ID_ACCOUNT_DISABLED_CONTACT_ADMIN')));
|
||||
}
|
||||
$response = $oMobile->messages($pro_uid, $app_uid);
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
* @access public
|
||||
*
|
||||
* @param string $msg_uid {@min 1}{@max 32}
|
||||
* @param string $app_uid {@min 1}{@max 32}
|
||||
*
|
||||
* @url GET /process/case/:app_uid/message/:msg_uid/view
|
||||
*/
|
||||
public function getViewMessages($app_uid, $msg_uid)
|
||||
{
|
||||
try {
|
||||
$oMobile = new \ProcessMaker\BusinessModel\Light\Tracker();
|
||||
$Fields = \Cases::getHistoryMessagesTrackerView( $app_uid, $msg_uid );
|
||||
$response = $oMobile->parserMessages($Fields);
|
||||
//$response = $oMobile->messages($pro_uid, $app_uid);
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
* @access public
|
||||
*
|
||||
* @param string $pro_uid {@min 1}{@max 32}
|
||||
* @param string $app_uid {@min 1}{@max 32}
|
||||
*
|
||||
* @url GET /process/:pro_uid/case/:app_uid/tracker-docs
|
||||
*/
|
||||
public function getObjects($pro_uid, $app_uid)
|
||||
{
|
||||
try {
|
||||
$oMobile = new \ProcessMaker\BusinessModel\Light\Tracker();
|
||||
if (!$oMobile->permissions($pro_uid, "objects"))
|
||||
{
|
||||
throw (new \Exception(\G::LoadTranslation('ID_ACCOUNT_DISABLED_CONTACT_ADMIN')));
|
||||
}
|
||||
$response = $oMobile->objects($pro_uid, $app_uid);
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
* @access public
|
||||
*
|
||||
* @param string $pro_uid {@min 1}{@max 32}
|
||||
* @param string $app_uid {@min 1}{@max 32}
|
||||
* @param string $obj_uid {@min 1}{@max 32}
|
||||
* @param string $type
|
||||
*
|
||||
* @url GET /process/:pro_uid/case/:app_uid/object/:obj_uid/:type/show
|
||||
*/
|
||||
public function getShowObjects($pro_uid, $app_uid, $obj_uid, $type)
|
||||
{
|
||||
try {
|
||||
$oMobile = new \ProcessMaker\BusinessModel\Light\Tracker();
|
||||
$response = $oMobile->showObjects($pro_uid, $app_uid, $obj_uid, $type);
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
@@ -100,6 +100,7 @@ debug = 1
|
||||
|
||||
[alias: light]
|
||||
light = "ProcessMaker\Services\Api\Light"
|
||||
tracker = "ProcessMaker\Services\Api\Light\Tracker"
|
||||
|
||||
[alias: consolidated]
|
||||
list = "ProcessMaker\Services\Api\Consolidated"
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
<td class="FormFieldContent">
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td style="width: 20%">{$form.SCH_START_DAY}</td>
|
||||
<td style="width: 35%">{$form.SCH_START_DAY}</td>
|
||||
<td> {$SCH_START_DAY_OPT_1} {$form.SCH_START_DAY_OPT_1} <br/>
|
||||
{$SCH_START_DAY_OPT_2_WEEKS} {$SCH_START_DAY_OPT_2_DAYS_WEEK}
|
||||
{$form.SCH_START_DAY_OPT_2_WEEKS} {$form.SCH_START_DAY_OPT_2_DAYS_WEEK} <br/>
|
||||
|
||||
@@ -109,7 +109,7 @@ WHERE A.PRO_UID='@#PRO_UID' AND A.TAS_START = 'TRUE' ]]><en><![CDATA[Task]]></en
|
||||
<en><![CDATA[Monthly]]></en>
|
||||
</SELECT_3>
|
||||
<SCH_START_DAY type="radiogroup" required="0" mode="edit" options="Array">
|
||||
<en><![CDATA[]]><option name="1"><![CDATA[Day]]></option><option name="2"><![CDATA[The]]></option></en>
|
||||
<en><![CDATA[]]><option name="1"><![CDATA[Day of month]]></option><option name="2"><![CDATA[The day]]></option></en>
|
||||
</SCH_START_DAY>
|
||||
<SCH_START_DAY_OPT_1 type="text" maxlength="2" validate="Int" mask="##" required="0" readonly="0" defaultvalue="1" size="2" mode="edit">
|
||||
<en><![CDATA[]]></en>
|
||||
@@ -696,7 +696,7 @@ function validateSchedulerFields(oForm) {
|
||||
msgBox("@G::LoadTranslation(ID_REQUIRED_NAME_CASE_SCHEDULER)", 'alert');
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
var listNames = document.getElementById('form[SCH_LIST]').value;
|
||||
listNames = listNames.split("^");
|
||||
for (var i= 1; i<listNames.length; i++) {
|
||||
|
||||
Reference in New Issue
Block a user