Merge branch 'master' of bitbucket.org:marcoAntonioNina/processmaker into dashboards2

This commit is contained in:
Marco Antonio Nina Mena
2015-05-10 16:40:01 -04:00
35 changed files with 615 additions and 283 deletions

View File

@@ -579,6 +579,7 @@ function run_workspace_restore($args, $opts) {
return;
}
workspaceTools::restore($filename, $workspace, $dstWorkspace, $overwrite, $lang);
run_cacheview_upgrade($workspace, '');
}
}
}

View File

@@ -35,10 +35,10 @@ class pmDynaform
public function getDynaformTitle($idDynaform)
{
$d = new Dynaform();
$d->setDynUid($idDynaform);
$titleDynaform = $d->getDynTitle();
return $titleDynaform;
$d = new Dynaform();
$d->setDynUid($idDynaform);
$titleDynaform = $d->getDynTitle();
return $titleDynaform;
}
public function getDynaform()
@@ -122,7 +122,7 @@ class pmDynaform
}
}
//query & options
if ($key === "type" && ($value === "text" || $value === "textarea" || $value === "dropdown" || $value === "suggest" || $value === "checkbox" || $value === "radio" || $value === "datetime")) {
if ($key === "type" && ($value === "text" || $value === "textarea" || $value === "dropdown" || $value === "suggest" || $value === "checkbox" || $value === "radio" || $value === "datetime" || $value === "hidden")) {
if (!isset($json->data)) {
$json->data = array(
"value" => "",
@@ -162,7 +162,7 @@ class pmDynaform
array_push($json->options, $option);
}
} catch (Exception $e) {
}
}
if (isset($json->options[0])) {
@@ -176,7 +176,7 @@ class pmDynaform
}
}
//data
if ($key === "type" && ($value === "text" || $value === "textarea" || $value === "suggest" || $value === "dropdown" || $value === "checkbox" || $value === "radio" || $value === "datetime")) {
if ($key === "type" && ($value === "text" || $value === "textarea" || $value === "suggest" || $value === "dropdown" || $value === "checkbox" || $value === "radio" || $value === "datetime" || $value === "hidden")) {
$json->data = array(
"value" => isset($this->fields["APP_DATA"][$json->name]) ? $this->fields["APP_DATA"][$json->name] : (is_array($json->data) ? $json->data["value"] : $json->data->value),
"label" => isset($this->fields["APP_DATA"][$json->name . "_label"]) ? $this->fields["APP_DATA"][$json->name . "_label"] : (is_array($json->data) ? $json->data["label"] : $json->data->label)
@@ -219,7 +219,7 @@ class pmDynaform
$cells = array();
foreach ($json->columns as $column) {
//data
if ($column->type === "text" || $column->type === "textarea" || $column->type === "dropdown" || $column->type === "datetime" || $column->type === "checkbox" || $column->type === "file" || $column->type === "link") {
if ($column->type === "text" || $column->type === "textarea" || $column->type === "dropdown" || $column->type === "datetime" || $column->type === "checkbox" || $column->type === "file" || $column->type === "link" || $value === "hidden") {
array_push($cells, array(
"value" => isset($row[$column->name]) ? $row[$column->name] : "",
"label" => isset($row[$column->name . "_label"]) ? $row[$column->name . "_label"] : (isset($row[$column->name]) ? $row[$column->name] : "")

View File

@@ -1608,12 +1608,12 @@ class workspaceTools
$final = $stop - $start;
CLI::logging("<*> Verify took $final seconds.\n");
$start = microtime(true);
/*$start = microtime(true);
CLI::logging("> Updating cache view...\n");
$workspace->upgradeCacheView(true, false, $lang);
$stop = microtime(true);
$final = $stop - $start;
CLI::logging("<*> Updating cache view Process took $final seconds.\n");
CLI::logging("<*> Updating cache view Process took $final seconds.\n");*/
mysql_close($link);
}

View File

@@ -328,21 +328,23 @@ class CaseScheduler extends BaseCaseScheduler
$oCriteria->addOr( CaseSchedulerPeer::SCH_END_DATE, $dCurrentDate, Criteria::GREATER_EQUAL );
$oDataset = CaseSchedulerPeer::doSelectRS( $oCriteria );
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$oDataset->next();
$sValue = '';
$sActualTime = '';
$sDaysPerformTask = '';
$sWeeks = '';
$sStartDay = '';
$sMonths = '';
while ($aRow = $oDataset->getRow()) {
while ($oDataset->next()) {
$aRow = $oDataset->getRow();
if ($cron == 1) {
$arrayCron = unserialize( trim( @file_get_contents( PATH_DATA . "cron" ) ) );
$arrayCron["processcTimeStart"] = time();
@file_put_contents( PATH_DATA . "cron", serialize( $arrayCron ) );
}
$sSchedulerUid = $aRow['SCH_UID'];
$sOption = $aRow['SCH_OPTION'];
switch ($sOption) {
@@ -379,10 +381,20 @@ class CaseScheduler extends BaseCaseScheduler
$sActualDataTime = strtotime( $aRow['SCH_TIME_NEXT_RUN'] );
$sActualSysTime = strtotime( $nTime );
// note added consider the posibility to encapsulate some in functionality in a class method or some funtions
if ($sActualDataHour < $dActualSysHour) {
$_PORT = (SERVER_PORT != '80') ? ':' . SERVER_PORT : '';
$defaultEndpoint = 'http://' . SERVER_NAME . $_PORT . '/sys' . SYS_SYS . '/' . SYS_LANG . '/classic/services/wsdl2';
if ($sActualDataHour == $dActualSysHour && $sActualDataMinutes <= $dActualSysMinutes) {
//if ($sActualDataHour == $dActualSysHour && $sActualDataMinutes == $dActualSysMinutes) {
$port = "";
if (isset($_SERVER["SERVER_PORT"])) {
$port = ($_SERVER["SERVER_PORT"] . "" != "80")? ":" . $_SERVER["SERVER_PORT"] : "";
} else {
if (defined("SERVER_PORT")) {
$port = (SERVER_PORT . "" != "80")? ":" . SERVER_PORT : "";
}
}
$defaultEndpoint = "http://" . SERVER_NAME . $port . "/sys" . SYS_SYS . "/" . SYS_LANG . "/classic/services/wsdl2";
println( " - Connecting webservice: $defaultEndpoint" );
$user = $aRow["SCH_DEL_USER_NAME"];
$pass = $aRow["SCH_DEL_USER_PASS"];
@@ -404,7 +416,6 @@ class CaseScheduler extends BaseCaseScheduler
$paramsLog = array ('PRO_UID' => $processId,'TAS_UID' => $taskId,'SCH_UID' => $sSchedulerUid,'USR_NAME' => $user,'RESULT' => '','EXEC_DATE' => date( 'Y-m-d' ),'EXEC_HOUR' => date( 'H:i:s' ),'WS_CREATE_CASE_STATUS' => '','WS_ROUTE_CASE_STATUS' => ''
);
$sw_transfer_control_plugin = false; //This SW will be true only if a plugin is allowed to continue the action
//If this Job was was registered to be performed by a plugin
if ((isset( $aRow['CASE_SH_PLUGIN_UID'] )) && ($aRow['CASE_SH_PLUGIN_UID'] != "")) {
//Check if the plugin is active
@@ -423,11 +434,9 @@ class CaseScheduler extends BaseCaseScheduler
$activePluginsForCaseScheduler = $oPluginRegistry->getCaseSchedulerPlugins();
foreach ($activePluginsForCaseScheduler as $key => $caseSchedulerPlugin) {
if ((isset( $caseSchedulerPlugin->sNamespace )) && ($caseSchedulerPlugin->sNamespace == $pluginParts[0]) && (isset( $caseSchedulerPlugin->sActionId )) && ($caseSchedulerPlugin->sActionId == $pluginParts[1])) {
$sw_transfer_control_plugin = true;
$caseSchedulerSelected = $caseSchedulerPlugin;
}
}
}
}
@@ -446,7 +455,6 @@ class CaseScheduler extends BaseCaseScheduler
$paramsLogResult = $paramsLogResultFromPlugin['paramsLogResult'];
$paramsRouteLogResult = $paramsLogResultFromPlugin['paramsRouteLogResult'];
} else {
eprint( " - Creating the new case............." );
$paramsAux = $params;
@@ -472,9 +480,9 @@ class CaseScheduler extends BaseCaseScheduler
$paramsLog['WS_CREATE_CASE_STATUS'] = "Case " . $caseNumber . " " . strip_tags( $result->message );
$paramsLogResult = 'SUCCESS';
$params = array ('sessionId' => $sessionId,'caseId' => $caseId,'delIndex' => "1");
eprint( " - Routing the case #$caseNumber.............." );
try {
$result = $client->__SoapCall( 'RouteCase', array ($params) );
eprint(" - Routing the case #$caseNumber..............");
if ($result->status_code == 0) {
$paramsLog['WS_ROUTE_CASE_STATUS'] = strip_tags( $result->message );
$retMsg = explode( "Debug", $paramsLog['WS_ROUTE_CASE_STATUS'] );
@@ -494,141 +502,12 @@ class CaseScheduler extends BaseCaseScheduler
}
} else {
$paramsLog['WS_CREATE_CASE_STATUS'] = strip_tags( $result->message );
eprintln( "FAILED->{$paramsLog ['WS_CREATE_CASE_STATUS']}", 'red' );
$paramsLogResult = 'FAILED';
}
}
} else {
eprintln( $result->message, 'red' );
// invalid user or bad password
}
if ($paramsLogResult == 'SUCCESS' && $paramsRouteLogResult == 'SUCCESS') {
$paramsLog['RESULT'] = 'SUCCESS';
} else {
$paramsLog['RESULT'] = 'FAILED';
}
$newCaseLog->saveLogParameters( $paramsLog );
$newCaseLog->save();
if ($sOption != '4' && $sOption != '5') {
$nSchLastRunTime = $sActualTime;
$dEstimatedDate = $this->updateNextRun( $sOption, $sValue, $sActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths );
if ($aRow['SCH_END_DATE'] != '') {
if (date( "Y-m-d", strtotime( $dEstimatedDate ) ) > date( "Y-m-d", strtotime( $aRow['SCH_END_DATE'] ) )) {
$Fields = $this->Load( $sSchedulerUid );
$Fields['SCH_LAST_STATE'] = $aRow['SCH_STATE'];
$Fields['SCH_STATE'] = 'PROCESSED';
$this->Update( $Fields );
}
}
$nSchTimeNextRun = $dEstimatedDate;
$this->updateDate( $sSchedulerUid, $nSchTimeNextRun, $nSchLastRunTime );
} elseif ($sOption != '5') {
$Fields = $this->Load( $sSchedulerUid );
$Fields['SCH_LAST_STATE'] = $aRow['SCH_STATE'];
$Fields['SCH_LAST_RUN_TIME'] = $Fields['SCH_TIME_NEXT_RUN'];
$Fields['SCH_STATE'] = 'PROCESSED';
$this->Update( $Fields );
} else {
$nSchLastRunTime = $sActualTime;
$Fields = $this->Load( $sSchedulerUid );
$Fields['SCH_LAST_RUN_TIME'] = $Fields['SCH_TIME_NEXT_RUN'];
//$nSchTimeNextRun = strtotime( $Fields['SCH_TIME_NEXT_RUN'] );
$nSchTimeNextRun = $nTime;
$nextRun = $Fields['SCH_REPEAT_EVERY'] * 60 * 60;
$nSchTimeNextRun += $nextRun;
$nSchTimeNextRun = date( "Y-m-d H:i", $nSchTimeNextRun );
$this->updateDate( $sSchedulerUid, $nSchTimeNextRun, $nSchLastRunTime );
}
} elseif ($sActualDataHour == $dActualSysHour && $sActualDataMinutes <= $dActualSysMinutes) {
$_PORT = '';
if ( isset($_SERVER['SERVER_PORT']) ) {
$_PORT = ($_SERVER['SERVER_PORT'] != '80') ? ':' . $_SERVER['SERVER_PORT'] : '';
} elseif ( defined('SERVER_PORT') ) {
$_PORT = (SERVER_PORT != '80') ? ':' . SERVER_PORT : '';
}
//$defaultEndpoint = 'http://' . $_SERVER ['SERVER_NAME'] . ':' . $_PORT . '/sys' . SYS_SYS .'/'.SYS_LANG.'/classic/green/services/wsdl2';
$defaultEndpoint = 'http://' . SERVER_NAME . $_PORT . '/sys' . SYS_SYS . '/' . SYS_LANG . '/classic/services/wsdl2';
println( " - Connecting webservice: $defaultEndpoint" );
$user = $aRow["SCH_DEL_USER_NAME"];
$pass = $aRow["SCH_DEL_USER_PASS"];
$processId = $aRow["PRO_UID"];
$taskId = $aRow["TAS_UID"];
$client = new SoapClient( $defaultEndpoint );
$params = array ('userid' => $user,'password' => Bootstrap::getPasswordHashType() . ':' . $pass);
$result = $client->__SoapCall( 'login', array ($params) );
eprint( " - Logging as user $user............." );
if ($result->status_code == 0) {
eprintln( "OK+", 'green' );
$sessionId = $result->message;
$newCaseLog = new LogCasesScheduler();
$newRouteLog = new LogCasesScheduler();
$variables = Array ();
$params = array ('sessionId' => $sessionId,'processId' => $processId,'taskId' => $taskId,'variables' => $variables
);
$paramsLog = array ('PRO_UID' => $processId,'TAS_UID' => $taskId,'SCH_UID' => $sSchedulerUid,'USR_NAME' => $user,'RESULT' => '','EXEC_DATE' => date( 'Y-m-d' ),'EXEC_HOUR' => date( 'H:i:s' ),'WS_CREATE_CASE_STATUS' => '','WS_ROUTE_CASE_STATUS' => ''
);
$paramsAux = $params;
$paramsAux["executeTriggers"] = 1;
$oPluginRegistry = &PMPluginRegistry::getSingleton();
if ($oPluginRegistry->existsTrigger ( PM_SCHEDULER_CREATE_CASE_BEFORE )) {
$oPluginRegistry->executeTriggers(PM_SCHEDULER_CREATE_CASE_BEFORE, $paramsAux);
}
$result = $client->__SoapCall("NewCase", array($paramsAux));
if ($oPluginRegistry->existsTrigger ( PM_SCHEDULER_CREATE_CASE_AFTER )) {
$oPluginRegistry->executeTriggers(PM_SCHEDULER_CREATE_CASE_AFTER, $result);
}
eprint( " - Creating the new case............." );
if ($result->status_code == 0) {
eprintln( "OK+ CASE #{$result->caseNumber} was created!", 'green' );
$caseId = $result->caseId;
$caseNumber = $result->caseNumber;
$log[] = $caseNumber . ' was created!, ProcessID: ' . $aRow['PRO_UID'];
$paramsLog['WS_CREATE_CASE_STATUS'] = "Case " . $caseNumber . " " . strip_tags( $result->message );
$paramsLogResult = 'SUCCESS';
$params = array ('sessionId' => $sessionId,'caseId' => $caseId,'delIndex' => "1"
);
try {
$result = $client->__SoapCall( 'RouteCase', array ($params
) );
eprint( " - Routing the case #$caseNumber.............." );
if ($result->status_code == 0) {
$paramsLog['WS_ROUTE_CASE_STATUS'] = strip_tags( $result->message );
$retMsg = explode( "Debug", $paramsLog['WS_ROUTE_CASE_STATUS'] );
$retMsg = $retMsg[0];
eprintln( "OK+ $retMsg", 'green' );
$paramsRouteLogResult = 'SUCCESS';
} else {
eprintln( "FAILED-> {$paramsLog ['WS_ROUTE_CASE_STATUS']}", 'red' );
$paramsLog['WS_ROUTE_CASE_STATUS'] = strip_tags( $result->message );
$paramsRouteLogResult = 'FAILED';
}
} catch (Exception $oError) {
setExecutionResultMessage(' WITH ERRORS', 'error');
$paramsLog['WS_ROUTE_CASE_STATUS'] = strip_tags( $oError->getMessage());
eprintln(" '-".strip_tags($oError->getMessage()), 'red');
$paramsRouteLogResult = 'FAILED';
}
} else {
$paramsLog['WS_CREATE_CASE_STATUS'] = strip_tags( $result->message );
eprintln( "FAILED->{$paramsLog ['WS_CREATE_CASE_STATUS']}", 'red' );
$paramsLogResult = 'FAILED';
}
} else {
// invalid user or bad password
//Invalid user or bad password
eprintln( $result->message, 'red' );
}
if ($paramsLogResult == 'SUCCESS' && $paramsRouteLogResult == 'SUCCESS') {
@@ -674,7 +553,6 @@ class CaseScheduler extends BaseCaseScheduler
$this->updateDate( $sSchedulerUid, $nSchTimeNextRun, $nSchLastRunTime );
}
}
$oDataset->next();
}
}

View File

@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ProcessMaker 3.0\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2015-05-04 12:02:00\n"
"PO-Revision-Date: 2015-05-08 12:24:12\n"
"Last-Translator: \n"
"Language-Team: Colosa Developers Team <developers@colosa.com>\n"
"MIME-Version: 1.0\n"
@@ -4294,8 +4294,8 @@ msgstr "Processes"
# TRANSLATION
# LABEL/ID_ENTER_SEARCH_TERM
#: LABEL/ID_ENTER_SEARCH_TERM
msgid "Enter search term"
msgstr "Enter search term"
msgid "Search..."
msgstr "Search..."
# TRANSLATION
# LABEL/ID_DETAILS
@@ -14968,8 +14968,8 @@ msgstr "At Risk"
# TRANSLATION
# LABEL/ID_OVERDUE
#: LABEL/ID_OVERDUE
msgid "Overdue"
msgstr "Overdue"
msgid "Task Status"
msgstr "Task Status"
# TRANSLATION
# LABEL/ID_SUCCESS_RECORD
@@ -18340,8 +18340,8 @@ msgstr "No Dashboards to display"
# TRANSLATION
# LABEL/ID_CONFIRM_DELETE_DASHBOARD
#: LABEL/ID_CONFIRM_DELETE_DASHBOARD
msgid "Do you want to delete selected Dashboard?"
msgstr "Do you want to delete selected Dashboard?"
msgid "Are you sure you want to delete the selected Dashboard?"
msgstr "Are you sure you want to delete the selected Dashboard?"
# TRANSLATION
# LABEL/ID_DASHBOARD_SUCCESS_DELETE
@@ -18364,8 +18364,8 @@ msgstr "No Owners to display"
# TRANSLATION
# LABEL/ID_OWNER_TYPE
#: LABEL/ID_OWNER_TYPE
msgid "Type owner"
msgstr "Type owner"
msgid "Owner type"
msgstr "Owner type"
# TRANSLATION
# LABEL/ID_OWNER_INFORMATION
@@ -18472,8 +18472,8 @@ msgstr "Inefficience Cost By User"
# TRANSLATION
# LABEL/ID_OVER_DUE
#: LABEL/ID_OVER_DUE
msgid "[LABEL/ID_OVER_DUE] Status"
msgstr "Status"
msgid "Inbox Status"
msgstr "Inbox Status"
# TRANSLATION
# LABEL/ID_NEW_CASES
@@ -18694,8 +18694,8 @@ msgstr "Efficiency Index"
# TRANSLATION
# LABEL/ID_INEFFICIENCY_COST
#: LABEL/ID_INEFFICIENCY_COST
msgid "Inefficiency Cost"
msgstr "Inefficiency Cost"
msgid "Costs or Savings"
msgstr "Costs or Savings"
# TRANSLATION
# LABEL/ID_EFFICIENCY_COST
@@ -18865,6 +18865,42 @@ msgstr "No Inefficient Users"
msgid "The marked fields in the form are required and/or have errors in their format. Please verify the fields before continuing."
msgstr "The marked fields in the form are required and/or have errors in their format. Please verify the fields before continuing."
# TRANSLATION
# LABEL/ID_INBOX_EMPTY
#: LABEL/ID_INBOX_EMPTY
msgid "Your Inbox is empty..."
msgstr "Your Inbox is empty..."
# TRANSLATION
# LABEL/ID_KPI
#: LABEL/ID_KPI
msgid "Key Performance Indicators"
msgstr "Key Performance Indicators"
# TRANSLATION
# LABEL/ID_INVALID_VALUE_EXPECTING_POSITIVE_DECIMAL
#: LABEL/ID_INVALID_VALUE_EXPECTING_POSITIVE_DECIMAL
msgid "Invalid value for \"{0}\". Please enter a positive decimal value."
msgstr "Invalid value for \"{0}\". Please enter a positive decimal value."
# TRANSLATION
# LABEL/ID_CONFIRM_DELETE_DASHBOARD_OWNER
#: LABEL/ID_CONFIRM_DELETE_DASHBOARD_OWNER
msgid "Are you sure you want to delete this user?"
msgstr "Are you sure you want to delete this user?"
# TRANSLATION
# LABEL/ID_CASE_CODE
#: LABEL/ID_CASE_CODE
msgid "Case Code"
msgstr "Case Code"
# TRANSLATION
# LABEL/ID_PIN
#: LABEL/ID_PIN
msgid "Pin"
msgstr "Pin"
# additionalTables/additionalTablesData.xml?ADD_TAB_NAME
# additionalTables/additionalTablesData.xml
#: text - ADD_TAB_NAME
@@ -35810,13 +35846,13 @@ msgstr "CASE TRACKER"
# tracker/login.xml?CASE
# tracker/login.xml
#: Text - CASE
msgid "Case Code"
msgid "[tracker/login.xml?CASE] Case Code"
msgstr "Case Code"
# tracker/login.xml?PIN
# tracker/login.xml
#: password - PIN
msgid "Pin"
msgid "[tracker/login.xml?PIN] Pin"
msgstr "Pin"
# tracker/login.xml?BSUBMIT

View File

@@ -27,6 +27,11 @@ class Designer extends Controller
$appUid = isset($httpData->app_uid) ? $httpData->app_uid : '';
$proReadOnly = isset($httpData->prj_readonly) ? $httpData->prj_readonly : 'false';
$client = $this->getClientCredentials();
if (isset($httpData->tracker_designer) && $httpData->tracker_designer == 1) {
$client["tracker_designer"] = 1;
}
$authCode = $this->getAuthorizationCode($client);
$debug = false; //System::isDebugMode();
@@ -55,16 +60,19 @@ class Designer extends Controller
$clientToken["client_secret"] = $client['CLIENT_SECRET'];
$consolidated = 0;
$enterprise = 0;
/*----------------------------------********---------------------------------*/
$licensedFeatures = & PMLicensedFeatures::getSingleton();
if ($licensedFeatures->verifyfeature('7TTeDBQeWRoZTZKYjh4eFpYUlRDUUEyVERPU3FxellWank=')) {
$consolidated = 1;
}
$enterprise = 1;
/*----------------------------------********---------------------------------*/
$this->setVar('prj_uid', $proUid);
$this->setVar('app_uid', $appUid);
$this->setVar('consolidated', $consolidated);
$this->setVar('enterprise', $enterprise);
$this->setVar('prj_readonly', $proReadOnly);
$this->setVar('credentials', base64_encode(json_encode($clientToken)));
$this->setVar('isDebugMode', $debug);
@@ -128,6 +136,11 @@ class Designer extends Controller
\ProcessMaker\Services\OAuth2\Server::setPmClientId($client['CLIENT_ID']);
$oauthServer = new \ProcessMaker\Services\OAuth2\Server();
if (isset($client["tracker_designer"]) && $client["tracker_designer"] == 1) {
$_SESSION["USER_LOGGED"] = "00000000000000000000000000000001";
}
$userId = $_SESSION['USER_LOGGED'];
$authorize = true;
$_GET = array_merge($_GET, array(
@@ -139,6 +152,10 @@ class Designer extends Controller
$response = $oauthServer->postAuthorize($authorize, $userId, true);
$code = substr($response->getHttpHeader('Location'), strpos($response->getHttpHeader('Location'), 'code=')+5, 40);
if (isset($client["tracker_designer"]) && $client["tracker_designer"] == 1) {
unset($_SESSION["USER_LOGGED"]);
}
return $code;
}
@@ -151,4 +168,3 @@ class Designer extends Controller
return array('dsn' => $dsn, 'username' => DB_USER, 'password' => DB_PASS);
}
}

View File

@@ -1642,13 +1642,16 @@ class pmTablesProxy extends HttpProxyController
$index = 0;
while ($oDataset->next()) {
$row = $oDataset->getRow();
array_push($fields, array(
"FIELD_UID" => $row["VAR_NAME"] . "-" . $row["VAR_FIELD_TYPE"],
"FIELD_NAME" => $row["VAR_NAME"],
"FIELD_VALIDATE" => "any",
"_index" => $index ++,
"_isset" => true
));
$fieldType = isset($row["VAR_FIELD_TYPE"]) ? $row["VAR_FIELD_TYPE"]: '';
if(! in_array( $fieldType, $excludeFieldsList )){
array_push($fields, array(
"FIELD_UID" => $row["VAR_NAME"] . "-" . $row["VAR_FIELD_TYPE"],
"FIELD_NAME" => $row["VAR_NAME"],
"FIELD_VALIDATE" => "any",
"_index" => $index ++,
"_isset" => true
));
}
}
}

View File

@@ -2832,7 +2832,7 @@ SELECT 'LABEL','ID_SELFSERVICE','en','Self Service','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_PROCESSES','en','Processes','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_ENTER_SEARCH_TERM','en','Enter search term','2014-01-15'
SELECT 'LABEL','ID_ENTER_SEARCH_TERM','en','Search...','2015-05-08'
UNION ALL
SELECT 'LABEL','ID_DETAILS','en','Details','2014-01-15'
UNION ALL
@@ -6436,7 +6436,7 @@ SELECT 'LABEL','ID_ON_TIME','en','On Time','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_AT_RISK','en','At Risk','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_OVERDUE','en','Overdue','2014-01-15'
SELECT 'LABEL','ID_OVERDUE','en','Task Status','2015-05-06'
UNION ALL
SELECT 'LABEL','ID_SUCCESS_RECORD','en','Success Records:','2014-01-15'
UNION ALL
@@ -7574,7 +7574,7 @@ SELECT 'LABEL','ID_GRID_PAGE_DISPLAYING_DASHBOARD_MESSAGE','en','Displaying Dash
UNION ALL
SELECT 'LABEL','ID_GRID_PAGE_NO_DASHBOARD_MESSAGE','en','No Dashboards to display','2015-03-09'
UNION ALL
SELECT 'LABEL','ID_CONFIRM_DELETE_DASHBOARD','en','Do you want to delete selected Dashboard?','2015-03-09'
SELECT 'LABEL','ID_CONFIRM_DELETE_DASHBOARD','en','Are you sure you want to delete the selected Dashboard?','2015-05-06'
UNION ALL
SELECT 'LABEL','ID_DASHBOARD_SUCCESS_DELETE','en','Dashboard has been deleted correctly.','2015-03-09'
UNION ALL
@@ -7582,7 +7582,7 @@ SELECT 'LABEL','ID_GRID_PAGE_DISPLAYING_0WNER_MESSAGE','en','Displaying Owners {
UNION ALL
SELECT 'LABEL','ID_GRID_PAGE_NO_OWNER_MESSAGE','en','No Owners to display','2015-03-09'
UNION ALL
SELECT 'LABEL','ID_OWNER_TYPE','en','Type owner','2015-03-09'
SELECT 'LABEL','ID_OWNER_TYPE','en','Owner type','2015-05-08'
UNION ALL
SELECT 'LABEL','ID_OWNER_INFORMATION','en','Owner Information','2015-03-09'
UNION ALL
@@ -7618,7 +7618,7 @@ SELECT 'LABEL','ID_EMPLYEE_EFFICIENCIE','en','Employee Efficience Index','2015-0
UNION ALL
SELECT 'LABEL','ID_USER_INEFFICIENCE','en','Inefficience Cost By User','2015-03-09'
UNION ALL
SELECT 'LABEL','ID_OVER_DUE','en','Status','2015-04-01'
SELECT 'LABEL','ID_OVER_DUE','en','Inbox Status','2015-05-06'
UNION ALL
SELECT 'LABEL','ID_NEW_CASES','en','% New Cases','2015-04-06'
UNION ALL
@@ -7692,7 +7692,7 @@ SELECT 'LABEL','ID_NUMBER_CASES','en','Number cases','2015-03-30'
UNION ALL
SELECT 'LABEL','ID_EFFICIENCY_INDEX','en','Efficiency Index','2015-03-30'
UNION ALL
SELECT 'LABEL','ID_INEFFICIENCY_COST','en','Inefficiency Cost','2015-03-30'
SELECT 'LABEL','ID_INEFFICIENCY_COST','en','Costs or Savings','2015-05-06'
UNION ALL
SELECT 'LABEL','ID_EFFICIENCY_COST','en','Efficiency cost','2015-03-30'
UNION ALL
@@ -7751,6 +7751,18 @@ SELECT 'LABEL','ID_NO_INEFFICIENT_USER_GROUPS','en','No Inefficient User Groups'
SELECT 'LABEL','ID_NO_INEFFICIENT_USERS','en','No Inefficient Users','2015-04-29'
UNION ALL
SELECT 'LABEL','ID_REQUIRED_FIELDS_GRID','en','The marked fields in the form are required and/or have errors in their format. Please verify the fields before continuing.','2015-05-04'
UNION ALL
SELECT 'LABEL','ID_INBOX_EMPTY','en','Your Inbox is empty...','2015-05-06'
UNION ALL
SELECT 'LABEL','ID_KPI','en','Key Performance Indicators','2015-05-07'
UNION ALL
SELECT 'LABEL','ID_INVALID_VALUE_EXPECTING_POSITIVE_DECIMAL','en','Invalid value for "{0}". Please enter a positive decimal value.','2015-05-08'
UNION ALL
SELECT 'LABEL','ID_CONFIRM_DELETE_DASHBOARD_OWNER','en','Are you sure you want to delete this user?','2015-05-08'
UNION ALL
SELECT 'LABEL','ID_CASE_CODE','en','Case Code','2015-05-08'
UNION ALL
SELECT 'LABEL','ID_PIN','en','Pin','2015-05-08'
;
INSERT INTO ISO_LOCATION ([IC_UID],[IL_UID],[IL_NAME],[IL_NORMAL_NAME],[IS_UID])

View File

@@ -2119,7 +2119,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_CLEAR_CACHE_CONFIRM1','en','Clear all cache files now?','2014-01-15') ,
( 'LABEL','ID_SELFSERVICE','en','Self Service','2014-01-15') ,
( 'LABEL','ID_PROCESSES','en','Processes','2014-01-15') ,
( 'LABEL','ID_ENTER_SEARCH_TERM','en','Enter search term','2014-01-15') ,
( 'LABEL','ID_ENTER_SEARCH_TERM','en','Search...','2015-05-08') ,
( 'LABEL','ID_DETAILS','en','Details','2014-01-15') ,
( 'LABEL','ID_METHOD','en','Method','2014-01-15') ,
( 'JAVASCRIPT','ID_FIELD_DUPLICATE','en','Duplicate Field','2014-01-15') ,
@@ -3944,7 +3944,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_PREVIOUS_QUARTER','en','Previous quarter','2014-01-15') ,
( 'LABEL','ID_ON_TIME','en','On Time','2014-01-15') ,
( 'LABEL','ID_AT_RISK','en','At Risk','2014-01-15') ,
( 'LABEL','ID_OVERDUE','en','Overdue','2014-01-15') ,
( 'LABEL','ID_OVERDUE','en','Task Status','2015-05-06') ,
( 'LABEL','ID_SUCCESS_RECORD','en','Success Records:','2014-01-15') ,
( 'LABEL','ID_FILE_NUM_RECORD','en','PO File num. records:','2014-01-15') ,
( 'LABEL','ID_FAILED_RECORD','en','Failed Records:','2014-01-15') ,
@@ -4520,11 +4520,11 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_DEL_THREAD_STATUS','en','Thread Status','2015-02-27') ,
( 'LABEL','ID_GRID_PAGE_DISPLAYING_DASHBOARD_MESSAGE','en','Displaying Dashboards {0} - {1} of {2}','2015-03-09') ,
( 'LABEL','ID_GRID_PAGE_NO_DASHBOARD_MESSAGE','en','No Dashboards to display','2015-03-09') ,
( 'LABEL','ID_CONFIRM_DELETE_DASHBOARD','en','Do you want to delete selected Dashboard?','2015-03-09') ,
( 'LABEL','ID_CONFIRM_DELETE_DASHBOARD','en','Are you sure you want to delete the selected Dashboard?','2015-05-06') ,
( 'LABEL','ID_DASHBOARD_SUCCESS_DELETE','en','Dashboard has been deleted correctly.','2015-03-09') ,
( 'LABEL','ID_GRID_PAGE_DISPLAYING_0WNER_MESSAGE','en','Displaying Owners {0} - {1} of {2}','2015-03-09') ,
( 'LABEL','ID_GRID_PAGE_NO_OWNER_MESSAGE','en','No Owners to display','2015-03-09') ,
( 'LABEL','ID_OWNER_TYPE','en','Type owner','2015-03-09') ,
( 'LABEL','ID_OWNER_TYPE','en','Owner type','2015-05-08') ,
( 'LABEL','ID_OWNER_INFORMATION','en','Owner Information','2015-03-09') ,
( 'LABEL','ID_NEW_TAB_INDICATOR','en','Add Indicator','2015-03-09') ,
( 'LABEL','ID_TITLE_DASHBOARD','en','Dashboard Indicator Title','2015-03-09') ,
@@ -4542,7 +4542,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_PROCESS_INEFFICIENCE','en','Process Inefficiency Cost','2015-04-01') ,
( 'LABEL','ID_EMPLYEE_EFFICIENCIE','en','Employee Efficience Index','2015-03-09') ,
( 'LABEL','ID_USER_INEFFICIENCE','en','Inefficience Cost By User','2015-03-09') ,
( 'LABEL','ID_OVER_DUE','en','Status','2015-04-01') ,
( 'LABEL','ID_OVER_DUE','en','Inbox Status','2015-05-06') ,
( 'LABEL','ID_NEW_CASES','en','% New Cases','2015-04-06') ,
( 'LABEL','ID_COMPLETED_CASES','en','Completed Cases','2015-03-09') ,
( 'LABEL','ID_WORKING_CASES','en','% In Progress','2015-04-06') ,
@@ -4579,7 +4579,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_WELL_DONE','en','Well Done!','2015-03-30') ,
( 'LABEL','ID_NUMBER_CASES','en','Number cases','2015-03-30') ,
( 'LABEL','ID_EFFICIENCY_INDEX','en','Efficiency Index','2015-03-30') ,
( 'LABEL','ID_INEFFICIENCY_COST','en','Inefficiency Cost','2015-03-30') ,
( 'LABEL','ID_INEFFICIENCY_COST','en','Costs or Savings','2015-05-06') ,
( 'LABEL','ID_EFFICIENCY_COST','en','Efficiency cost','2015-03-30') ,
( 'LABEL','ID_RELATED_PROCESS','en','Related Process','2015-03-30') ,
( 'LABEL','ID_RELATED_GROUPS','en','Related Groups','2015-03-30') ,
@@ -4609,7 +4609,13 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_NO_INEFFICIENT_TASKS','en','No Inefficient Tasks','2015-04-29') ,
( 'LABEL','ID_NO_INEFFICIENT_USER_GROUPS','en','No Inefficient User Groups','2015-04-29') ,
( 'LABEL','ID_NO_INEFFICIENT_USERS','en','No Inefficient Users','2015-04-29') ,
( 'LABEL','ID_REQUIRED_FIELDS_GRID','en','The marked fields in the form are required and/or have errors in their format. Please verify the fields before continuing.','2015-05-04') ;
( 'LABEL','ID_REQUIRED_FIELDS_GRID','en','The marked fields in the form are required and/or have errors in their format. Please verify the fields before continuing.','2015-05-04') ,
( 'LABEL','ID_INBOX_EMPTY','en','Your Inbox is empty...','2015-05-06') ,
( 'LABEL','ID_KPI','en','Key Performance Indicators','2015-05-07') ,
( 'LABEL','ID_INVALID_VALUE_EXPECTING_POSITIVE_DECIMAL','en','Invalid value for "{0}". Please enter a positive decimal value.','2015-05-08') ,
( 'LABEL','ID_CONFIRM_DELETE_DASHBOARD_OWNER','en','Are you sure you want to delete this user?','2015-05-08') ,
( 'LABEL','ID_CASE_CODE','en','Case Code','2015-05-08') ,
( 'LABEL','ID_PIN','en','Pin','2015-05-08') ;
INSERT INTO ISO_LOCATION (IC_UID,IL_UID,IL_NAME,IL_NORMAL_NAME,IS_UID) VALUES
('AD','','',' ','') ,

View File

@@ -28,41 +28,42 @@ $(window).load(function () {
workspace: workspace
},
token: credentials,
submitRest: false
});
var dyn_content_history = document.createElement("input");
dyn_content_history.type = "hidden";
dyn_content_history.name = "form[DYN_CONTENT_HISTORY]";
dyn_content_history.value = JSON.stringify(jsondata);
var dynaformname = document.createElement("input");
dynaformname.type = "hidden";
dynaformname.name = "__DynaformName__";
dynaformname.value = __DynaformName__;
var appuid = document.createElement("input");
appuid.type = "hidden";
appuid.name = "APP_UID";
appuid.value = app_uid;
var arrayRequired = document.createElement("input");
arrayRequired.type = "hidden";
arrayRequired.name = "DynaformRequiredFields";
arrayRequired.value = fieldsRequired;
var form = document.getElementsByTagName("form")[0];
form.action = filePost ? filePost : "cases_SaveData?UID=" + dyn_uid + "&APP_UID=" + app_uid;
form.method = "post";
//form.enctype = "multipart/form-data";
form.setAttribute("encType","multipart/form-data");
form.appendChild(dyn_content_history);
form.appendChild(dynaformname);
form.appendChild(appuid);
form.appendChild(arrayRequired);
var dyn_forward = document.getElementById("dyn_forward");
dyn_forward.onclick = function () {
if (window.project.getForms()[0].isValid()) {
form.submit();
submitRest: false,
onLoad: function () {
var dyn_content_history = document.createElement("input");
dyn_content_history.type = "hidden";
dyn_content_history.name = "form[DYN_CONTENT_HISTORY]";
dyn_content_history.value = JSON.stringify(jsondata);
var dynaformname = document.createElement("input");
dynaformname.type = "hidden";
dynaformname.name = "__DynaformName__";
dynaformname.value = __DynaformName__;
var appuid = document.createElement("input");
appuid.type = "hidden";
appuid.name = "APP_UID";
appuid.value = app_uid;
var arrayRequired = document.createElement("input");
arrayRequired.type = "hidden";
arrayRequired.name = "DynaformRequiredFields";
arrayRequired.value = fieldsRequired;
var form = document.getElementsByTagName("form")[0];
form.action = filePost ? filePost : "cases_SaveData?UID=" + dyn_uid + "&APP_UID=" + app_uid;
form.method = "post";
form.setAttribute("encType", "multipart/form-data");
form.appendChild(dyn_content_history);
form.appendChild(dynaformname);
form.appendChild(appuid);
form.appendChild(arrayRequired);
var dyn_forward = document.getElementById("dyn_forward");
dyn_forward.onclick = function () {
if (window.project.getForms()[0].isValid()) {
form.submit();
}
return false;
};
if (triggerDebug === true) {
showdebug();
}
}
return false;
};
if (triggerDebug === true) {
showdebug();
}
});
});

View File

@@ -160,16 +160,15 @@ if ($flagExecuteBeforeTriggers) {
if (! isset( $_SESSION['_NO_EXECUTE_TRIGGERS_'] )) {
//Execute before triggers - Start
$Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], $_GET['TYPE'], $_GET['UID'], 'BEFORE', $Fields['APP_DATA'] );
$Fields['DEL_INDEX'] = $_SESSION['INDEX'];
$Fields['TAS_UID'] = $_SESSION['TASK'];
//Execute before triggers - End
} else {
unset( $_SESSION['_NO_EXECUTE_TRIGGERS_'] );
$Fields['DEL_INDEX'] = $_SESSION['INDEX'];
$Fields['TAS_UID'] = $_SESSION['TASK'];
}
}
$Fields["DEL_INDEX"] = $_SESSION["INDEX"];
$Fields["TAS_UID"] = $_SESSION["TASK"];
if (isset( $_GET['breakpoint'] )) {
$_POST['NextStep'] = $_SESSION['TRIGGER_DEBUG']['BREAKPAGE'];
}
@@ -518,7 +517,7 @@ try {
$util = new Java( "com.processmaker.util.pmutils" );
$util->setInputPath( $javaInput );
$util->setOutputPath( $javaOutput );
G::LoadSystem('inputfilter');
$filter = new InputFilter();
@@ -553,17 +552,17 @@ try {
$util = new Java( "com.processmaker.util.pmutils" );
$util->setInputPath( $javaInput );
$util->setOutputPath( $javaOutput );
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$locationFrom = PATH_DYNAFORM . $aOD['PRO_UID'] . PATH_SEP . $aOD['OUT_DOC_UID'] . '.pdf';
$locationFrom = $filter->validateInput($locationFrom, "path");
copy( $locationFrom, $javaInput . $aOD['OUT_DOC_UID'] . '.pdf' );
$outputFile = $javaOutput . $sFilename . '.pdf';
print $util->writeVarsToAcroFields( $aOD['OUT_DOC_UID'] . '.pdf', $xmlData );
$locationFrom = $javaOutput . $aOD['OUT_DOC_UID'] . '.pdf';
$locationFrom = $filter->validateInput($locationFrom, "path");
copy( $locationFrom, $pathOutput . $sFilename . '.pdf' );

View File

@@ -123,7 +123,16 @@ $oDbConnections->loadAdditionalConnections();
$G_PUBLISH = new Publisher();
if ($_GET['DYN_UID'] != '') {
$_SESSION['CURRENT_DYN_UID'] = $_GET['DYN_UID'];
$G_PUBLISH->AddContent( 'dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_GET['DYN_UID'], '', $Fields['APP_DATA'], 'cases_SaveDataSupervisor?UID=' . $_GET['DYN_UID'] );
G::LoadClass('pmDynaform');
$FieldsPmDynaform = $Fields;
$FieldsPmDynaform["PRO_UID"] = $_SESSION['PROCESS'];
$FieldsPmDynaform["CURRENT_DYNAFORM"] = $_GET['DYN_UID'];
$a = new pmDynaform($FieldsPmDynaform);
if ($a->isResponsive()) {
$a->printView();
}else{
$G_PUBLISH->AddContent( 'dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_GET['DYN_UID'], '', $Fields['APP_DATA'], 'cases_SaveDataSupervisor?UID=' . $_GET['DYN_UID'] );
}
}
G::RenderPage( 'publish', 'blank' );

View File

@@ -57,13 +57,27 @@ try {
die();
}
/*----------------------------------********---------------------------------*/
if (file_exists( PATH_DYNAFORM . $applicationFields['PRO_UID'] . PATH_SEP . $_REQUEST['DYN_UID'] . '.xml' )) {
$applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = '';
$applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP'] = '#';
$applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP_LABEL'] = '';
$applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_ACTION'] = '#';
$applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['DYNUIDPRINT'] = $_REQUEST['DYN_UID'];
$applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = '';
$applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP'] = '#';
$applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP_LABEL'] = '';
$applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_ACTION'] = '#';
$applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['DYNUIDPRINT'] = $_REQUEST['DYN_UID'];
$criteria = new Criteria();
$criteria->addSelectColumn(DynaformPeer::DYN_CONTENT);
$criteria->add(DynaformPeer::DYN_UID, $_REQUEST['DYN_UID']);
$criteria->add(DynaformPeer::DYN_VERSION, 2);
$result = DynaformPeer::doSelectRS($criteria);
$result->setFetchmode(ResultSet::FETCHMODE_ASSOC);
if ($result->next()) {
G::LoadClass('pmDynaform');
G::LoadClass('pmDynaform');
$FieldsPmDynaform = $applicationFields;
$FieldsPmDynaform["CURRENT_DYNAFORM"] = $_REQUEST['DYN_UID'];
$a = new pmDynaform($FieldsPmDynaform);
$a->printView();
}
if (file_exists( PATH_DYNAFORM . $applicationFields['PRO_UID'] . PATH_SEP . $_REQUEST['DYN_UID'] . '.xml' )) {
G::LoadClass( 'dbConnections' );
$_SESSION['PROCESS'] = $applicationFields['PRO_UID'];
$dbConnections = new dbConnections( $_SESSION['PROCESS'] );

View File

@@ -320,7 +320,11 @@ try {
}
$aFields['DESCRIPTION'] .= '<br />' . G::LoadTranslation('ID_PLEASE_CHANGE_PASSWORD_POLICY') . '<br /><br /></span>';
$G_PUBLISH = new Publisher;
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/changePassword', '', $aFields, 'changePassword');
if(SYS_SKIN == 'neoclassic'){
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/changePasswordpm3', '', $aFields, 'changePassword');
}else{
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/changePassword', '', $aFields, 'changePassword');
}
G::RenderPage('publish');
die;
}

View File

@@ -612,6 +612,7 @@ function RouteCase ($params)
$user = $oSession->getSessionUser( $params->sessionId );
$oStd = new stdclass();
$oStd->stored_system_variables = true;
$oStd->wsSessionId = $params->sessionId;
@@ -761,7 +762,7 @@ function NewCase ($params)
if (! is_object( $val->value )) {
$val->name = $filter->validateInput($val->name);
$val->value = $filter->validateInput($val->value);
eval( "\$field['" . $val->name . "']= \$val->value;" );
@eval( "\$field[" . $val->name . "]= \$val->value;" );
}
}
}

View File

@@ -22,16 +22,20 @@
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/
/*
* Login for authentication of Case Tracker
*
* @author Everth S. Berrios Morales <everth@colosa.com>
*
/*
* Login for authentication of Case Tracker
*
* @author Everth S. Berrios Morales <everth@colosa.com>
*
*/
$G_PUBLISH = new Publisher();
//echo G::generateUniqueNumber();
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'tracker/login', '', '', SYS_URI . 'tracker/authentication.php' );
//echo G::generateUniqueNumber();
if(SYS_SKIN == 'neoclassic'){
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'tracker/loginpm3', '', '', SYS_URI . 'tracker/authentication.php' );
}else{
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'tracker/login', '', '', SYS_URI . 'tracker/authentication.php' );
}
G::RenderPage( "publish" );
session_destroy();

View File

@@ -734,7 +734,11 @@ class SkinEngine
$switch_interface = isset($_SESSION['user_experience']) && $_SESSION['user_experience'] == 'SWITCHABLE';
$smarty->assign('user_logged', (isset($_SESSION['USER_LOGGED'])? $_SESSION['USER_LOGGED'] : ''));
$smarty->assign('tracker', (SYS_COLLECTION == 'tracker') ? ( ($G_PUBLISH->Parts[0]['File'] != 'tracker/login' ) ? true : '') : '');
if(SYS_SKIN == 'neoclassic'){
$smarty->assign('tracker', (SYS_COLLECTION == 'tracker') ? ( ($G_PUBLISH->Parts[0]['File'] != 'tracker/loginpm3' ) ? true : '') : '');
}else{
$smarty->assign('tracker', (SYS_COLLECTION == 'tracker') ? ( ($G_PUBLISH->Parts[0]['File'] != 'tracker/login' ) ? true : '') : '');
}
$smarty->assign('switch_interface', $switch_interface);
$smarty->assign('switch_interface_label', G::LoadTranslation('ID_SWITCH_INTERFACE'));
$smarty->assign('rolename', isset($_SESSION['USR_ROLENAME']) ? $_SESSION['USR_ROLENAME'] . '' : '');

View File

@@ -1038,9 +1038,9 @@ class BpmnWorkflow extends Project\Bpmn
}
}
public function remove()
public function remove($force = false)
{
parent::remove();
parent::remove($force);
$this->wp->remove();
}

View File

@@ -83,6 +83,7 @@ class Bpmn extends Handler
"lane" => array("BOU_ELEMENT_TYPE", "BOU_SIZE_IDENTICAL", "BOU_UID")
);
private $arrayElementOriginChecked = array();
public function __construct($data = null)
{
@@ -1378,6 +1379,13 @@ class Bpmn extends Handler
$index
) {
try {
if (isset($this->arrayElementOriginChecked[$elementOriginUid]) && $this->arrayElementOriginChecked[$elementOriginUid] == $elementOriginType) {
//Return
return array();
}
$this->arrayElementOriginChecked[$elementOriginUid] = $elementOriginType;
if ($elementOriginType == $elementDestType && $elementOriginUid == $elementDestUid) {
$arrayEvent = array();
$arrayEvent[$index] = array($elementDestUid, $elementDestType);
@@ -1403,7 +1411,7 @@ class Bpmn extends Handler
$index + 1
);
if (count($arrayEvent) > 0) {
if (!empty($arrayEvent)) {
$arrayEvent[$index] = array($elementOriginUid, $elementOriginType);
//Return
@@ -1431,6 +1439,8 @@ class Bpmn extends Handler
$arrayEventType = array("END", "INTERMEDIATE");
$arrayEventMarker = array("MESSAGETHROW");
$this->arrayElementOriginChecked = array();
$arrayEventAux = $this->getElementsBetweenElementOriginAndElementDest(
$elementOriginUid,
$elementOriginType,

View File

@@ -67,7 +67,7 @@ class ProcessPermissions extends Api
* @param string $op_user_relation {@from body} {@choice 1,2}
* @param string $op_case_status {@from body} {@choice ALL,DRAFT,TO_DO,PAUSED,COMPLETED}
* @param string $op_participate {@from body} {@choice 0,1}
* @param string $op_obj_type {@from body} {@choice ANY,DYNAFORM,INPUT,OUTPUT,CASES_NOTES,MSGS_HISTORY}
* @param string $op_obj_type {@from body} {@choice ANY,DYNAFORM,INPUT,OUTPUT,CASES_NOTES,MSGS_HISTORY,SUMMARY_FORM}
* @param string $op_action {@from body} {@choice VIEW,BLOCK,DELETE,RESEND}
* @param string $tas_uid {@from body}
* @param string $op_task_source {@from body}

View File

@@ -251,7 +251,7 @@ Ext.onReady(function(){
txtSearchUser,
txtPassword ,
txtIdentifier,
txtoAddFilter,
txtoAddFilter
]
});
@@ -327,7 +327,12 @@ Ext.onReady(function(){
Ext.Msg.alert('Failure', 'Server reported:'+a.response.status+' '+a.response.statusText);
}
if (a.failureType === Ext.form.Action.SERVER_INVALID){
Ext.Msg.alert('Warning', 'you have an error');
if(Ext.isIE){
success = true;
window.location = 'authSources_List';
}else{
Ext.Msg.alert( _('ID_WARNING'), _('ID_YOU_HAVE_ERROR') );
}
}
}
});

View File

@@ -351,7 +351,12 @@ Ext.onReady(function(){
Ext.Msg.alert(_('ID_FAILURE'), _('ID_SERVER_REPORTED') + ':'+a.response.status+' '+a.response.statusText);
}
if (a.failureType === Ext.form.Action.SERVER_INVALID){
Ext.Msg.alert( _('ID_WARNING'), _('ID_YOU_HAVE_ERROR') );
if(Ext.isIE){
success = true;
window.location = 'authSources_List';
}else{
Ext.Msg.alert( _('ID_WARNING'), _('ID_YOU_HAVE_ERROR') );
}
}
}
});

View File

@@ -21,6 +21,7 @@
var prj_uid = "{$prj_uid}";
var app_uid = "{$app_uid}";
var consolidated = "{$consolidated}";
var enterprise = "{$enterprise}";
var prj_readonly = "{$prj_readonly}";
var credentials = "{$credentials}";
var distribution = "{$distribution}";
@@ -69,6 +70,7 @@
var prj_uid = "{$prj_uid}";
var app_uid = "{$app_uid}";
var consolidated = "{$consolidated}";
var enterprise = "{$enterprise}";
var prj_readonly = "{$prj_readonly}";
var credentials = "{$credentials}";
var distribution = "{$distribution}";

View File

@@ -1,5 +1,45 @@
<!--<iframe name="casesFrame" id="casesFrame" src ="../designer?prj_uid=<?php echo $_SESSION['PROCESS']; ?>&prj_readonly=true&app_uid=<?php echo $_SESSION['APP_UID']; ?>" width="99%" height="768" frameborder="0">
<p>Your browser does not support iframes.</p>
</iframe>
-->
Not supported yet.
<?php
$url = "../designer?prj_uid=" . $_SESSION["PROCESS"] . "&prj_readonly=true&app_uid=" . $_SESSION["APP_UID"] . "&tracker_designer=1";
?>
<script type="text/javascript">
var winTracker;
if ((navigator.userAgent.indexOf("MSIE") != -1) || (navigator.userAgent.indexOf("Trident") != -1)) {
var li1 = document.getElementById("MAP");
var a1 = li1.getElementsByTagName("a");
a1[0].href = "javascript:;";
a1[0].onclick = function () { winTracker = window.open("<?php echo $url; ?>", "winTracker"); return false; };
var li2 = document.getElementById("DYNADOC");
var a2= li2.getElementsByTagName("a");
a2[0].onclick = function ()
{
if (winTracker) {
winTracker.close();
}
};
var li3 = document.getElementById("HISTORY");
var a3 = li3.getElementsByTagName("a");
a3[0].onclick = function ()
{
if (winTracker) {
winTracker.close();
}
};
var li4 = document.getElementById("MESSAGES");
var a4 = li4.getElementsByTagName("a");
a4[0].onclick = function ()
{
if (winTracker) {
winTracker.close();
}
};
} else {
document.write("<iframe name=\"casesFrame\" id=\"casesFrame\" src=\"<?php echo $url; ?>\" width=\"99%\" height=\"768\" frameborder=\"0\">");
document.write("<p>Your browser does not support iframes.</p>");
document.write("</iframe>");
}
</script>

View File

@@ -0,0 +1,47 @@
<form accept-charset="UTF-8" role="form" class="form-signin" id="{$form_id}" id="{$form_id}" name="{$form_name}" action="{$form_action}" method="post" encType="multipart/form-data" style="margin:0px;" onsubmit="return validateForm('{$form_objectRequiredFields}');">
<div class="boxTop"><div class="a">&nbsp;</div><div class="b">&nbsp;</div><div class="c">&nbsp;</div></div>
<input type="hidden" class="notValidateThisFields" name="__notValidateThisFields__" id="__notValidateThisFields__" value="{$form_objectRequiredFields}" />
<input type="hidden" name="DynaformRequiredFields" id="DynaformRequiredFields" value="{$form_objectRequiredFields}" />
<input type="hidden" name="__DynaformName__" id="__DynaformName__" value="{$form_name}" />
<fieldset>
<label class="panel-login">
<div class="login_result">
{$form.THETITLE}
{$form.THEDESCRIPTION}
</div>
</label>
{$form.USR_PASSWORD}
{$form.USR_PASSWORD_CONFIRM}
</fieldset>
<fieldset>
<label class="panel-login">
<div class="login_result"></div>
</label>
{$form.btnSave}
<br>
<table>
<tr style="display: none">
<td colspan="2">{$form.PPP_MINIMUN_LENGTH}</td>
</tr>
<tr style="display: none">
<td colspan="2">{$form.PPP_MAXIMUN_LENGTH}</td>
</tr>
<tr style="display: none">
<td colspan="2">{$form.PPP_NUMERICAL_CHARACTER_REQUIRED}</td>
</tr>
<tr style="display: none">
<td colspan="2">{$form.PPP_UPPERCASE_CHARACTER_REQUIRED}</td>
</tr>
<tr style="display: none">
<td colspan="2">{$form.PPP_SPECIAL_CHARACTER_REQUIRED}</td>
</tr>
</table>
</fieldset>
<script type="text/javascript">
{$form.JS}
</script>
</form>
<script src="/lib/pmdynaform/libs/respondjs/respond.min.js"></script>
<script src="/lib/pmdynaform/libs/html5shiv/html5shiv.js"></script>

View File

@@ -0,0 +1,114 @@
<?xml version="1.0" encoding="UTF-8"?>
<dynaForm name="changePassword" xmlform_type="NORMAL" width="400px" enabletemplate="1">
<THETITLE type="title">
<en><![CDATA[Change password]]></en>
</THETITLE>
<DESCRIPTION type="private"/>
<THEDESCRIPTION type="title" label="@#DESCRIPTION" enableHtml="1">
<en><![CDATA[@#DESCRIPTION]]></en>
</THEDESCRIPTION>
<USR_PASSWORD type="password" size="30" maxlength="32">
<en><![CDATA[Password]]></en>
</USR_PASSWORD>
<USR_PASSWORD_CONFIRM type="password" size="30" maxlength="32">
<en><![CDATA[Re-Type Password]]></en>
</USR_PASSWORD_CONFIRM>
<btnSave type="button" onclick="verifyPassword();">
<en><![CDATA[Save]]></en>
</btnSave>
<PPP_MINIMUN_LENGTH type="hidden"/>
<PPP_MAXIMUN_LENGTH type="hidden"/>
<PPP_NUMERICAL_CHARACTER_REQUIRED type="hidden"/>
<PPP_UPPERCASE_CHARACTER_REQUIRED type="hidden"/>
<PPP_SPECIAL_CHARACTER_REQUIRED type="hidden"/>
<JS type="javascript"><![CDATA[
window.onload= function(){
var inputUser,inputEmail;
if(document.getElementById('form[btnSave]').classList == undefined){
document.getElementById('form[btnSave]').className = "button-login-success";
inputPw = document.getElementById('form[USR_PASSWORD]');
inputPwConfirm = document.getElementById('form[USR_PASSWORD_CONFIRM]');
inputPw.attachEvent("onclick", function (){
if(_('ID_PASSWORD') == inputPw.value){
inputPw.value="";
}
});
inputPw.attachEvent("onblur", function (){
if(inputPw.value == ""){
inputPw.value=_('ID_PASSWORD');
}
});
inputPwConfirm.attachEvent("onclick", function (){
if(_('ID_PASSWORD_CONFIRM') == inputPwConfirm.value){
inputPwConfirm.value="";
}
});
inputPwConfirm.attachEvent("onblur", function (){
if(inputPwConfirm.value == ""){
inputPwConfirm.value=_('ID_PASSWORD_CONFIRM');
}
});
}else{
document.getElementById('form[btnSave]').classList.remove('module_app_button___gray');
document.getElementById('form[btnSave]').classList.add('button-login-success');
document.getElementById('form[USR_PASSWORD]').placeholder = _('ID_PASSWORD');
document.getElementById('form[USR_PASSWORD_CONFIRM]').placeholder = _('ID_PASSWORD_CONFIRM');
}
};
var verifyPassword = function() {
var oPassword1 = getField('USR_PASSWORD');
var oPassword2 = getField('USR_PASSWORD_CONFIRM');
if (oPassword1.value != oPassword2.value) {
alert('@G::LoadTranslation(ID_NEW_PASS_SAME_OLD_PASS)');
return;
}
var oAux = getField('PPP_MINIMUN_LENGTH');
if (oAux.value != '') {
if (oPassword1.value.length < parseInt(oAux.value)) {
alert('@G::LoadTranslation(ID_PPP_MINIMUN_LENGTH)' + ': ' + oAux.value);
return;
}
}
var oAux = getField('PPP_MAXIMUN_LENGTH');
if (oAux.value != '') {
if (oPassword1.value.length > parseInt(oAux.value)) {
alert('@G::LoadTranslation(ID_PPP_MAXIMUN_LENGTH)' + ': ' + oAux.value);
return;
}
}
var oAux = getField('PPP_NUMERICAL_CHARACTER_REQUIRED');
if (oAux.value != '') {
var sER = /[0-9]/;
if (!sER.test(oPassword1.value)) {
alert('@G::LoadTranslation(ID_PPP_NUMERICAL_CHARACTER_REQUIRED)');
return;
}
}
var oAux = getField('PPP_UPPERCASE_CHARACTER_REQUIRED');
if (oAux.value != '') {
var sER = /[A-Z]/;
if (!sER.test(oPassword1.value)) {
alert('@G::LoadTranslation(ID_PPP_UPPERCASE_CHARACTER_REQUIRED)');
return;
}
}
var oAux = getField('PPP_SPECIAL_CHARACTER_REQUIRED');
if (oAux.value != '') {
var sER = /[ºª\\!|"@·#$~%€&¬\/()=\'?¡¿*+\-_.:,;]/;
if (!sER.test(oPassword1.value)) {
alert('@G::LoadTranslation(ID_PPP_SPECIAL_CHARACTER_REQUIRED)');
return;
}
}
oPassword1.form.submit();
};
]]></JS>
</dynaForm>

View File

@@ -0,0 +1,25 @@
<form accept-charset="UTF-8" role="form" class="form-signin" id="{$form_id}" name="{$form_name}" action="{$form_action}" method="post" encType="multipart/form-data" style="margin:0px;" onsubmit="return validateForm('{$form_objectRequiredFields}');">
<input type="hidden" class="notValidateThisFields" name="__notValidateThisFields__" id="__notValidateThisFields__" value="{$form_objectRequiredFields}" />
<input type="hidden" name="DynaformRequiredFields" id="DynaformRequiredFields" value="{$form_objectRequiredFields}" />
<input type="hidden" name="__DynaformName__" id="__DynaformName__" value="{$form_name}" />
<fieldset>
<label class="panel-login">
<div class="login_result"><h4>{$form.TITLE}</h4></div>
</label>
{$form.USR_USERNAME}
{$form.CASE}
{$form.PIN}
</fieldset>
<fieldset>
<label class="panel-login">
<div class="login_result"></div>
</label>
{$form.BSUBMIT}
</fieldset>
<script type="text/javascript">
{$form.JS}
</script>
</form>
<script src="/lib/pmdynaform/libs/respondjs/respond.min.js"></script>
<script src="/lib/pmdynaform/libs/html5shiv/html5shiv.js"></script>

View File

@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<dynaForm name="login" version="1.0" basedir="" xmlform_type="NORMAL" width="400px" enabletemplate ="1">
<TITLE type="title">
<en><![CDATA[CASE TRACKER]]></en>
</TITLE>
<CASE type="Text" size="30" maxlength="50" validate="Any">
<en><![CDATA[Case Code]]></en>
</CASE>
<PIN type="password" size="30" maxlength="32">
<en><![CDATA[Pin]]></en>
</PIN>
<BSUBMIT type="submit">
<en><![CDATA[Enter]]></en>
</BSUBMIT>
<JS type="javascript"><![CDATA[
function getElementsByClassNameIE8(node, classname) {
var a = [];
var re = new RegExp('(^| )'+classname+'( |$)');
var els = node.getElementsByTagName("*");
for(var i=0,j=els.length; i<j; i++)
if(re.test(els[i].className))a.push(els[i]);
return a;
};
window.onload= function(){
var inputCode,
inputPin;
if(document.getElementById('form[BSUBMIT]').classList == undefined && document.getElementById('form[CASE]').placeholder === undefined){
document.getElementById('form[BSUBMIT]').className = "button-login-success";
document.getElementById('form[CASE]').value = _('ID_CASE_CODE');
document.getElementById('form[PIN]').value = _('ID_PIN');
document.getElementById('form[PIN]').title = _('ID_PIN');
inputCode = document.getElementById('form[CASE]');
inputPin = document.getElementById('form[PIN]');
inputCode.attachEvent("onclick", function (){
if(_('ID_CASE_CODE') == inputCode.value){
inputCode.value="";
}
});
inputCode.attachEvent("onblur", function (){
if(inputCode.value == ""){
inputCode.value=_('ID_CASE_CODE');
}
});
inputPin.attachEvent("onclick", function (){
if(_('ID_PIN') == inputPin.value){
inputPin.value="";
}
});
inputPin.attachEvent("onblur", function (){
if(inputPin.value == ""){
inputPin.value=_('ID_PIN');
}
});
}else{
document.getElementById('form[BSUBMIT]').classList.remove('module_app_button___gray');
document.getElementById('form[BSUBMIT]').classList.add('button-login-success');
document.getElementById('form[CASE]').placeholder = _('ID_CASE_CODE');
document.getElementById('form[PIN]').placeholder = _('ID_PIN');
}
};
]]></JS>
</dynaForm>