Merge branch 'master' of bitbucket.org:colosa/processmaker

This commit is contained in:
Freddy Daniel Rojas Valda
2014-09-25 09:03:38 -04:00
44 changed files with 4748 additions and 2042 deletions

View File

@@ -20,7 +20,7 @@ Scenario Outline: Get the case schedulers list when there are exactly zero case
| test_description | project | record |
| Get case scheduler of process Test Michelangelo | 1265557095225ff5c688f46031700471 | 0 |
| Get case scheduler of process Process Complete BPMN | 1455892245368ebeb11c1a5001393784 | 0 |
| Get case scheduler of process Process Complete BPMN | 1455892245368ebeb11c1a5001393784 | 1 |
Scenario Outline: Create any case scheduler for a project
@@ -122,7 +122,7 @@ Scenario Outline: Get the case schedulers list when there are exactly 16 case sc
| test_description | project | record |
| Get case scheduler of process Test Michelangelo | 1265557095225ff5c688f46031700471 | 16 |
| Get case scheduler of process Process Complete BPMN | 1455892245368ebeb11c1a5001393784 | 16 |
| Get case scheduler of process Process Complete BPMN | 1455892245368ebeb11c1a5001393784 | 17 |
Scenario Outline: Update the case schedulers for a project and then check if the values had changed

View File

@@ -35,7 +35,7 @@ Scenario Outline: Get a list public folder of process files manager
Examples:
| test_description | project | records |
| Get list of process Test Michelangelo | 1265557095225ff5c688f46031700471 | 0 |
| Get list of process Process Complete BPMN | 1455892245368ebeb11c1a5001393784 | 2 |
| Get list of process Process Complete BPMN | 1455892245368ebeb11c1a5001393784 | 4 |
Scenario Outline: Get a list templates folder of process files manager

View File

@@ -78,7 +78,7 @@ Scenario: Get a list templates folder of process files manager
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has 1 records
And the response has 2 records
Scenario: Verify that there are report tables
Given I request "project/1455892245368ebeb11c1a5001393784/report-tables"

View File

@@ -17,7 +17,9 @@ class WebApplication
const RUNNING_INDEX = "index.running";
const RUNNING_WORKFLOW = "workflow.running";
const RUNNING_API = "api.running";
const RUNNING_OAUTH2 = "api.oauth2";
const SERVICE_API = "service.api";
const SERVICE_OAUTH2 = "service.oauth2";
const REDIRECT_DEFAULT = "redirect.default";
/**
@@ -111,55 +113,7 @@ class WebApplication
$uriParts = explode('/', $this->requestUri);
if ($uriParts[2] == 'oauth2') {
if (! isset($uriParts[2])) {
return self::RUNNING_WORKFLOW;
}
$uriTemp = explode('/', $_SERVER['REQUEST_URI']);
array_shift($uriTemp);
$workspace = array_shift($uriTemp);
$_SERVER['REQUEST_URI'] = '/' . implode('/', $uriTemp);
$this->loadEnvironment($workspace);
// $pmOauthClientId - contains PM Local OAuth Id (Web Designer)
$pmOauthClientId = 'x-pm-local-client';
// Setting current workspace to Api class
Services\Api::setWorkspace($workspace);
$cacheDir = defined("PATH_C")? PATH_C: sys_get_temp_dir();
$sysConfig = \System::getSystemConfiguration();
\Luracast\Restler\Defaults::$cacheDirectory = $cacheDir;
$productionMode = !(isset($sysConfig["service_api_debug"]) && $sysConfig["service_api_debug"]);
Util\Logger::log("Serving API mode: " . ($productionMode? "production": "development"));
// create a new Restler instance
//$rest = new \Luracast\Restler\Restler();
$rest = new \Maveriks\Extension\Restler($productionMode);
$rest->setworkspace($workspace);
// setting api version to Restler
$rest->setAPIVersion('1.0');
// adding $authenticationClass to Restler
// Setting database connection source
list($host, $port) = strpos(DB_HOST, ':') !== false ? explode(':', DB_HOST) : array(DB_HOST, '');
$port = empty($port) ? '' : ";port=$port";
Services\OAuth2\Server::setDatabaseSource(DB_USER, DB_PASS, DB_ADAPTER.":host=$host;dbname=".DB_NAME.$port);
// Setting default OAuth Client id, for local PM Web Designer
Services\OAuth2\Server::setPmClientId($pmOauthClientId);
Services\OAuth2\Server::setWorkspace($workspace);
$rest->setOverridingFormats('JsonFormat', 'UploadFormat');
$rest->addAPIClass('\ProcessMaker\\Services\\OAuth2\\Server', 'oauth2');
$rest->handle();
return self::RUNNING_OAUTH2;
} else {
return self::RUNNING_WORKFLOW;
}
@@ -186,6 +140,16 @@ class WebApplication
}
Util\Logger::log("API::End Dispatch");
break;
case self::SERVICE_OAUTH2:
$uriTemp = explode('/', $_SERVER['REQUEST_URI']);
array_shift($uriTemp);
$workspace = array_shift($uriTemp);
$uri = '/' . implode('/', $uriTemp);
$this->loadEnvironment($workspace);
$this->dispatchApiRequest($uri, $version = "1.0");
break;
}
}
@@ -393,6 +357,8 @@ class WebApplication
// }
// }
}
$this->rest->addAPIClass('\ProcessMaker\\Services\\OAuth2\\Server', 'oauth2');
}
public function parseApiRequestUri()

View File

@@ -2859,5 +2859,30 @@ class Bootstrap
die();
}
}
public function hasPassword($pass, $previous=false) {
$passEncrypt = md5($pass);
try {
require_once PATH_CORE .'methods' . PATH_SEP .'enterprise/enterprise.php';
$passEncrypt = enterprisePlugin::hashPassword($pass, $previous);
} catch (Exception $e) {
}
return $passEncrypt;
}
public function verifyHashPassword ($pass, $userPass)
{
//$verify = Bootstrap::hasPassword($pass);
if (Bootstrap::hasPassword($pass) == $userPass) {
return true;
}
if (Bootstrap::hasPassword($pass, true) == $userPass) {
return true;
}
return false;
}
}

View File

@@ -489,6 +489,12 @@ class DataBaseMaintenance
*/
function backupDataBase ($outfile)
{
$tablesBpmn = array(
'BPMN_PROJECT','BPMN_DIAGRAM','BPMN_DOCUMENTATION','BPMN_EXTENSION','BPMN_PARTICIPANT',
'BPMN_PROCESS','BPMN_ACTIVITY','BPMN_ARTIFACT','BPMN_DATA','BPMN_EVENT','BPMN_GATEWAY',
'BPMN_LANESET','BPMN_BOUND','BPMN_FLOW','BPMN_LANE'
);
$sqlTablesBpmn = array();
$aTables = $this->getTablesList();
$ws = explode( '_', $this->dbName );
$ws = isset( $ws[1] ) ? $ws[1] : $this->dbName;
@@ -510,9 +516,17 @@ class DataBaseMaintenance
$tableSchema = "\nDROP TABLE IF EXISTS `$table`;\n\n";
$tableSchema .= $this->getSchemaFromTable( $table );
$data = $this->dumpSqlInserts( $table );
if (in_array($table, $tablesBpmn)) {
$sqlTablesBpmn[$table] = $tableSchema . $data;
} else {
fwrite( $file, $tableSchema );
fwrite( $file, $data );
}
}
foreach ($tablesBpmn as $table) {
fwrite( $file, $sqlTablesBpmn[$table] );
}
fclose( $file );
}

View File

@@ -80,10 +80,8 @@ class RbacUsers extends BaseRbacUsers
if (is_array($rs) && isset($rs[0]) && is_object($rs[0]) && get_class($rs[0]) == 'RbacUsers') {
$aFields = $rs[0]->toArray(BasePeer::TYPE_FIELDNAME);
//verify password with md5, and md5 format
//if ( $aFields['USR_PASSWORD'] == md5 ($sPassword ) ) {
if (mb_strtoupper($sUsername, 'utf-8') === mb_strtoupper($aFields['USR_USERNAME'], 'utf-8')) {
if ($aFields['USR_PASSWORD'] == md5($sPassword) ||
'md5:' . $aFields['USR_PASSWORD'] === $sPassword) {
if( Bootstrap::verifyHashPassword($sPassword, $aFields['USR_PASSWORD']) ) {
if ($aFields['USR_DUE_DATE'] < date('Y-m-d')) {
return -4;
}

View File

@@ -5,7 +5,7 @@ include_once 'creole/CreoleTypes.php';
/**
* This class adds structure of 'USERS' table to 'rbac' DatabaseMap object.
* This class adds structure of 'RBAC_USERS' table to 'rbac' DatabaseMap object.
*
*
*
@@ -14,9 +14,10 @@ include_once 'creole/CreoleTypes.php';
* ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive
* (i.e. if it's a text column type).
*
* @package rbac-classes-model
* @package workflow.classes.model.map
*/
class RbacUsersMapBuilder {
class RbacUsersMapBuilder
{
/**
* The (dot-path) name of this class
@@ -68,7 +69,7 @@ class RbacUsersMapBuilder {
$tMap->addColumn('USR_USERNAME', 'UsrUsername', 'string', CreoleTypes::VARCHAR, true, 100);
$tMap->addColumn('USR_PASSWORD', 'UsrPassword', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('USR_PASSWORD', 'UsrPassword', 'string', CreoleTypes::VARCHAR, true, 128);
$tMap->addColumn('USR_FIRSTNAME', 'UsrFirstname', 'string', CreoleTypes::VARCHAR, true, 50);

View File

@@ -10,14 +10,14 @@ include_once 'propel/util/Criteria.php';
include_once 'classes/model/RbacUsersPeer.php';
/**
* Base class that represents a row from the 'USERS' table.
* Base class that represents a row from the 'RBAC_USERS' table.
*
*
*
* @package rbac-classes-model
* @package workflow.classes.model.om
*/
abstract class BaseRbacUsers extends BaseObject implements Persistent {
abstract class BaseRbacUsers extends BaseObject implements Persistent
{
/**
* The Peer class.
@@ -27,98 +27,84 @@ abstract class BaseRbacUsers extends BaseObject implements Persistent {
*/
protected static $peer;
/**
* The value for the usr_uid field.
* @var string
*/
protected $usr_uid = '';
/**
* The value for the usr_username field.
* @var string
*/
protected $usr_username = '';
/**
* The value for the usr_password field.
* @var string
*/
protected $usr_password = '';
/**
* The value for the usr_firstname field.
* @var string
*/
protected $usr_firstname = '';
/**
* The value for the usr_lastname field.
* @var string
*/
protected $usr_lastname = '';
/**
* The value for the usr_email field.
* @var string
*/
protected $usr_email = '';
/**
* The value for the usr_due_date field.
* @var int
*/
protected $usr_due_date;
/**
* The value for the usr_create_date field.
* @var int
*/
protected $usr_create_date;
/**
* The value for the usr_update_date field.
* @var int
*/
protected $usr_update_date;
/**
* The value for the usr_status field.
* @var int
*/
protected $usr_status = 1;
/**
* The value for the usr_auth_type field.
* @var string
*/
protected $usr_auth_type = '';
/**
* The value for the uid_auth_source field.
* @var string
*/
protected $uid_auth_source = '';
/**
* The value for the usr_auth_user_dn field.
* @var string
*/
protected $usr_auth_user_dn = '';
/**
* The value for the usr_auth_supervisor_dn field.
* @var string
@@ -221,8 +207,9 @@ abstract class BaseRbacUsers extends BaseObject implements Persistent {
} elseif (!is_int($this->usr_due_date)) {
// a non-timestamp value was set externally, so we convert it
$ts = strtotime($this->usr_due_date);
if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
throw new PropelException("Unable to parse value of [usr_due_date] as date/time value: " . var_export($this->usr_due_date, true));
if ($ts === -1 || $ts === false) {
throw new PropelException("Unable to parse value of [usr_due_date] as date/time value: " .
var_export($this->usr_due_date, true));
}
} else {
$ts = $this->usr_due_date;
@@ -252,8 +239,9 @@ abstract class BaseRbacUsers extends BaseObject implements Persistent {
} elseif (!is_int($this->usr_create_date)) {
// a non-timestamp value was set externally, so we convert it
$ts = strtotime($this->usr_create_date);
if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
throw new PropelException("Unable to parse value of [usr_create_date] as date/time value: " . var_export($this->usr_create_date, true));
if ($ts === -1 || $ts === false) {
throw new PropelException("Unable to parse value of [usr_create_date] as date/time value: " .
var_export($this->usr_create_date, true));
}
} else {
$ts = $this->usr_create_date;
@@ -283,8 +271,9 @@ abstract class BaseRbacUsers extends BaseObject implements Persistent {
} elseif (!is_int($this->usr_update_date)) {
// a non-timestamp value was set externally, so we convert it
$ts = strtotime($this->usr_update_date);
if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
throw new PropelException("Unable to parse value of [usr_update_date] as date/time value: " . var_export($this->usr_update_date, true));
if ($ts === -1 || $ts === false) {
throw new PropelException("Unable to parse value of [usr_update_date] as date/time value: " .
var_export($this->usr_update_date, true));
}
} else {
$ts = $this->usr_update_date;
@@ -496,8 +485,13 @@ abstract class BaseRbacUsers extends BaseObject implements Persistent {
if ($v !== null && !is_int($v)) {
$ts = strtotime($v);
if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
throw new PropelException("Unable to parse date/time value for [usr_due_date] from input: " . var_export($v, true));
//Date/time accepts null values
if ($v == '') {
$ts = null;
}
if ($ts === -1 || $ts === false) {
throw new PropelException("Unable to parse date/time value for [usr_due_date] from input: " .
var_export($v, true));
}
} else {
$ts = $v;
@@ -520,8 +514,13 @@ abstract class BaseRbacUsers extends BaseObject implements Persistent {
if ($v !== null && !is_int($v)) {
$ts = strtotime($v);
if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
throw new PropelException("Unable to parse date/time value for [usr_create_date] from input: " . var_export($v, true));
//Date/time accepts null values
if ($v == '') {
$ts = null;
}
if ($ts === -1 || $ts === false) {
throw new PropelException("Unable to parse date/time value for [usr_create_date] from input: " .
var_export($v, true));
}
} else {
$ts = $v;
@@ -544,8 +543,13 @@ abstract class BaseRbacUsers extends BaseObject implements Persistent {
if ($v !== null && !is_int($v)) {
$ts = strtotime($v);
if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
throw new PropelException("Unable to parse date/time value for [usr_update_date] from input: " . var_export($v, true));
//Date/time accepts null values
if ($v == '') {
$ts = null;
}
if ($ts === -1 || $ts === false) {
throw new PropelException("Unable to parse date/time value for [usr_update_date] from input: " .
var_export($v, true));
}
} else {
$ts = $v;
@@ -760,7 +764,7 @@ abstract class BaseRbacUsers extends BaseObject implements Persistent {
* wraps the doSave() worker method in a transaction.
*
* @param Connection $con
* @return int The number of rows affected by this insert/update and any referring fk objects' save() operations.
* @return int The number of rows affected by this insert/update
* @throws PropelException
* @see doSave()
*/
@@ -792,7 +796,7 @@ abstract class BaseRbacUsers extends BaseObject implements Persistent {
* All related objects are also updated in this method.
*
* @param Connection $con
* @return int The number of rows affected by this insert/update and any referring fk objects' save() operations.
* @return int The number of rows affected by this insert/update and any referring
* @throws PropelException
* @see save()
*/
@@ -872,7 +876,8 @@ abstract class BaseRbacUsers extends BaseObject implements Persistent {
* an aggreagated array of ValidationFailed objects will be returned.
*
* @param array $columns Array of column names to validate.
* @return mixed <code>true</code> if all validations pass; array of <code>ValidationFailed</code> objets otherwise.
* @return mixed <code>true</code> if all validations pass;
array of <code>ValidationFailed</code> objects otherwise.
*/
protected function doValidate($columns = null)
{
@@ -1092,20 +1097,62 @@ abstract class BaseRbacUsers extends BaseObject implements Persistent {
{
$keys = RbacUsersPeer::getFieldNames($keyType);
if (array_key_exists($keys[0], $arr)) $this->setUsrUid($arr[$keys[0]]);
if (array_key_exists($keys[1], $arr)) $this->setUsrUsername($arr[$keys[1]]);
if (array_key_exists($keys[2], $arr)) $this->setUsrPassword($arr[$keys[2]]);
if (array_key_exists($keys[3], $arr)) $this->setUsrFirstname($arr[$keys[3]]);
if (array_key_exists($keys[4], $arr)) $this->setUsrLastname($arr[$keys[4]]);
if (array_key_exists($keys[5], $arr)) $this->setUsrEmail($arr[$keys[5]]);
if (array_key_exists($keys[6], $arr)) $this->setUsrDueDate($arr[$keys[6]]);
if (array_key_exists($keys[7], $arr)) $this->setUsrCreateDate($arr[$keys[7]]);
if (array_key_exists($keys[8], $arr)) $this->setUsrUpdateDate($arr[$keys[8]]);
if (array_key_exists($keys[9], $arr)) $this->setUsrStatus($arr[$keys[9]]);
if (array_key_exists($keys[10], $arr)) $this->setUsrAuthType($arr[$keys[10]]);
if (array_key_exists($keys[11], $arr)) $this->setUidAuthSource($arr[$keys[11]]);
if (array_key_exists($keys[12], $arr)) $this->setUsrAuthUserDn($arr[$keys[12]]);
if (array_key_exists($keys[13], $arr)) $this->setUsrAuthSupervisorDn($arr[$keys[13]]);
if (array_key_exists($keys[0], $arr)) {
$this->setUsrUid($arr[$keys[0]]);
}
if (array_key_exists($keys[1], $arr)) {
$this->setUsrUsername($arr[$keys[1]]);
}
if (array_key_exists($keys[2], $arr)) {
$this->setUsrPassword($arr[$keys[2]]);
}
if (array_key_exists($keys[3], $arr)) {
$this->setUsrFirstname($arr[$keys[3]]);
}
if (array_key_exists($keys[4], $arr)) {
$this->setUsrLastname($arr[$keys[4]]);
}
if (array_key_exists($keys[5], $arr)) {
$this->setUsrEmail($arr[$keys[5]]);
}
if (array_key_exists($keys[6], $arr)) {
$this->setUsrDueDate($arr[$keys[6]]);
}
if (array_key_exists($keys[7], $arr)) {
$this->setUsrCreateDate($arr[$keys[7]]);
}
if (array_key_exists($keys[8], $arr)) {
$this->setUsrUpdateDate($arr[$keys[8]]);
}
if (array_key_exists($keys[9], $arr)) {
$this->setUsrStatus($arr[$keys[9]]);
}
if (array_key_exists($keys[10], $arr)) {
$this->setUsrAuthType($arr[$keys[10]]);
}
if (array_key_exists($keys[11], $arr)) {
$this->setUidAuthSource($arr[$keys[11]]);
}
if (array_key_exists($keys[12], $arr)) {
$this->setUsrAuthUserDn($arr[$keys[12]]);
}
if (array_key_exists($keys[13], $arr)) {
$this->setUsrAuthSupervisorDn($arr[$keys[13]]);
}
}
/**
@@ -1117,20 +1164,62 @@ abstract class BaseRbacUsers extends BaseObject implements Persistent {
{
$criteria = new Criteria(RbacUsersPeer::DATABASE_NAME);
if ($this->isColumnModified(RbacUsersPeer::USR_UID)) $criteria->add(RbacUsersPeer::USR_UID, $this->usr_uid);
if ($this->isColumnModified(RbacUsersPeer::USR_USERNAME)) $criteria->add(RbacUsersPeer::USR_USERNAME, $this->usr_username);
if ($this->isColumnModified(RbacUsersPeer::USR_PASSWORD)) $criteria->add(RbacUsersPeer::USR_PASSWORD, $this->usr_password);
if ($this->isColumnModified(RbacUsersPeer::USR_FIRSTNAME)) $criteria->add(RbacUsersPeer::USR_FIRSTNAME, $this->usr_firstname);
if ($this->isColumnModified(RbacUsersPeer::USR_LASTNAME)) $criteria->add(RbacUsersPeer::USR_LASTNAME, $this->usr_lastname);
if ($this->isColumnModified(RbacUsersPeer::USR_EMAIL)) $criteria->add(RbacUsersPeer::USR_EMAIL, $this->usr_email);
if ($this->isColumnModified(RbacUsersPeer::USR_DUE_DATE)) $criteria->add(RbacUsersPeer::USR_DUE_DATE, $this->usr_due_date);
if ($this->isColumnModified(RbacUsersPeer::USR_CREATE_DATE)) $criteria->add(RbacUsersPeer::USR_CREATE_DATE, $this->usr_create_date);
if ($this->isColumnModified(RbacUsersPeer::USR_UPDATE_DATE)) $criteria->add(RbacUsersPeer::USR_UPDATE_DATE, $this->usr_update_date);
if ($this->isColumnModified(RbacUsersPeer::USR_STATUS)) $criteria->add(RbacUsersPeer::USR_STATUS, $this->usr_status);
if ($this->isColumnModified(RbacUsersPeer::USR_AUTH_TYPE)) $criteria->add(RbacUsersPeer::USR_AUTH_TYPE, $this->usr_auth_type);
if ($this->isColumnModified(RbacUsersPeer::UID_AUTH_SOURCE)) $criteria->add(RbacUsersPeer::UID_AUTH_SOURCE, $this->uid_auth_source);
if ($this->isColumnModified(RbacUsersPeer::USR_AUTH_USER_DN)) $criteria->add(RbacUsersPeer::USR_AUTH_USER_DN, $this->usr_auth_user_dn);
if ($this->isColumnModified(RbacUsersPeer::USR_AUTH_SUPERVISOR_DN)) $criteria->add(RbacUsersPeer::USR_AUTH_SUPERVISOR_DN, $this->usr_auth_supervisor_dn);
if ($this->isColumnModified(RbacUsersPeer::USR_UID)) {
$criteria->add(RbacUsersPeer::USR_UID, $this->usr_uid);
}
if ($this->isColumnModified(RbacUsersPeer::USR_USERNAME)) {
$criteria->add(RbacUsersPeer::USR_USERNAME, $this->usr_username);
}
if ($this->isColumnModified(RbacUsersPeer::USR_PASSWORD)) {
$criteria->add(RbacUsersPeer::USR_PASSWORD, $this->usr_password);
}
if ($this->isColumnModified(RbacUsersPeer::USR_FIRSTNAME)) {
$criteria->add(RbacUsersPeer::USR_FIRSTNAME, $this->usr_firstname);
}
if ($this->isColumnModified(RbacUsersPeer::USR_LASTNAME)) {
$criteria->add(RbacUsersPeer::USR_LASTNAME, $this->usr_lastname);
}
if ($this->isColumnModified(RbacUsersPeer::USR_EMAIL)) {
$criteria->add(RbacUsersPeer::USR_EMAIL, $this->usr_email);
}
if ($this->isColumnModified(RbacUsersPeer::USR_DUE_DATE)) {
$criteria->add(RbacUsersPeer::USR_DUE_DATE, $this->usr_due_date);
}
if ($this->isColumnModified(RbacUsersPeer::USR_CREATE_DATE)) {
$criteria->add(RbacUsersPeer::USR_CREATE_DATE, $this->usr_create_date);
}
if ($this->isColumnModified(RbacUsersPeer::USR_UPDATE_DATE)) {
$criteria->add(RbacUsersPeer::USR_UPDATE_DATE, $this->usr_update_date);
}
if ($this->isColumnModified(RbacUsersPeer::USR_STATUS)) {
$criteria->add(RbacUsersPeer::USR_STATUS, $this->usr_status);
}
if ($this->isColumnModified(RbacUsersPeer::USR_AUTH_TYPE)) {
$criteria->add(RbacUsersPeer::USR_AUTH_TYPE, $this->usr_auth_type);
}
if ($this->isColumnModified(RbacUsersPeer::UID_AUTH_SOURCE)) {
$criteria->add(RbacUsersPeer::UID_AUTH_SOURCE, $this->uid_auth_source);
}
if ($this->isColumnModified(RbacUsersPeer::USR_AUTH_USER_DN)) {
$criteria->add(RbacUsersPeer::USR_AUTH_USER_DN, $this->usr_auth_user_dn);
}
if ($this->isColumnModified(RbacUsersPeer::USR_AUTH_SUPERVISOR_DN)) {
$criteria->add(RbacUsersPeer::USR_AUTH_SUPERVISOR_DN, $this->usr_auth_supervisor_dn);
}
return $criteria;
}
@@ -1255,5 +1344,5 @@ abstract class BaseRbacUsers extends BaseObject implements Persistent {
}
return self::$peer;
}
}
} // BaseRbacUsers

View File

@@ -6,13 +6,14 @@ require_once 'propel/util/BasePeer.php';
//include_once 'classes/model/RbacUsers.php';
/**
* Base static class for performing query and update operations on the 'USERS' table.
* Base static class for performing query and update operations on the 'RBAC_USERS' table.
*
*
*
* @package rbac-classes-model
* @package workflow.classes.model.om
*/
abstract class BaseRbacUsersPeer {
abstract class BaseRbacUsersPeer
{
/** the default database name for this class */
const DATABASE_NAME = 'rbac';
@@ -255,8 +256,7 @@ abstract class BaseRbacUsersPeer {
}
// just in case we're grouping: add those columns to the select statement
foreach($criteria->getGroupByColumns() as $column)
{
foreach ($criteria->getGroupByColumns() as $column) {
$criteria->addSelectColumn($column);
}
@@ -347,7 +347,7 @@ abstract class BaseRbacUsersPeer {
$cls = RbacUsersPeer::getOMClass();
$cls = Propel::import($cls);
// populate the object(s)
while($rs->next()) {
while ($rs->next()) {
$obj = new $cls();
$obj->hydrate($rs);
@@ -413,7 +413,7 @@ abstract class BaseRbacUsersPeer {
$con->begin();
$pk = BasePeer::doInsert($criteria, $con);
$con->commit();
} catch(PropelException $e) {
} catch (PropelException $e) {
$con->rollback();
throw $e;
}
@@ -424,8 +424,8 @@ abstract class BaseRbacUsersPeer {
/**
* Method perform an UPDATE on the database, given a RbacUsers or Criteria object.
*
* @param mixed $values Criteria or RbacUsers object containing data that is used to create the UPDATE statement.
* @param Connection $con The connection to use (specify Connection object to exert more control over transactions).
* @param mixed $values Criteria or RbacUsers object containing data create the UPDATE statement.
* @param Connection $con The connection to use (specify Connection exert more control over transactions).
* @return int The number of affected rows (if supported by underlying database driver).
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
@@ -444,7 +444,7 @@ abstract class BaseRbacUsersPeer {
$comparison = $criteria->getComparison(RbacUsersPeer::USR_UID);
$selectCriteria->add(RbacUsersPeer::USR_UID, $criteria->remove(RbacUsersPeer::USR_UID), $comparison);
} else { // $values is RbacUsers object
} else {
$criteria = $values->buildCriteria(); // gets full criteria
$selectCriteria = $values->buildPkeyCriteria(); // gets criteria w/ primary key(s)
}
@@ -456,7 +456,7 @@ abstract class BaseRbacUsersPeer {
}
/**
* Method to DELETE all rows from the USERS table.
* Method to DELETE all rows from the RBAC_USERS table.
*
* @return int The number of affected rows (if supported by underlying database driver).
*/
@@ -485,7 +485,8 @@ abstract class BaseRbacUsersPeer {
* @param mixed $values Criteria or RbacUsers object or primary key or array of primary keys
* which is used to create the DELETE statement
* @param Connection $con the connection to use
* @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows
* @return int The number of affected rows (if supported by underlying database driver).
* This includes CASCADE-related rows
* if supported by native driver or if emulated using Propel.
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
@@ -550,7 +551,7 @@ abstract class BaseRbacUsersPeer {
$cols = array($cols);
}
foreach($cols as $colName) {
foreach ($cols as $colName) {
if ($tableMap->containsColumn($colName)) {
$get = 'get' . $tableMap->getColumn($colName)->getPhpName();
$columns[$colName] = $obj->$get();
@@ -610,8 +611,8 @@ abstract class BaseRbacUsersPeer {
}
return $objs;
}
}
} // BaseRbacUsersPeer
// static code to register the map builder for this Peer with the main Propel class
if (Propel::isInit()) {
@@ -628,3 +629,4 @@ if (Propel::isInit()) {
require_once 'classes/model/map/RbacUsersMapBuilder.php';
Propel::registerMapBuilder('classes.model.map.RbacUsersMapBuilder');
}

View File

@@ -132,7 +132,7 @@
</vendor>
<column name="USR_UID" type="VARCHAR" size="32" required="true" primaryKey="true" default="" />
<column name="USR_USERNAME" type="VARCHAR" size="100" required="true" default="" />
<column name="USR_PASSWORD" type="VARCHAR" size="32" required="true" default="" />
<column name="USR_PASSWORD" type="VARCHAR" size="128" required="true" default="" />
<column name="USR_FIRSTNAME" type="VARCHAR" size="50" required="true" default="" />
<column name="USR_LASTNAME" type="VARCHAR" size="50" required="true" default="" />
<column name="USR_EMAIL" type="VARCHAR" size="100" required="true" default="" />

View File

@@ -19,6 +19,15 @@ EOT
}
*/
CLI::taskName('change-password-hash-method');
CLI::taskDescription(<<<EOT
Create .po file for the plugin
EOT
);
CLI::taskArg('workspace', false);
CLI::taskArg('hash', false);
CLI::taskRun("change_hash");
//function run_addon_install($args, $opts) {
function run_addon_install($args)
{
@@ -92,3 +101,46 @@ function run_addon_install($args)
//echo "** Installation finished\n";
}
function change_hash($command, $opts)
{
if (count($command) < 2) {
$hash = 'md5';
} else {
$hash = array_pop($command);
}
$workspaces = get_workspaces_from_args($command);
require_once (PATH_GULLIVER . PATH_SEP . 'class.bootstrap.php');
Bootstrap::LoadClass("plugin");
foreach ($workspaces as $workspace) {
CLI::logging("Checking workspace: ".pakeColor::colorize($workspace->name, "INFO")."\n");
$path = PATH_DATA . 'sites' . PATH_SEP . $workspace->name . PATH_SEP;
try {
if (file_exists($path . 'plugin.singleton')) {
define('SYS_SYS', $workspace->name);
define('PATH_DATA_SITE', $path);
$oPluginRegistry =& PMPluginRegistry::getSingleton();
$oPluginRegistry->setupPlugins();
$oPluginRegistry->unSerializeInstance(file_get_contents($path . 'plugin.singleton'));
$oPluginRegistry =& PMPluginRegistry::getSingleton();
$oPluginRegistry->unSerializeInstance(file_get_contents($path . 'plugin.singleton'));
if ($oPluginRegistry->existsTrigger ( PM_HASH_PASSWORD )) {
$response = new stdclass();
$response->workspace = $workspace;
$response->hash = $hash;
$workspace->changeHashPassword($workspace->name, $response);
$workspace->close();
CLI::logging(pakeColor::colorize("Changed...", "ERROR") . "\n");
} else {
CLI::logging(pakeColor::colorize("You can't use the \"change-password-hash-method\" option because the license has expired or your workspace doesn't have the Enteprise plugin enabled.", "ERROR") . "\n");
}
} else {
CLI::logging(pakeColor::colorize("You can't use the \"change-password-hash-method\" option because the license has expired or your workspace doesn't have the Enteprise plugin enabled.", "INFO") . "\n");
}
} catch (Exception $e) {
echo "> Error: ".CLI::error($e->getMessage()) . "\n";
}
}
}

View File

@@ -1,5 +1,5 @@
<?php
require_once (PATH_PLUGINS . "enterprise" . PATH_SEP . "classes" . PATH_SEP . "class.enterpriseUtils.php");
require_once ("classes" . PATH_SEP . "class.enterpriseUtils.php");
if (!defined("PM_VERSION")) {
if (file_exists(PATH_METHODS . "login/version-pmos.php")) {
@@ -13,7 +13,7 @@ class enterpriseClass extends PMPlugin
{
public function __construct()
{
set_include_path(PATH_PLUGINS . 'enterprise' . PATH_SEPARATOR . get_include_path());
set_include_path(PATH_CORE . 'methods' . PATH_SEP . 'enterprise' . PATH_SEPARATOR . get_include_path());
}
public function getFieldsForPageSetup()
@@ -117,9 +117,48 @@ class enterpriseClass extends PMPlugin
}
}
}
public function setHashPassword ($object)
{
$type = array('md5', 'sha256');
if (!in_array($object->hash, $type)) {
throw new Exception( 'Type: ' . $object->hash. ' No valid.');
return false;
}
G::LoadClass( "configuration" );
$config = new Configurations();
$typeEncrypt = $config->getConfiguration('ENTERPRISE_SETTING_ENCRYPT', '');
if ($typeEncrypt == null) {
$typeEncrypt = array('current' => $object->hash, 'previous' => 'md5');
} else {
$typeEncrypt['previous'] = $typeEncrypt['current'];
$typeEncrypt['current'] = $object->hash;
}
if ($object->hash != $typeEncrypt['previous']) {
$config->aConfig = $typeEncrypt;
$config->saveConfig('ENTERPRISE_SETTING_ENCRYPT', '');
}
require_once 'classes/model/RbacUsersPeer.php';
require_once 'classes/model/UsersProperties.php';
$userProperty = new UsersProperties();
$criteria = new Criteria($object->workspace->dbInfo['DB_RBAC_NAME']);
$criteria->add(RbacUsersPeer::USR_STATUS, 0, Criteria::NOT_EQUAL);
$dataset = RbacUsersPeer::doSelectRS($criteria);
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
while ($dataset->next()) {
$row = $dataset->getRow();
$property = $userProperty->loadOrCreateIfNotExists($row['USR_UID'], array());
$property['USR_LOGGED_NEXT_TIME'] = 1;
$userProperty->update($property);
}
}
}
if (!class_exists("pmLicenseManager")) {
require_once (PATH_PLUGINS . 'enterprise/class.pmLicenseManager.php');
require_once ("classes" . PATH_SEP . "class.pmLicenseManager.php");
}

View File

@@ -43,8 +43,7 @@ define('PM_SINGLE_SIGN_ON', 1014);
define('PM_GET_CASES_AJAX_LISTENER', 1015);
define('PM_BEFORE_CREATE_USER', 1016);
define('PM_AFTER_LOGIN', 1017);
define('PM_HASH_PASSWORD', 1018);
/**
* @package workflow.engine.classes

View File

@@ -259,7 +259,11 @@ class PMPluginRegistry
$this->registerFolder( $sNamespace, $sNamespace, $detail->sPluginFolder );
//register the default directory, later we can have more
$this->_aPluginDetails[$sNamespace]->enabled = true;
if (class_exists($detail->sClassName)) {
$oPlugin = new $detail->sClassName( $detail->sNamespace, $detail->sFilename );
} else {
$oPlugin = $detail;
}
$this->_aPlugins[$detail->sNamespace] = $oPlugin;
if (method_exists( $oPlugin, 'enable' )) {
$oPlugin->enable();
@@ -985,7 +989,7 @@ class PMPluginRegistry
$classFile = '';
foreach ($this->_aFolders as $row => $folder) {
$fname = PATH_PLUGINS . $folder->sFolderName . PATH_SEP . 'class.' . $folder->sFolderName . '.php';
$fname = $folder->sNamespace == 'enterprise' ? PATH_CORE . 'classes' . PATH_SEP . 'class.' . $folder->sFolderName . '.php' : PATH_PLUGINS . $folder->sFolderName . PATH_SEP . 'class.' . $folder->sFolderName . '.php';
if ($detail->sNamespace == $folder->sNamespace && file_exists( $fname )) {
$found = true;
$classFile = $fname;
@@ -1021,11 +1025,12 @@ class PMPluginRegistry
if ($triggerId == $detail->sTriggerId) {
//review all folders registered for this namespace
foreach ($this->_aFolders as $row => $folder) {
$fname = PATH_PLUGINS . $folder->sFolderName . PATH_SEP . 'class.' . $folder->sFolderName . '.php';
$fname = $folder->sNamespace == 'enterprise' ? PATH_CORE . 'classes' . PATH_SEP . 'class.' . $folder->sFolderName . '.php' : PATH_PLUGINS . $folder->sFolderName . PATH_SEP . 'class.' . $folder->sFolderName . '.php';
if ($detail->sNamespace == $folder->sNamespace && file_exists( $fname )) {
$found = true;
}
}
}
}
return $found;

View File

@@ -1189,7 +1189,7 @@ class wsBase
$arrayData = array ();
$arrayData["USR_USERNAME"] = $userName;
$arrayData["USR_PASSWORD"] = md5( $password );
$arrayData["USR_PASSWORD"] = Bootstrap::hasPassword( $password );
$arrayData["USR_FIRSTNAME"] = $firstName;
$arrayData["USR_LASTNAME"] = $lastName;
$arrayData["USR_EMAIL"] = $email;
@@ -1380,7 +1380,7 @@ class wsBase
}
if (! empty( $password )) {
$arrayData["USR_PASSWORD"] = md5( $password );
$arrayData["USR_PASSWORD"] = Bootstrap::hasPassword( $password );
}
//Update user

View File

@@ -1624,5 +1624,12 @@ class workspaceTools
}
}
public function changeHashPassword ($workspace,$response) {
G::LoadClass("patch");
$this->initPropel( true );
$oPluginRegistry =& PMPluginRegistry::getSingleton();
$oPluginRegistry->executeTriggers ( PM_HASH_PASSWORD , $response );
}
}

View File

@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ProcessMaker 2.5.2.3\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2014-09-02 10:32:26\n"
"PO-Revision-Date: 2014-09-22 16:11:21\n"
"Last-Translator: \n"
"Language-Team: Colosa Developers Team <developers@colosa.com>\n"
"MIME-Version: 1.0\n"
@@ -13201,6 +13201,12 @@ msgstr "Login with Facebook!!"
msgid "xxx"
msgstr "xxx"
# TRANSLATION
# LABEL/ID_SIZE_VERY_LARGE_PERMITTED
#: LABEL/ID_SIZE_VERY_LARGE_PERMITTED
msgid "The size is very large as permitted!"
msgstr "The size is very large as permitted!"
# TRANSLATION
# LABEL/ID_PROCESSMAKER_REQUIREMENTS_DESCRIPTION_STEP5
#: LABEL/ID_PROCESSMAKER_REQUIREMENTS_DESCRIPTION_STEP5
@@ -13496,8 +13502,8 @@ msgid "Database Configuration"
msgstr "Database Configuration"
# TRANSLATION
# LABEL/ID_INSTALLATION_LOG
#: LABEL/ID_INSTALLATION_LOG
# LABEL/ID_INSTALLATION_FILE_LOG
#: LABEL/ID_INSTALLATION_FILE_LOG
msgid "Installation log file"
msgstr "Installation log file"
@@ -16453,6 +16459,492 @@ msgstr "Index"
msgid "Your browser does not support javascript or it is disabled, please use a different browser or activate the javascript. Forms won't work totally because javascript is used."
msgstr "Your browser does not support javascript or it is disabled, please use a different browser or activate the javascript. Forms won't work totally because javascript is used."
# TRANSLATION
# LABEL/ID_MAXIMUM_SIZE_FILE_REQUIRED
#: LABEL/ID_MAXIMUM_SIZE_FILE_REQUIRED
msgid "The maximum size file, is required!"
msgstr "The maximum size file, is required!"
# TRANSLATION
# LABEL/ID_BEFORE_UPDATE
#: LABEL/ID_BEFORE_UPDATE
msgid "Before Upgrade"
msgstr "Before Upgrade"
# TRANSLATION
# LABEL/ID_WAIT_INSTALLING_PLUGIN
#: LABEL/ID_WAIT_INSTALLING_PLUGIN
msgid "Please wait while installing the plugin..."
msgstr "Please wait while installing the plugin..."
# TRANSLATION
# LABEL/ID_UPGRADING_PLUGIN
#: LABEL/ID_UPGRADING_PLUGIN
msgid "Please wait while upgrading the plugin..."
msgstr "Please wait while upgrading the plugin..."
# TRANSLATION
# LABEL/ID_UPGRADE_FINISHED
#: LABEL/ID_UPGRADE_FINISHED
msgid "Upgrade finished."
msgstr "Upgrade finished."
# TRANSLATION
# LABEL/ID_DOWNLOADING_UPGRADE
#: LABEL/ID_DOWNLOADING_UPGRADE
msgid "Downloading upgrade:"
msgstr "Downloading upgrade:"
# TRANSLATION
# LABEL/ID_INSTALLATION_LOG
#: LABEL/ID_INSTALLATION_LOG
msgid "Installation log:"
msgstr "Installation log:"
# TRANSLATION
# LABEL/ID_UPGRADE_STARTING
#: LABEL/ID_UPGRADE_STARTING
msgid "Please wait while the upgrade is starting..."
msgstr "Please wait while the upgrade is starting..."
# TRANSLATION
# LABEL/ID_DOWNLOAD_MANUALLY
#: LABEL/ID_DOWNLOAD_MANUALLY
msgid "You can download it manually here"
msgstr "You can download it manually here"
# TRANSLATION
# LABEL/ID_UNKNOWN
#: LABEL/ID_UNKNOWN
msgid "Unknown"
msgstr "Unknown"
# TRANSLATION
# LABEL/ID_INSTALL_ERROR
#: LABEL/ID_INSTALL_ERROR
msgid "Install Error"
msgstr "Install Error"
# TRANSLATION
# LABEL/ID_ERROR_INSTALLING_ADDON
#: LABEL/ID_ERROR_INSTALLING_ADDON
msgid "There was a problem installing this addon."
msgstr "There was a problem installing this addon."
# TRANSLATION
# LABEL/ID_SERVER_ERROR
#: LABEL/ID_SERVER_ERROR
msgid "Server error"
msgstr "Server error"
# TRANSLATION
# LABEL/ID_MARKET_SERVER_CONTACTING
#: LABEL/ID_MARKET_SERVER_CONTACTING
msgid "There was a problem contacting the market server."
msgstr "There was a problem contacting the market server."
# TRANSLATION
# LABEL/ID_SALES_DEPARTMENT_REQUEST
#: LABEL/ID_SALES_DEPARTMENT_REQUEST
msgid "It will send a request to Sales Department, do you want to continue?"
msgstr "It will send a request to Sales Department, do you want to continue?"
# TRANSLATION
# LABEL/ID_SENDING_REQUEST_SALES_DEPARTMENT
#: LABEL/ID_SENDING_REQUEST_SALES_DEPARTMENT
msgid "Sending request to ProcessMaker Sales Department, please wait..."
msgstr "Sending request to ProcessMaker Sales Department, please wait..."
# TRANSLATION
# LABEL/ID_NO_INTERNET_CONECTION
#: LABEL/ID_NO_INTERNET_CONECTION
msgid "Enterprise Plugins Manager no connected to internet."
msgstr "Enterprise Plugins Manager no connected to internet."
# TRANSLATION
# LABEL/ID_WAIT_WHILE_UPGRADING_PROCESSMAKER
#: LABEL/ID_WAIT_WHILE_UPGRADING_PROCESSMAKER
msgid "Please wait while upgrading ProcessMaker..."
msgstr "Please wait while upgrading ProcessMaker..."
# TRANSLATION
# LABEL/ID_ERROR_UPGRADING_SYSTEM
#: LABEL/ID_ERROR_UPGRADING_SYSTEM
msgid "Error upgrading System."
msgstr "Error upgrading System."
# TRANSLATION
# LABEL/ID_ERROR_CHECK_FOR_UPDATE_DONE
#: LABEL/ID_ERROR_CHECK_FOR_UPDATE_DONE
msgid "An error has occurred, press \"OK\" to check whether the system has been upgrade."
msgstr "An error has occurred, press \"OK\" to check whether the system has been upgrade."
# TRANSLATION
# LABEL/ID_UPGRADE_LABEL
#: LABEL/ID_UPGRADE_LABEL
msgid "Upgrade"
msgstr "Upgrade"
# TRANSLATION
# LABEL/ID_UPDATE_LICENSE
#: LABEL/ID_UPDATE_LICENSE
msgid "Upload License"
msgstr "Upload License"
# TRANSLATION
# LABEL/ID_SELECT_LICENSE_FILE
#: LABEL/ID_SELECT_LICENSE_FILE
msgid "Select a license file"
msgstr "Select a license file"
# TRANSLATION
# LABEL/ID_LICENSE_FILE
#: LABEL/ID_LICENSE_FILE
msgid "License file"
msgstr "License file"
# TRANSLATION
# LABEL/ID_WARNING_ENTERPRISE_LICENSE_MSG
#: LABEL/ID_WARNING_ENTERPRISE_LICENSE_MSG
msgid "Please select a valid license file."
msgstr "Please select a valid license file."
# TRANSLATION
# LABEL/ID_WARNING_ENTERPRISE_LICENSE_MSG_DAT
#: LABEL/ID_WARNING_ENTERPRISE_LICENSE_MSG_DAT
msgid "The file doesn't have a .dat extension, please select another file."
msgstr "The file doesn't have a .dat extension, please select another file."
# TRANSLATION
# LABEL/ID_UPDATING_LICENSE_MSG
#: LABEL/ID_UPDATING_LICENSE_MSG
msgid "Uploading the license file..."
msgstr "Uploading the license file..."
# TRANSLATION
# LABEL/ID_SUCCESSFULLY_UPLOADED
#: LABEL/ID_SUCCESSFULLY_UPLOADED
msgid "Successfully uploaded."
msgstr "Successfully uploaded."
# TRANSLATION
# LABEL/ID_WARNING_ERROR_UPDATING
#: LABEL/ID_WARNING_ERROR_UPDATING
msgid "Error uploading the license file."
msgstr "Error uploading the license file."
# TRANSLATION
# LABEL/ID_UPLOAD_PLUGIN
#: LABEL/ID_UPLOAD_PLUGIN
msgid "Upload Plugin"
msgstr "Upload Plugin"
# TRANSLATION
# LABEL/ID_SELECT_PLUGIN_FILE
#: LABEL/ID_SELECT_PLUGIN_FILE
msgid "Select a plugin file"
msgstr "Select a plugin file"
# TRANSLATION
# LABEL/ID_PLUGIN_FILE
#: LABEL/ID_PLUGIN_FILE
msgid "Plugin file"
msgstr "Plugin file"
# TRANSLATION
# LABEL/ID_SELECT_PLUGIN
#: LABEL/ID_SELECT_PLUGIN
msgid "Please select a plugin"
msgstr "Please select a plugin"
# TRANSLATION
# LABEL/ID_INSTALLING_PLUGIN
#: LABEL/ID_INSTALLING_PLUGIN
msgid "Installing plugin..."
msgstr "Installing plugin..."
# TRANSLATION
# LABEL/ID_ERROR_UPLOADING_PLUGIN
#: LABEL/ID_ERROR_UPLOADING_PLUGIN
msgid "Error uploading the plugin"
msgstr "Error uploading the plugin"
# TRANSLATION
# LABEL/ID_CURRENT_VERSION
#: LABEL/ID_CURRENT_VERSION
msgid "Current version"
msgstr "Current version"
# TRANSLATION
# LABEL/ID_NO_NEW_VERSIONS
#: LABEL/ID_NO_NEW_VERSIONS
msgid "No new versions available"
msgstr "No new versions available"
# TRANSLATION
# LABEL/ID_CHECK_UPDATES
#: LABEL/ID_CHECK_UPDATES
msgid "Check for updates (you need to be connected to Internet)"
msgstr "Check for updates (you need to be connected to Internet)"
# TRANSLATION
# LABEL/ID_YOUR_LICENSE
#: LABEL/ID_YOUR_LICENSE
msgid "Your license"
msgstr "Your license"
# TRANSLATION
# LABEL/ID_CURRENT_LICENSE
#: LABEL/ID_CURRENT_LICENSE
msgid "Current license"
msgstr "Current license"
# TRANSLATION
# LABEL/ID_LICENSE_SERVER
#: LABEL/ID_LICENSE_SERVER
msgid "License server"
msgstr "License server"
# TRANSLATION
# LABEL/ID_ISSUED_TO
#: LABEL/ID_ISSUED_TO
msgid "Issued to"
msgstr "Issued to"
# TRANSLATION
# LABEL/ID_EXPIRES
#: LABEL/ID_EXPIRES
msgid "Expires (days)"
msgstr "Expires (days)"
# TRANSLATION
# LABEL/ID_IMPORT_LICENSE
#: LABEL/ID_IMPORT_LICENSE
msgid "Import license"
msgstr "Import license"
# TRANSLATION
# LABEL/ID_RENEW
#: LABEL/ID_RENEW
msgid "Renew"
msgstr "Renew"
# TRANSLATION
# LABEL/ID_UNISTALL
#: LABEL/ID_UNISTALL
msgid "Uninstall"
msgstr "Uninstall"
# TRANSLATION
# LABEL/ID_UNISTALL_TIP
#: LABEL/ID_UNISTALL_TIP
msgid "Uninstall this plugin"
msgstr "Uninstall this plugin"
# TRANSLATION
# LABEL/ID_CONFIRM_DELETE_PLUGIN
#: LABEL/ID_CONFIRM_DELETE_PLUGIN
msgid "[LABEL/ID_CONFIRM_DELETE_PLUGIN] Are you sure that you want to remove this plugin?"
msgstr "Are you sure that you want to remove this plugin?"
# TRANSLATION
# LABEL/ID_CONFIRM_DELETE_PLUGIN_WARNING
#: LABEL/ID_CONFIRM_DELETE_PLUGIN_WARNING
msgid "Uninstalling the plugin, it can affect your others workspaces."
msgstr "Uninstalling the plugin, it can affect your others workspaces."
# TRANSLATION
# LABEL/ID_ERROR_UNISTALLING
#: LABEL/ID_ERROR_UNISTALLING
msgid "Error uninstalling"
msgstr "Error uninstalling"
# TRANSLATION
# LABEL/ID_ENABLE_PLUGIN_TIP
#: LABEL/ID_ENABLE_PLUGIN_TIP
msgid "Enable the selected addon"
msgstr "Enable the selected addon"
# TRANSLATION
# LABEL/ID_ERROR_ENABLING
#: LABEL/ID_ERROR_ENABLING
msgid "Error enabling"
msgstr "Error enabling"
# TRANSLATION
# LABEL/ID_DISABLE_PLUGIN_TIP
#: LABEL/ID_DISABLE_PLUGIN_TIP
msgid "Disable the selected plugin"
msgstr "Disable the selected plugin"
# TRANSLATION
# LABEL/ID_ERROR_DISABLING
#: LABEL/ID_ERROR_DISABLING
msgid "Error disabling"
msgstr "Error disabling"
# TRANSLATION
# LABEL/ID_ADMIN
#: LABEL/ID_ADMIN
msgid "Admin"
msgstr "Admin"
# TRANSLATION
# LABEL/ID_ADMIN_PLUGIN_TIP
#: LABEL/ID_ADMIN_PLUGIN_TIP
msgid "Admin the selected plugin"
msgstr "Admin the selected plugin"
# TRANSLATION
# LABEL/ID_PUBLISHER
#: LABEL/ID_PUBLISHER
msgid "Publisher"
msgstr "Publisher"
# TRANSLATION
# LABEL/ID_LATEST_VERSION
#: LABEL/ID_LATEST_VERSION
msgid "Latest version"
msgstr "Latest version"
# TRANSLATION
# LABEL/ID_BUY_NOW
#: LABEL/ID_BUY_NOW
msgid "Buy now"
msgstr "Buy now"
# TRANSLATION
# LABEL/ID_INSTALLED
#: LABEL/ID_INSTALLED
msgid "Installed"
msgstr "Installed"
# TRANSLATION
# LABEL/ID_INSTALL_NOW
#: LABEL/ID_INSTALL_NOW
msgid "Install now"
msgstr "Install now"
# TRANSLATION
# LABEL/ID_UPGRADE_NOW
#: LABEL/ID_UPGRADE_NOW
msgid "Upgrade now"
msgstr "Upgrade now"
# TRANSLATION
# LABEL/ID_INSTALLING
#: LABEL/ID_INSTALLING
msgid "Installing"
msgstr "Installing"
# TRANSLATION
# LABEL/ID_CANCELLING
#: LABEL/ID_CANCELLING
msgid "Cancelling"
msgstr "Cancelling"
# TRANSLATION
# LABEL/ID_INSTALL_FROM_FILE
#: LABEL/ID_INSTALL_FROM_FILE
msgid "Install from file"
msgstr "Install from file"
# TRANSLATION
# LABEL/ID_INSTALL_FROM_FILE_PLUGIN_TIP
#: LABEL/ID_INSTALL_FROM_FILE_PLUGIN_TIP
msgid "Upload a plugin file"
msgstr "Upload a plugin file"
# TRANSLATION
# LABEL/ID_REFRESH_LABEL_PLUGIN_TIP
#: LABEL/ID_REFRESH_LABEL_PLUGIN_TIP
msgid "Refresh the plugin list"
msgstr "Refresh the plugin list"
# TRANSLATION
# LABEL/ID_ENTERPRISE_PLUGINS
#: LABEL/ID_ENTERPRISE_PLUGINS
msgid "Enterprise Plugins"
msgstr "Enterprise Plugins"
# TRANSLATION
# LABEL/ID_CAUTION_NOTICE
#: LABEL/ID_CAUTION_NOTICE
msgid "<h3>Caution: Before continuing, please read these instructions carefully:</h3><ul style=\"font: 16px;\"><li><a href=\"http://wiki.processmaker.com/index.php/Upgrading_ProcessMaker\" onclick=\"window.open(this.href, \"_blank\"); return (false);\">Read the wiki</a> carefully regarding the automatic upgrade.</li><li>Make a backup of all ProcessMaker files, including the database before proceeding.</li><li>This automatic upgrade may not always work depending on your server configuration.</li><li>In case the upgrade fails, read the wiki regarding alternative methods of upgrading.</li></ul>"
msgstr "<h3>Caution: Before continuing, please read these instructions carefully:</h3><ul style=\"font: 16px;\"><li><a href=\"http://wiki.processmaker.com/index.php/Upgrading_ProcessMaker\" onclick=\"window.open(this.href, \"_blank\"); return (false);\">Read the wiki</a> carefully regarding the automatic upgrade.</li><li>Make a backup of all ProcessMaker files, including the database before proceeding.</li><li>This automatic upgrade may not always work depending on your server configuration.</li><li>In case the upgrade fails, read the wiki regarding alternative methods of upgrading.</li></ul>"
# TRANSLATION
# LABEL/ID_AUDITLOG_DISPLAY
#: LABEL/ID_AUDITLOG_DISPLAY
msgid "Audit Log"
msgstr "Audit Log"
# TRANSLATION
# LABEL/ID_ENABLE_AUDIT_LOG
#: LABEL/ID_ENABLE_AUDIT_LOG
msgid "Enable Audit Log"
msgstr "Enable Audit Log"
# TRANSLATION
# LABEL/ID_AUDIT_LOG_ENABLED
#: LABEL/ID_AUDIT_LOG_ENABLED
msgid "Audit Log has been enabled"
msgstr "Audit Log has been enabled"
# TRANSLATION
# LABEL/ID_AUDIT_LOG_DISABLED
#: LABEL/ID_AUDIT_LOG_DISABLED
msgid "Audit Log has been disabled"
msgstr "Audit Log has been disabled"
# TRANSLATION
# LABEL/ID_AUDIT_LOG_DETAILS_1
#: LABEL/ID_AUDIT_LOG_DETAILS_1
msgid "Audit Log details1"
msgstr "Audit Log details1"
# TRANSLATION
# LABEL/ID_AUDIT_LOG_DETAILS_2
#: LABEL/ID_AUDIT_LOG_DETAILS_2
msgid "Audit Log details 2"
msgstr "Audit Log details 2"
# TRANSLATION
# LABEL/ID_PRIVATE
#: LABEL/ID_PRIVATE
msgid "Private"
msgstr "Private"
# TRANSLATION
# LABEL/ID_CASES_LIST
#: LABEL/ID_CASES_LIST
msgid "[LABEL/ID_CASES_LIST] Cases Lists"
msgstr "Cases Lists"
# TRANSLATION
# LABEL/ID_MENU_NAME
#: LABEL/ID_MENU_NAME
msgid "Enterprise Plugins Manager"
msgstr "Enterprise Plugins Manager"
# TRANSLATION
# LABEL/ID_LEFT
#: LABEL/ID_LEFT
msgid "left"
msgstr "left"
# TRANSLATION
# LABEL/ID_CENTER
#: LABEL/ID_CENTER
msgid "center"
msgstr "center"
# TRANSLATION
# LABEL/ID_RIGHT
#: LABEL/ID_RIGHT
msgid "right"
msgstr "right"
# additionalTables/additionalTablesData.xml?ADD_TAB_NAME
# additionalTables/additionalTablesData.xml
#: text - ADD_TAB_NAME
@@ -30500,7 +30992,7 @@ msgstr "File"
# setup/upgrade.xml?UPGRADE
# setup/upgrade.xml
#: button - UPGRADE
msgid "Upgrade"
msgid "[setup/upgrade.xml?UPGRADE] Upgrade"
msgstr "Upgrade"
# setup/uplogo.xml?TITLE1

View File

@@ -306,7 +306,7 @@ class Installer extends Controller
$info->pathLogFile->result = file_exists( $_REQUEST['pathLogFile'] );
if ($info->pathLogFile->result) {
$info->pathLogFile->message = G::LoadTranslation('ID_INSTALLATION_LOG');
$info->pathLogFile->message = G::LoadTranslation('ID_INSTALLATION_FILE_LOG');
}
if ($info->success) {

View File

@@ -379,7 +379,7 @@ class Main extends Controller
$newPass = G::generate_password();
$aData['USR_UID'] = $userData['USR_UID'];
$aData['USR_PASSWORD'] = md5( $newPass );
$aData['USR_PASSWORD'] = Bootstrap::hasPassword( $newPass );
$rbacUser->update( $aData );
$user->update( $aData );

View File

@@ -5840,6 +5840,8 @@ SELECT 'LABEL','ID_LOGIN_WITH_FACEBOOK','en','Login with Facebook!!','2014-01-15
UNION ALL
SELECT 'LABEL','ID_PROCESSMAKER_REQUIREMENTS_DESCRIPTION_STEP6','en','xxx','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_SIZE_VERY_LARGE_PERMITTED','en','The size is very large as permitted!','2014-09-10'
UNION ALL
SELECT 'LABEL','ID_PROCESSMAKER_REQUIREMENTS_DESCRIPTION_STEP5','en','ProcessMaker uses workspaces to store data. Please enter a valid workspace name and credentials to login.','2014-09-02'
UNION ALL
SELECT 'LABEL','ID_PROCESSMAKER_REQUIREMENTS_DESCRIPTION_STEP4_2','en','If you are installing ProcessMaker on a remote web server, you will need to get this information from your Database Server.','2014-01-15'
@@ -5921,11 +5923,11 @@ SELECT 'LABEL','ID_RP_DATABASE_NAME','en','Report Database Name','2014-01-15'
SELECT 'LABEL','ID_RB_DATABASE_NAME','en','Rbac Database Name','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_WF_DATABASE_NAME','en','Workflow Database Name','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_CHANGE_DATABASE_NAME','en','Change Database names','2014-01-15'
;
INSERT INTO [TRANSLATION] ([TRN_CATEGORY],[TRN_ID],[TRN_LANG],[TRN_VALUE],[TRN_UPDATE_DATE])
SELECT 'LABEL','ID_CHANGE_DATABASE_NAME','en','Change Database names','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_ADMIN_USERNAME','en','Admin Username','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_ADMIN_PASSWORD','en','Confirm Admin Password','2014-01-15'
@@ -5940,7 +5942,7 @@ SELECT 'LABEL','ID_DATABASE_ENGINE','en','Database Engine','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_DATABASE_CONFIGURATION','en','Database Configuration','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_INSTALLATION_LOG','en','Installation log file','2014-01-15'
SELECT 'LABEL','ID_INSTALLATION_FILE_LOG','en','Installation log file','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_WORFLOW_DATA_DIRECTORY','en','Workflow Data Directory','2014-01-15'
UNION ALL
@@ -6083,11 +6085,11 @@ SELECT 'LABEL','DYNAFIELD_NODENAME_NUMBER','en','The field name should not start
SELECT 'LABEL','ID_EMPTY_NODENAME','en','The name field is empty','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_TAS_DURATION_REQUIRE','en','Duration task required','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_NAME_TAS_TITLE_REQUIRE','en','Task title required','2014-01-15'
;
INSERT INTO [TRANSLATION] ([TRN_CATEGORY],[TRN_ID],[TRN_LANG],[TRN_VALUE],[TRN_UPDATE_DATE])
SELECT 'LABEL','ID_NAME_TAS_TITLE_REQUIRE','en','Task title required','2014-01-15'
UNION ALL
SELECT 'LABEL','APP_TITLE_CASE_LABEL_UPDATE','en','The System has detected that the changes on case labels will affect more than 1000 records, so the work will be scheduled by the cron to perform the update the next time the cron will run.','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_MESSAGE_LOGIN','en','The default language that is configured in this place is for the "dropdown" of the languages that are displaying on the login screen, this configuration is set for each workspace.','2014-01-15'
@@ -6245,11 +6247,11 @@ SELECT 'LABEL','ID_DELETE_DOCUMENT','en','Do you want to delete selected documen
SELECT 'LABEL','ID_CRON_ACTIONS_LOG','en','Cron Actions Log','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_AUTH_SOURCE_MISSING','en','The plugin that is related to this authentication source was removed or disabled, please consult to your system administrator.','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_TRIGGER_REQUIRED','en','Trigger is required','2014-01-15'
;
INSERT INTO [TRANSLATION] ([TRN_CATEGORY],[TRN_ID],[TRN_LANG],[TRN_VALUE],[TRN_UPDATE_DATE])
SELECT 'LABEL','ID_TRIGGER_REQUIRED','en','Trigger is required','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_TIME_REQUIRED','en','Time is required','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_CURRENT_WORKSPACE','en','Current Workspace','2014-01-15'
@@ -6407,11 +6409,11 @@ SELECT 'LABEL','ID_FAILED_VALIDATIONS_IN_CLASS','en','Failed Validation in class
SELECT 'LABEL','ID_ERROR_CHANGE_SEQUENCE_NUMBER','en','Unable to generate numerical sequence another user performing the same request.','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_CANT_RESOLVE_APPLICATION','en','Can''t resolve the Aplication ID for this request.','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_FAILED_VALIDATION_IN_CLASS1','en','Failed Validation in class {CLASS}.','2014-01-15'
;
INSERT INTO [TRANSLATION] ([TRN_CATEGORY],[TRN_ID],[TRN_LANG],[TRN_VALUE],[TRN_UPDATE_DATE])
SELECT 'LABEL','ID_FAILED_VALIDATION_IN_CLASS1','en','Failed Validation in class {CLASS}.','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_REQUIRED_NAME_CASE_SCHEDULER','en','You forgot the name of the Case Scheduler','2014-01-15'
UNION ALL
SELECT 'LABEL','ID_DUPLICATE_CASE_SCHEDULER_NAME','en','Duplicate Case Scheduler name.','2014-01-15'
@@ -6569,11 +6571,11 @@ SELECT 'LABEL','ID_EVENT_ADD_CURRENT','en','Add current task user','2014-02-12'
SELECT 'LABEL','ID_EVENT_ADD_USERS','en','Add users','2014-02-12'
UNION ALL
SELECT 'LABEL','ID_EVENT_REMOVE_SELECTED','en','Remove selected','2014-02-12'
UNION ALL
SELECT 'LABEL','ID_EVENT_ADD_DYNAVAR','en','Add dynavar','2014-02-12'
;
INSERT INTO [TRANSLATION] ([TRN_CATEGORY],[TRN_ID],[TRN_LANG],[TRN_VALUE],[TRN_UPDATE_DATE])
SELECT 'LABEL','ID_EVENT_ADD_DYNAVAR','en','Add dynavar','2014-02-12'
UNION ALL
SELECT 'LABEL','ID_EVENT_ADD_GROUP','en','Add groups','2014-02-12'
UNION ALL
SELECT 'LABEL','ID_EXECUTION','en','Execution','2014-02-12'
@@ -6731,11 +6733,11 @@ SELECT 'LABEL','ID_CASES_INCORRECT_INFORMATION','en','Incorrect or unavailable i
SELECT 'LABEL','ID_INVALID_VALUE_FOR','en','Invalid value specified for: {0}','2014-05-21'
UNION ALL
SELECT 'LABEL','ID_CASE_SCHEDULER_DOES_NOT_EXIST','en','This case scheduler with sch_uid: {0} does not exist!','2014-05-21'
UNION ALL
SELECT 'LABEL','ID_INFORMATION_EMPTY','en','The information sended is empty!','2014-05-21'
;
INSERT INTO [TRANSLATION] ([TRN_CATEGORY],[TRN_ID],[TRN_LANG],[TRN_VALUE],[TRN_UPDATE_DATE])
SELECT 'LABEL','ID_INFORMATION_EMPTY','en','The information sended is empty!','2014-05-21'
UNION ALL
SELECT 'LABEL','ID_TASK_NOT_FOUND','en','Task not found for id: {0}','2014-05-21'
UNION ALL
SELECT 'LABEL','ID_CAN_NOT_BE_EMPTY','en','{0}, can not be empty','2014-05-21'
@@ -6893,11 +6895,11 @@ SELECT 'LABEL','ID_NAME_STG_TITLE_REQUIRE','en','Stage title required','2014-06-
SELECT 'LABEL','ID_INPUT_DOCUMENT_ITS_ASSIGNED','en','The Input Document with {0}: {1} it''s assigned in "{2}".','2014-06-26'
UNION ALL
SELECT 'LABEL','ID_PROCESS_VARIABLE_DOES_NOT_EXIST','en','The variable with {0}: {1} does not exist.','2014-06-30'
UNION ALL
SELECT 'LABEL','ID_PROCESS_VARIABLE_REQUIRED_VARIABLES_FOR_QUERY','en','The variable "{0}" required the variables "{1}" for the query.','2014-06-30'
;
INSERT INTO [TRANSLATION] ([TRN_CATEGORY],[TRN_ID],[TRN_LANG],[TRN_VALUE],[TRN_UPDATE_DATE])
SELECT 'LABEL','ID_PROCESS_VARIABLE_REQUIRED_VARIABLES_FOR_QUERY','en','The variable "{0}" required the variables "{1}" for the query.','2014-06-30'
UNION ALL
SELECT 'LABEL','ID_OUTPUT_DOCUMENT_ITS_ASSIGNED','en','The Output Document with {0}: {1} it''s assigned in "{2}".','2014-07-01'
UNION ALL
SELECT 'LABEL','ID_EXISTS_FILES','en','The file exists.','2014-07-17'
@@ -6934,9 +6936,173 @@ SELECT 'LABEL','ID_TINY_SYSTEM_VARIABLE','en','System Variable','2014-08-27'
UNION ALL
SELECT 'LABEL','ID_CHOOSE_PROVIDER','en','Please select provider','2014-08-27'
UNION ALL
SELECT 'LABEL','ID_INDEX','en','Index','2014-08-27'
SELECT 'LABEL','ID_INDEX','en','Index','2014-09-10'
UNION ALL
SELECT 'LABEL','ID_ERROR_JS_NOT_AVAILABLE','en','Your browser does not support javascript or it is disabled, please use a different browser or activate the javascript. Forms won''t work totally because javascript is used.','2014-08-29'
UNION ALL
SELECT 'LABEL','ID_MAXIMUM_SIZE_FILE_REQUIRED','en','The maximum size file, is required!','2014-09-12'
UNION ALL
SELECT 'LABEL','ID_BEFORE_UPDATE','en','Before Upgrade','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_WAIT_INSTALLING_PLUGIN','en','Please wait while installing the plugin...','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_UPGRADING_PLUGIN','en','Please wait while upgrading the plugin...','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_UPGRADE_FINISHED','en','Upgrade finished.','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_DOWNLOADING_UPGRADE','en','Downloading upgrade:','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_INSTALLATION_LOG','en','Installation log:','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_UPGRADE_STARTING','en','Please wait while the upgrade is starting...','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_DOWNLOAD_MANUALLY','en','You can download it manually here','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_UNKNOWN','en','Unknown','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_INSTALL_ERROR','en','Install Error','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_ERROR_INSTALLING_ADDON','en','There was a problem installing this addon.','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_SERVER_ERROR','en','Server error','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_MARKET_SERVER_CONTACTING','en','There was a problem contacting the market server.','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_SALES_DEPARTMENT_REQUEST','en','It will send a request to Sales Department, do you want to continue?','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_SENDING_REQUEST_SALES_DEPARTMENT','en','Sending request to ProcessMaker Sales Department, please wait...','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_NO_INTERNET_CONECTION','en','Enterprise Plugins Manager no connected to internet.','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_WAIT_WHILE_UPGRADING_PROCESSMAKER','en','Please wait while upgrading ProcessMaker...','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_ERROR_UPGRADING_SYSTEM','en','Error upgrading System.','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_ERROR_CHECK_FOR_UPDATE_DONE','en','An error has occurred, press "OK" to check whether the system has been upgrade.','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_UPGRADE_LABEL','en','Upgrade','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_UPDATE_LICENSE','en','Upload License','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_SELECT_LICENSE_FILE','en','Select a license file','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_LICENSE_FILE','en','License file','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_WARNING_ENTERPRISE_LICENSE_MSG','en','Please select a valid license file.','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_WARNING_ENTERPRISE_LICENSE_MSG_DAT','en','The file doesn''t have a .dat extension, please select another file.','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_UPDATING_LICENSE_MSG','en','Uploading the license file...','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_SUCCESSFULLY_UPLOADED','en','Successfully uploaded.','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_WARNING_ERROR_UPDATING','en','Error uploading the license file.','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_UPLOAD_PLUGIN','en','Upload Plugin','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_SELECT_PLUGIN_FILE','en','Select a plugin file','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_PLUGIN_FILE','en','Plugin file','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_SELECT_PLUGIN','en','Please select a plugin','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_INSTALLING_PLUGIN','en','Installing plugin...','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_ERROR_UPLOADING_PLUGIN','en','Error uploading the plugin','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_CURRENT_VERSION','en','Current version','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_NO_NEW_VERSIONS','en','No new versions available','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_CHECK_UPDATES','en','Check for updates (you need to be connected to Internet)','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_YOUR_LICENSE','en','Your license','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_CURRENT_LICENSE','en','Current license','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_LICENSE_SERVER','en','License server','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_ISSUED_TO','en','Issued to','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_EXPIRES','en','Expires (days)','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_IMPORT_LICENSE','en','Import license','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_RENEW','en','Renew','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_UNISTALL','en','Uninstall','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_UNISTALL_TIP','en','Uninstall this plugin','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_CONFIRM_DELETE_PLUGIN','en','Are you sure that you want to remove this plugin?','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_CONFIRM_DELETE_PLUGIN_WARNING','en','Uninstalling the plugin, it can affect your others workspaces.','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_ERROR_UNISTALLING','en','Error uninstalling','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_ENABLE_PLUGIN_TIP','en','Enable the selected addon','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_ERROR_ENABLING','en','Error enabling','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_DISABLE_PLUGIN_TIP','en','Disable the selected plugin','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_ERROR_DISABLING','en','Error disabling','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_ADMIN','en','Admin','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_ADMIN_PLUGIN_TIP','en','Admin the selected plugin','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_PUBLISHER','en','Publisher','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_LATEST_VERSION','en','Latest version','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_BUY_NOW','en','Buy now','2014-09-18'
;
INSERT INTO [TRANSLATION] ([TRN_CATEGORY],[TRN_ID],[TRN_LANG],[TRN_VALUE],[TRN_UPDATE_DATE])
SELECT 'LABEL','ID_INSTALLED','en','Installed','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_INSTALL_NOW','en','Install now','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_UPGRADE_NOW','en','Upgrade now','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_INSTALLING','en','Installing','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_CANCELLING','en','Cancelling','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_INSTALL_FROM_FILE','en','Install from file','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_INSTALL_FROM_FILE_PLUGIN_TIP','en','Upload a plugin file','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_REFRESH_LABEL_PLUGIN_TIP','en','Refresh the plugin list','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_ENTERPRISE_PLUGINS','en','Enterprise Plugins','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_CAUTION_NOTICE','en','<h3>Caution: Before continuing, please read these instructions carefully:</h3><ul style="font: 16px;"><li><a href="http://wiki.processmaker.com/index.php/Upgrading_ProcessMaker" onclick="window.open(this.href, "_blank"); return (false);">Read the wiki</a> carefully regarding the automatic upgrade.</li><li>Make a backup of all ProcessMaker files, including the database before proceeding.</li><li>This automatic upgrade may not always work depending on your server configuration.</li><li>In case the upgrade fails, read the wiki regarding alternative methods of upgrading.</li></ul>','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_AUDITLOG_DISPLAY','en','Audit Log','2014-09-19'
UNION ALL
SELECT 'LABEL','ID_ENABLE_AUDIT_LOG','en','Enable Audit Log','2014-09-19'
UNION ALL
SELECT 'LABEL','ID_AUDIT_LOG_ENABLED','en','Audit Log has been enabled','2014-09-19'
UNION ALL
SELECT 'LABEL','ID_AUDIT_LOG_DISABLED','en','Audit Log has been disabled','2014-09-19'
UNION ALL
SELECT 'LABEL','ID_AUDIT_LOG_DETAILS_1','en','Audit Log details1','2014-09-19'
UNION ALL
SELECT 'LABEL','ID_AUDIT_LOG_DETAILS_2','en','Audit Log details 2','2014-09-19'
UNION ALL
SELECT 'LABEL','ID_PRIVATE','en','Private','2014-09-22'
UNION ALL
SELECT 'LABEL','ID_CASES_LIST','en','Cases Lists','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_MENU_NAME','en','Enterprise Plugins Manager','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_LEFT','en','left','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_CENTER','en','center','2014-09-18'
UNION ALL
SELECT 'LABEL','ID_RIGHT','en','right','2014-09-18'
;
INSERT INTO ISO_LOCATION ([IC_UID],[IL_UID],[IL_NAME],[IL_NORMAL_NAME],[IS_UID])

View File

@@ -3642,6 +3642,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_COPYRIGHT','en','Copyright © 2003-2011 Colosa, Inc. All rights reserved.','2014-01-15') ,
( 'LABEL','ID_LOGIN_WITH_FACEBOOK','en','Login with Facebook!!','2014-01-15') ,
( 'LABEL','ID_PROCESSMAKER_REQUIREMENTS_DESCRIPTION_STEP6','en','xxx','2014-01-15') ,
( 'LABEL','ID_SIZE_VERY_LARGE_PERMITTED','en','The size is very large as permitted!','2014-09-10') ,
( 'LABEL','ID_PROCESSMAKER_REQUIREMENTS_DESCRIPTION_STEP5','en','ProcessMaker uses workspaces to store data. Please enter a valid workspace name and credentials to login.','2014-09-02') ,
( 'LABEL','ID_PROCESSMAKER_REQUIREMENTS_DESCRIPTION_STEP4_2','en','If you are installing ProcessMaker on a remote web server, you will need to get this information from your Database Server.','2014-01-15') ,
( 'LABEL','ID_PROCESSMAKER_REQUIREMENTS_DESCRIPTION_STEP4_1','en','ProcessMaker stores all of its data in a database. This screen gives the installation program the information needed to create this database.','2014-01-15') ,
@@ -3682,10 +3683,10 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_DELETE_DATABASES','en','Delete Databases if exists','2014-01-15') ,
( 'LABEL','ID_RP_DATABASE_NAME','en','Report Database Name','2014-01-15') ,
( 'LABEL','ID_RB_DATABASE_NAME','en','Rbac Database Name','2014-01-15') ,
( 'LABEL','ID_WF_DATABASE_NAME','en','Workflow Database Name','2014-01-15') ,
( 'LABEL','ID_CHANGE_DATABASE_NAME','en','Change Database names','2014-01-15') ;
( 'LABEL','ID_WF_DATABASE_NAME','en','Workflow Database Name','2014-01-15') ;
INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ) VALUES
( 'LABEL','ID_CHANGE_DATABASE_NAME','en','Change Database names','2014-01-15') ,
( 'LABEL','ID_ADMIN_USERNAME','en','Admin Username','2014-01-15') ,
( 'LABEL','ID_ADMIN_PASSWORD','en','Confirm Admin Password','2014-01-15') ,
( 'LABEL','ID_WORKSPACE_NAME','en','Workspace Name','2014-01-15') ,
@@ -3693,7 +3694,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_HOST_NAME_LABEL','en','Host Name','2014-01-15') ,
( 'LABEL','ID_DATABASE_ENGINE','en','Database Engine','2014-01-15') ,
( 'LABEL','ID_DATABASE_CONFIGURATION','en','Database Configuration','2014-01-15') ,
( 'LABEL','ID_INSTALLATION_LOG','en','Installation log file','2014-01-15') ,
( 'LABEL','ID_INSTALLATION_FILE_LOG','en','Installation log file','2014-01-15') ,
( 'LABEL','ID_WORFLOW_DATA_DIRECTORY','en','Workflow Data Directory','2014-01-15') ,
( 'LABEL','ID_WORKFLOW_DATA_DIRECTORY_REQUIRED','en','"Workflow Data Directory" is required.','2014-01-15') ,
( 'LABEL','ID_PUBLIC_INDEX_FILE','en','Public Index file','2014-01-15') ,
@@ -3764,10 +3765,10 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','DYNAFIELD_EMPTY','en','The name field is empty','2014-01-15') ,
( 'LABEL','DYNAFIELD_NODENAME_NUMBER','en','The field name should not start with a number','2014-01-15') ,
( 'LABEL','ID_EMPTY_NODENAME','en','The name field is empty','2014-01-15') ,
( 'LABEL','ID_TAS_DURATION_REQUIRE','en','Duration task required','2014-01-15') ,
( 'LABEL','ID_NAME_TAS_TITLE_REQUIRE','en','Task title required','2014-01-15') ;
( 'LABEL','ID_TAS_DURATION_REQUIRE','en','Duration task required','2014-01-15') ;
INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ) VALUES
( 'LABEL','ID_NAME_TAS_TITLE_REQUIRE','en','Task title required','2014-01-15') ,
( 'LABEL','APP_TITLE_CASE_LABEL_UPDATE','en','The System has detected that the changes on case labels will affect more than 1000 records, so the work will be scheduled by the cron to perform the update the next time the cron will run.','2014-01-15') ,
( 'LABEL','ID_MESSAGE_LOGIN','en','The default language that is configured in this place is for the "dropdown" of the languages that are displaying on the login screen, this configuration is set for each workspace.','2014-01-15') ,
( 'LABEL','ID_MESSAGE_SYSTEM','en','The language that is set by default applies directly when the domain is entered (eg.- http://127.0.0.1:8081), the system reads the configuration and redirects the link to the selected language','2014-01-15') ,
@@ -3846,10 +3847,10 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_CASES_NOTES_NO_PERMISSIONS','en','You do not have permission to cases notes','2014-01-15') ,
( 'LABEL','ID_DELETE_DOCUMENT','en','Do you want to delete selected document?','2014-01-15') ,
( 'LABEL','ID_CRON_ACTIONS_LOG','en','Cron Actions Log','2014-01-15') ,
( 'LABEL','ID_AUTH_SOURCE_MISSING','en','The plugin that is related to this authentication source was removed or disabled, please consult to your system administrator.','2014-01-15') ,
( 'LABEL','ID_TRIGGER_REQUIRED','en','Trigger is required','2014-01-15') ;
( 'LABEL','ID_AUTH_SOURCE_MISSING','en','The plugin that is related to this authentication source was removed or disabled, please consult to your system administrator.','2014-01-15') ;
INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ) VALUES
( 'LABEL','ID_TRIGGER_REQUIRED','en','Trigger is required','2014-01-15') ,
( 'LABEL','ID_TIME_REQUIRED','en','Time is required','2014-01-15') ,
( 'LABEL','ID_CURRENT_WORKSPACE','en','Current Workspace','2014-01-15') ,
( 'LABEL','ID_PM_FUNCTION_CHANGE_CASE','en','The "{0}" function has {1} the current case, the script has stopped to avoid conflicts.','2014-01-15') ,
@@ -3928,10 +3929,10 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_SLOW','en','slow','2014-01-15') ,
( 'LABEL','ID_FAILED_VALIDATIONS_IN_CLASS','en','Failed Validation in class {CLASS}.','2014-01-15') ,
( 'LABEL','ID_ERROR_CHANGE_SEQUENCE_NUMBER','en','Unable to generate numerical sequence another user performing the same request.','2014-01-15') ,
( 'LABEL','ID_CANT_RESOLVE_APPLICATION','en','Can''t resolve the Aplication ID for this request.','2014-01-15') ,
( 'LABEL','ID_FAILED_VALIDATION_IN_CLASS1','en','Failed Validation in class {CLASS}.','2014-01-15') ;
( 'LABEL','ID_CANT_RESOLVE_APPLICATION','en','Can''t resolve the Aplication ID for this request.','2014-01-15') ;
INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ) VALUES
( 'LABEL','ID_FAILED_VALIDATION_IN_CLASS1','en','Failed Validation in class {CLASS}.','2014-01-15') ,
( 'LABEL','ID_REQUIRED_NAME_CASE_SCHEDULER','en','You forgot the name of the Case Scheduler','2014-01-15') ,
( 'LABEL','ID_DUPLICATE_CASE_SCHEDULER_NAME','en','Duplicate Case Scheduler name.','2014-01-15') ,
( 'LABEL','ID_MSG_CLEAR_GRID_FIRST_ITEM','en','Do you want to clear the information from the first row?','2014-01-15') ,
@@ -4010,10 +4011,10 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_SMTP_ERROR_MET_TURN_SMTP_NOT_IMPLEMENTED','en','This method, TURN, of the SMTP is not implemented','2014-02-12') ,
( 'LABEL','ID_EVENT_ADD_CURRENT','en','Add current task user','2014-02-12') ,
( 'LABEL','ID_EVENT_ADD_USERS','en','Add users','2014-02-12') ,
( 'LABEL','ID_EVENT_REMOVE_SELECTED','en','Remove selected','2014-02-12') ,
( 'LABEL','ID_EVENT_ADD_DYNAVAR','en','Add dynavar','2014-02-12') ;
( 'LABEL','ID_EVENT_REMOVE_SELECTED','en','Remove selected','2014-02-12') ;
INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ) VALUES
( 'LABEL','ID_EVENT_ADD_DYNAVAR','en','Add dynavar','2014-02-12') ,
( 'LABEL','ID_EVENT_ADD_GROUP','en','Add groups','2014-02-12') ,
( 'LABEL','ID_EXECUTION','en','Execution','2014-02-12') ,
( 'LABEL','ID_GROUP_CANNOT_DELETE_WHILE_ASSIGNED_TO_TASK','en','Group cannot be deleted while it''s assigned to a task','2014-04-03') ,
@@ -4092,10 +4093,10 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_CASES_OUTPUT_DOES_NOT_EXIST','en','This output document with out_doc_id: {0} does not exist!','2014-05-21') ,
( 'LABEL','ID_CASES_INCORRECT_INFORMATION','en','Incorrect or unavailable information about this case: {0}','2014-05-21') ,
( 'LABEL','ID_INVALID_VALUE_FOR','en','Invalid value specified for: {0}','2014-05-21') ,
( 'LABEL','ID_CASE_SCHEDULER_DOES_NOT_EXIST','en','This case scheduler with sch_uid: {0} does not exist!','2014-05-21') ,
( 'LABEL','ID_INFORMATION_EMPTY','en','The information sended is empty!','2014-05-21') ;
( 'LABEL','ID_CASE_SCHEDULER_DOES_NOT_EXIST','en','This case scheduler with sch_uid: {0} does not exist!','2014-05-21') ;
INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ) VALUES
( 'LABEL','ID_INFORMATION_EMPTY','en','The information sended is empty!','2014-05-21') ,
( 'LABEL','ID_TASK_NOT_FOUND','en','Task not found for id: {0}','2014-05-21') ,
( 'LABEL','ID_CAN_NOT_BE_EMPTY','en','{0}, can not be empty','2014-05-21') ,
( 'LABEL','ID_CASE_SCHEDULER_DUPLICATE','en','Duplicate Case Scheduler name','2014-05-21') ,
@@ -4174,10 +4175,10 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_MSG_CONFIRM_DELETE_USER_ASSINGED_SUPERVISOR','en','The user can not be deleted while this assigned as a supervisor. Want removed anyway?','2014-06-20') ,
( 'LABEL','ID_NAME_STG_TITLE_REQUIRE','en','Stage title required','2014-06-25') ,
( 'LABEL','ID_INPUT_DOCUMENT_ITS_ASSIGNED','en','The Input Document with {0}: {1} it''s assigned in "{2}".','2014-06-26') ,
( 'LABEL','ID_PROCESS_VARIABLE_DOES_NOT_EXIST','en','The variable with {0}: {1} does not exist.','2014-06-30') ,
( 'LABEL','ID_PROCESS_VARIABLE_REQUIRED_VARIABLES_FOR_QUERY','en','The variable "{0}" required the variables "{1}" for the query.','2014-06-30') ;
( 'LABEL','ID_PROCESS_VARIABLE_DOES_NOT_EXIST','en','The variable with {0}: {1} does not exist.','2014-06-30') ;
INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ) VALUES
( 'LABEL','ID_PROCESS_VARIABLE_REQUIRED_VARIABLES_FOR_QUERY','en','The variable "{0}" required the variables "{1}" for the query.','2014-06-30') ,
( 'LABEL','ID_OUTPUT_DOCUMENT_ITS_ASSIGNED','en','The Output Document with {0}: {1} it''s assigned in "{2}".','2014-07-01') ,
( 'LABEL','ID_EXISTS_FILES','en','The file exists.','2014-07-17') ,
( 'LABEL','ID_FILENAME_REQUIRED','en','The filename is required.','2014-07-17') ,
@@ -4196,8 +4197,91 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_INPUT_DOC_TYPE_FILE_REQUIRED','en','You must specify the allowed file extensions, use *.* to allow any extension.','2014-08-25') ,
( 'LABEL','ID_TINY_SYSTEM_VARIABLE','en','System Variable','2014-08-27') ,
( 'LABEL','ID_CHOOSE_PROVIDER','en','Please select provider','2014-08-27') ,
( 'LABEL','ID_INDEX','en','Index','2014-08-27') ,
( 'LABEL','ID_ERROR_JS_NOT_AVAILABLE','en','Your browser does not support javascript or it is disabled, please use a different browser or activate the javascript. Forms won''t work totally because javascript is used.','2014-08-29') ;
( 'LABEL','ID_INDEX','en','Index','2014-09-10') ,
( 'LABEL','ID_ERROR_JS_NOT_AVAILABLE','en','Your browser does not support javascript or it is disabled, please use a different browser or activate the javascript. Forms won''t work totally because javascript is used.','2014-08-29') ,
( 'LABEL','ID_MAXIMUM_SIZE_FILE_REQUIRED','en','The maximum size file, is required!','2014-09-12') ,
( 'LABEL','ID_BEFORE_UPDATE','en','Before Upgrade','2014-09-18') ,
( 'LABEL','ID_WAIT_INSTALLING_PLUGIN','en','Please wait while installing the plugin...','2014-09-18') ,
( 'LABEL','ID_UPGRADING_PLUGIN','en','Please wait while upgrading the plugin...','2014-09-18') ,
( 'LABEL','ID_UPGRADE_FINISHED','en','Upgrade finished.','2014-09-18') ,
( 'LABEL','ID_DOWNLOADING_UPGRADE','en','Downloading upgrade:','2014-09-18') ,
( 'LABEL','ID_INSTALLATION_LOG','en','Installation log:','2014-09-18') ,
( 'LABEL','ID_UPGRADE_STARTING','en','Please wait while the upgrade is starting...','2014-09-18') ,
( 'LABEL','ID_DOWNLOAD_MANUALLY','en','You can download it manually here','2014-09-18') ,
( 'LABEL','ID_UNKNOWN','en','Unknown','2014-09-18') ,
( 'LABEL','ID_INSTALL_ERROR','en','Install Error','2014-09-18') ,
( 'LABEL','ID_ERROR_INSTALLING_ADDON','en','There was a problem installing this addon.','2014-09-18') ,
( 'LABEL','ID_SERVER_ERROR','en','Server error','2014-09-18') ,
( 'LABEL','ID_MARKET_SERVER_CONTACTING','en','There was a problem contacting the market server.','2014-09-18') ,
( 'LABEL','ID_SALES_DEPARTMENT_REQUEST','en','It will send a request to Sales Department, do you want to continue?','2014-09-18') ,
( 'LABEL','ID_SENDING_REQUEST_SALES_DEPARTMENT','en','Sending request to ProcessMaker Sales Department, please wait...','2014-09-18') ,
( 'LABEL','ID_NO_INTERNET_CONECTION','en','Enterprise Plugins Manager no connected to internet.','2014-09-18') ,
( 'LABEL','ID_WAIT_WHILE_UPGRADING_PROCESSMAKER','en','Please wait while upgrading ProcessMaker...','2014-09-18') ,
( 'LABEL','ID_ERROR_UPGRADING_SYSTEM','en','Error upgrading System.','2014-09-18') ,
( 'LABEL','ID_ERROR_CHECK_FOR_UPDATE_DONE','en','An error has occurred, press "OK" to check whether the system has been upgrade.','2014-09-18') ,
( 'LABEL','ID_UPGRADE_LABEL','en','Upgrade','2014-09-18') ,
( 'LABEL','ID_UPDATE_LICENSE','en','Upload License','2014-09-18') ,
( 'LABEL','ID_SELECT_LICENSE_FILE','en','Select a license file','2014-09-18') ,
( 'LABEL','ID_LICENSE_FILE','en','License file','2014-09-18') ,
( 'LABEL','ID_WARNING_ENTERPRISE_LICENSE_MSG','en','Please select a valid license file.','2014-09-18') ,
( 'LABEL','ID_WARNING_ENTERPRISE_LICENSE_MSG_DAT','en','The file doesn''t have a .dat extension, please select another file.','2014-09-18') ,
( 'LABEL','ID_UPDATING_LICENSE_MSG','en','Uploading the license file...','2014-09-18') ,
( 'LABEL','ID_SUCCESSFULLY_UPLOADED','en','Successfully uploaded.','2014-09-18') ,
( 'LABEL','ID_WARNING_ERROR_UPDATING','en','Error uploading the license file.','2014-09-18') ,
( 'LABEL','ID_UPLOAD_PLUGIN','en','Upload Plugin','2014-09-18') ,
( 'LABEL','ID_SELECT_PLUGIN_FILE','en','Select a plugin file','2014-09-18') ,
( 'LABEL','ID_PLUGIN_FILE','en','Plugin file','2014-09-18') ,
( 'LABEL','ID_SELECT_PLUGIN','en','Please select a plugin','2014-09-18') ,
( 'LABEL','ID_INSTALLING_PLUGIN','en','Installing plugin...','2014-09-18') ,
( 'LABEL','ID_ERROR_UPLOADING_PLUGIN','en','Error uploading the plugin','2014-09-18') ,
( 'LABEL','ID_CURRENT_VERSION','en','Current version','2014-09-18') ,
( 'LABEL','ID_NO_NEW_VERSIONS','en','No new versions available','2014-09-18') ,
( 'LABEL','ID_CHECK_UPDATES','en','Check for updates (you need to be connected to Internet)','2014-09-18') ,
( 'LABEL','ID_YOUR_LICENSE','en','Your license','2014-09-18') ,
( 'LABEL','ID_CURRENT_LICENSE','en','Current license','2014-09-18') ,
( 'LABEL','ID_LICENSE_SERVER','en','License server','2014-09-18') ,
( 'LABEL','ID_ISSUED_TO','en','Issued to','2014-09-18') ,
( 'LABEL','ID_EXPIRES','en','Expires (days)','2014-09-18') ,
( 'LABEL','ID_IMPORT_LICENSE','en','Import license','2014-09-18') ,
( 'LABEL','ID_RENEW','en','Renew','2014-09-18') ,
( 'LABEL','ID_UNISTALL','en','Uninstall','2014-09-18') ,
( 'LABEL','ID_UNISTALL_TIP','en','Uninstall this plugin','2014-09-18') ,
( 'LABEL','ID_CONFIRM_DELETE_PLUGIN','en','Are you sure that you want to remove this plugin?','2014-09-18') ,
( 'LABEL','ID_CONFIRM_DELETE_PLUGIN_WARNING','en','Uninstalling the plugin, it can affect your others workspaces.','2014-09-18') ,
( 'LABEL','ID_ERROR_UNISTALLING','en','Error uninstalling','2014-09-18') ,
( 'LABEL','ID_ENABLE_PLUGIN_TIP','en','Enable the selected addon','2014-09-18') ,
( 'LABEL','ID_ERROR_ENABLING','en','Error enabling','2014-09-18') ,
( 'LABEL','ID_DISABLE_PLUGIN_TIP','en','Disable the selected plugin','2014-09-18') ,
( 'LABEL','ID_ERROR_DISABLING','en','Error disabling','2014-09-18') ,
( 'LABEL','ID_ADMIN','en','Admin','2014-09-18') ,
( 'LABEL','ID_ADMIN_PLUGIN_TIP','en','Admin the selected plugin','2014-09-18') ,
( 'LABEL','ID_PUBLISHER','en','Publisher','2014-09-18') ,
( 'LABEL','ID_LATEST_VERSION','en','Latest version','2014-09-18') ,
( 'LABEL','ID_BUY_NOW','en','Buy now','2014-09-18') ;
INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ) VALUES
( 'LABEL','ID_INSTALLED','en','Installed','2014-09-18') ,
( 'LABEL','ID_INSTALL_NOW','en','Install now','2014-09-18') ,
( 'LABEL','ID_UPGRADE_NOW','en','Upgrade now','2014-09-18') ,
( 'LABEL','ID_INSTALLING','en','Installing','2014-09-18') ,
( 'LABEL','ID_CANCELLING','en','Cancelling','2014-09-18') ,
( 'LABEL','ID_INSTALL_FROM_FILE','en','Install from file','2014-09-18') ,
( 'LABEL','ID_INSTALL_FROM_FILE_PLUGIN_TIP','en','Upload a plugin file','2014-09-18') ,
( 'LABEL','ID_REFRESH_LABEL_PLUGIN_TIP','en','Refresh the plugin list','2014-09-18') ,
( 'LABEL','ID_ENTERPRISE_PLUGINS','en','Enterprise Plugins','2014-09-18') ,
( 'LABEL','ID_CAUTION_NOTICE','en','<h3>Caution: Before continuing, please read these instructions carefully:</h3><ul style="font: 16px;"><li><a href="http://wiki.processmaker.com/index.php/Upgrading_ProcessMaker" onclick="window.open(this.href, "_blank"); return (false);">Read the wiki</a> carefully regarding the automatic upgrade.</li><li>Make a backup of all ProcessMaker files, including the database before proceeding.</li><li>This automatic upgrade may not always work depending on your server configuration.</li><li>In case the upgrade fails, read the wiki regarding alternative methods of upgrading.</li></ul>','2014-09-18') ,
( 'LABEL','ID_AUDITLOG_DISPLAY','en','Audit Log','2014-09-19') ,
( 'LABEL','ID_ENABLE_AUDIT_LOG','en','Enable Audit Log','2014-09-19') ,
( 'LABEL','ID_AUDIT_LOG_ENABLED','en','Audit Log has been enabled','2014-09-19') ,
( 'LABEL','ID_AUDIT_LOG_DISABLED','en','Audit Log has been disabled','2014-09-19') ,
( 'LABEL','ID_AUDIT_LOG_DETAILS_1','en','Audit Log details1','2014-09-19') ,
( 'LABEL','ID_AUDIT_LOG_DETAILS_2','en','Audit Log details 2','2014-09-19') ,
( 'LABEL','ID_PRIVATE','en','Private','2014-09-22') ,
( 'LABEL','ID_CASES_LIST','en','Cases Lists','2014-09-18') ,
( 'LABEL','ID_MENU_NAME','en','Enterprise Plugins Manager','2014-09-18') ,
( 'LABEL','ID_LEFT','en','left','2014-09-18') ,
( 'LABEL','ID_CENTER','en','center','2014-09-18') ,
( 'LABEL','ID_RIGHT','en','right','2014-09-18') ;
INSERT INTO ISO_LOCATION (IC_UID,IL_UID,IL_NAME,IL_NORMAL_NAME,IS_UID) VALUES
('AD','','',' ','') ,

View File

@@ -2103,3 +2103,66 @@ CREATE TABLE `APP_TIMEOUT_ACTION_EXECUTED`
`EXECUTION_DATE` DATETIME,
PRIMARY KEY (`APP_UID`)
)ENGINE=InnoDB DEFAULT CHARSET='utf8';
#-----------------------------------------------------------------------------
#-- ADDONS_STORE
#-----------------------------------------------------------------------------
DROP TABLE IF EXISTS `ADDONS_STORE`;
CREATE TABLE `ADDONS_STORE`
(
`STORE_ID` VARCHAR(32) NOT NULL,
`STORE_VERSION` INTEGER,
`STORE_LOCATION` VARCHAR(2048) NOT NULL,
`STORE_TYPE` VARCHAR(255) NOT NULL,
`STORE_LAST_UPDATED` DATETIME,
PRIMARY KEY (`STORE_ID`)
)ENGINE=MyISAM ;
#-----------------------------------------------------------------------------
#-- ADDONS_MANAGER
#-----------------------------------------------------------------------------
DROP TABLE IF EXISTS `ADDONS_MANAGER`;
CREATE TABLE `ADDONS_MANAGER`
(
`ADDON_ID` VARCHAR(255) NOT NULL,
`STORE_ID` VARCHAR(32) NOT NULL,
`ADDON_NAME` VARCHAR(255) NOT NULL,
`ADDON_NICK` VARCHAR(255) NOT NULL,
`ADDON_DOWNLOAD_FILENAME` VARCHAR(1024),
`ADDON_DESCRIPTION` VARCHAR(2048),
`ADDON_STATE` VARCHAR(255) NOT NULL,
`ADDON_STATE_CHANGED` DATETIME,
`ADDON_STATUS` VARCHAR(255) NOT NULL,
`ADDON_VERSION` VARCHAR(255) NOT NULL,
`ADDON_TYPE` VARCHAR(255) NOT NULL,
`ADDON_PUBLISHER` VARCHAR(255),
`ADDON_RELEASE_DATE` DATETIME,
`ADDON_RELEASE_TYPE` VARCHAR(255),
`ADDON_RELEASE_NOTES` VARCHAR(255),
`ADDON_DOWNLOAD_URL` VARCHAR(2048),
`ADDON_DOWNLOAD_PROGRESS` FLOAT,
`ADDON_DOWNLOAD_MD5` VARCHAR(32),
PRIMARY KEY (`ADDON_ID`,`STORE_ID`)
)ENGINE=MyISAM DEFAULT CHARSET='utf8' COMMENT='Addons manager';
#-----------------------------------------------------------------------------
#-- LICENSE_MANAGER
#-----------------------------------------------------------------------------
DROP TABLE IF EXISTS `LICENSE_MANAGER`;
CREATE TABLE IF NOT EXISTS `LICENSE_MANAGER` (
`LICENSE_UID` varchar(32) NOT NULL DEFAULT '',
`LICENSE_USER` varchar(150) NOT NULL DEFAULT '0',
`LICENSE_START` int(11) NOT NULL DEFAULT '0',
`LICENSE_END` int(11) NOT NULL DEFAULT '0',
`LICENSE_SPAN` int(11) NOT NULL DEFAULT '0',
`LICENSE_STATUS` varchar(100) DEFAULT '',
`LICENSE_DATA` mediumtext NOT NULL,
`LICENSE_PATH` varchar(255) NOT NULL DEFAULT '0',
`LICENSE_WORKSPACE` varchar(32) NOT NULL DEFAULT '0',
`LICENSE_TYPE` varchar(32) NOT NULL DEFAULT '0',
PRIMARY KEY (`LICENSE_UID`)
)ENGINE=MyISAM DEFAULT CHARSET='utf8' COMMENT='Licenses Manager';

View File

@@ -109,6 +109,7 @@ require_once PATH_CORE . 'methods' . PATH_SEP . 'enterprise' . PATH_SEP . 'enter
$enterprise = new enterprisePlugin('enterprise');
if (!file_exists(PATH_DATA_SITE . "plugin.singleton")) {
$enterprise->install();
$enterprise->enable();
}
$enterprise->setup();

View File

@@ -33,7 +33,7 @@ try {
$confReassignList = getReassignList();
// evaluates an action and the configuration for the list that will be rendered
$config = getAdditionalFields( $action, (class_exists( 'enterprisePlugin' ) ? $confCasesList : array ()) );
$config = getAdditionalFields( $action, $confCasesList );
$columns = $config['caseColumns'];
$readerFields = $config['caseReaderFields'];
$reassignColumns = $confReassignList['caseColumns'];

View File

@@ -0,0 +1,19 @@
<?php
global $RBAC;
if ($RBAC->userCanAccess("PM_SETUP") != 1 || $RBAC->userCanAccess("PM_SETUP_ADVANCE") != 1) {
G::SendTemporalMessage("ID_USER_HAVENT_RIGHTS_PAGE", "error", "labels");
exit(0);
}
$availableFields = array();
$oHeadPublisher = &headPublisher::getSingleton();
$oHeadPublisher->addExtJsScript( 'cases/casesListSetup', false ); //adding a javascript file .js
$oHeadPublisher->addContent( 'cases/casesListSetup' ); //adding a html file .html.
$oHeadPublisher->assignNumber("pageSize", 20); //sending the page size
$oHeadPublisher->assignNumber("availableFields", G::json_encode($availableFields));
G::RenderPage("publish", "extJs");

View File

@@ -0,0 +1,758 @@
<?php
/**
* Method defined and copied from processmaker/workflow/engine/classes/class.configuration.php
*
*/
function casesListDefaultFieldsAndConfig($action, $translation = 1)
{
$caseColumns = array();
$caseReaderFields = array();
switch ($action) {
case "draft":
$caseColumns[] = array("header" => "#", "dataIndex" => "APP_NUMBER", "width" => 45, "align" => "center");
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_SUMMARY") : "**ID_SUMMARY**", "dataIndex" => "CASE_SUMMARY", "width" => 45, "align" => "center", "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CASES_NOTES") : "**ID_CASES_NOTES**", "dataIndex" => "CASE_NOTES_COUNT", "width" => 45, "align" => "center", "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CASE") : "**ID_CASE**", "dataIndex" => "APP_TITLE", "width" => 150);
$caseColumns[] = array("header" => "UserUid", "dataIndex" => "USR_UID", "width" => 50, "hidden" => true, "hideable" => false);
$caseColumns[] = array("header" => "PreUsrUid", "dataIndex" => "PREVIOUS_USR_UID", "width" => 50, "hidden" => true, "hideable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_PROCESS") : "**ID_PROCESS**", "dataIndex" => "APP_PRO_TITLE", "width" => 120);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_TASK") : "**ID_TASK**", "dataIndex" => "APP_TAS_TITLE", "width" => 120);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_DUE_DATE") : "**ID_DUE_DATE**", "dataIndex" => "DEL_TASK_DUE_DATE", "width" => 110);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_LAST_MODIFY") : "**ID_LAST_MODIFY**", "dataIndex" => "APP_UPDATE_DATE", "width" => 110);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_PRIORITY") : "**ID_PRIORITY**", "dataIndex" => "DEL_PRIORITY", "width" => 50);
$caseReaderFields[] = array("name" => "APP_UID");
$caseReaderFields[] = array("name" => "USR_UID");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_UID");
$caseReaderFields[] = array("name" => "APP_NUMBER");
$caseReaderFields[] = array("name" => "APP_STATUS");
$caseReaderFields[] = array("name" => "DEL_INDEX");
$caseReaderFields[] = array("name" => "APP_TITLE");
$caseReaderFields[] = array("name" => "APP_PRO_TITLE");
$caseReaderFields[] = array("name" => "APP_TAS_TITLE");
$caseReaderFields[] = array("name" => "APP_DEL_PREVIOUS_USER");
$caseReaderFields[] = array("name" => "APP_CURRENT_USER");
$caseReaderFields[] = array("name" => "DEL_TASK_DUE_DATE");
$caseReaderFields[] = array("name" => "APP_UPDATE_DATE");
$caseReaderFields[] = array("name" => "DEL_PRIORITY");
$caseReaderFields[] = array("name" => "APP_STATUS");
$caseReaderFields[] = array("name" => "APP_FINISH_DATE");
$caseReaderFields[] = array("name" => "CASE_SUMMARY");
$caseReaderFields[] = array("name" => "CASE_NOTES_COUNT");
break;
case "paused":
$caseColumns[] = array("header" => "#", "dataIndex" => "APP_NUMBER", "width" => 45, "align" => "center");
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_SUMMARY") : "**ID_SUMMARY**", "dataIndex" => "CASE_SUMMARY", "width" => 45, "align" => "center", "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CASES_NOTES") : "**ID_CASES_NOTES**", "dataIndex" => "CASE_NOTES_COUNT", "width" => 45, "align" => "center", "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CASE") : "**ID_CASE**", "dataIndex" => "APP_TITLE", "width" => 150);
$caseColumns[] = array("header" => "UserUid", "dataIndex" => "USR_UID", "width" => 50, "hidden" => true, "hideable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_PROCESS") : "**ID_PROCESS**", "dataIndex" => "APP_PRO_TITLE", "width" => 120);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_TASK") : "**ID_TASK**", "dataIndex" => "APP_TAS_TITLE", "width" => 120);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_SENT_BY") : "**ID_SENT_BY**", "dataIndex" => "APP_DEL_PREVIOUS_USER", "width" => 90);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_LAST_MODIFY") : "**ID_LAST_MODIFY**", "dataIndex" => "APP_UPDATE_DATE", "width" => 80);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_THREAD_INDEX") : "**ID_THREAD_INDEX**", "dataIndex" => "APP_THREAD_INDEX", "width" => 80);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_DEL_INDEX") : "**ID_DEL_INDEX**", "dataIndex" => "DEL_INDEX", "width" => 80);
$caseReaderFields[] = array("name" => "APP_UID");
$caseReaderFields[] = array("name" => "USR_UID");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_UID");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_FIRSTNAME");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_LASTNAME");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_USERNAME");
$caseReaderFields[] = array("name" => "APP_NUMBER");
$caseReaderFields[] = array("name" => "APP_STATUS");
$caseReaderFields[] = array("name" => "DEL_INDEX");
$caseReaderFields[] = array("name" => "APP_TITLE");
$caseReaderFields[] = array("name" => "APP_PRO_TITLE");
$caseReaderFields[] = array("name" => "APP_TAS_TITLE");
$caseReaderFields[] = array("name" => "APP_DEL_PREVIOUS_USER");
$caseReaderFields[] = array("name" => "APP_CURRENT_USER");
$caseReaderFields[] = array("name" => "DEL_TASK_DUE_DATE");
$caseReaderFields[] = array("name" => "APP_UPDATE_DATE");
$caseReaderFields[] = array("name" => "DEL_PRIORITY");
$caseReaderFields[] = array("name" => "APP_STATUS");
$caseReaderFields[] = array("name" => "APP_FINISH_DATE");
$caseReaderFields[] = array("name" => "APP_THREAD_INDEX");
$caseReaderFields[] = array("name" => "CASE_SUMMARY");
$caseReaderFields[] = array("name" => "CASE_NOTES_COUNT");
break;
case "unassigned":
$caseColumns[] = array("header" => "#", "dataIndex" => "APP_NUMBER", "width" => 40, "align" => "left");
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_SUMMARY") : "**ID_SUMMARY**", "dataIndex" => "CASE_SUMMARY", "width" => 45, "align" => "center", "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CASES_NOTES") : "**ID_CASES_NOTES**", "dataIndex" => "CASE_NOTES_COUNT", "width" => 45, "align" => "center", "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CASE") : "**ID_CASE**", "dataIndex" => "APP_TITLE", "width" => 150);
$caseColumns[] = array("header" => "UserUid", "dataIndex" => "USR_UID", "width" => 50, "hidden" => true, "hideable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_PROCESS") : "**ID_PROCESS**", "dataIndex" => "APP_PRO_TITLE", "width" => 120);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_TASK") : "**ID_TASK**", "dataIndex" => "APP_TAS_TITLE", "width" => 120);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_SENT_BY") : "**ID_SENT_BY**", "dataIndex" => "APP_DEL_PREVIOUS_USER", "width" => 90);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_DUE_DATE") : "**ID_DUE_DATE**", "dataIndex" => "DEL_TASK_DUE_DATE", "width" => 110);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_LAST_MODIFY") : "**ID_LAST_MODIFY**", "dataIndex" => "APP_UPDATE_DATE", "width" => 80);
//$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_COMPLETED_BY_USER") : "**ID_COMPLETED_BY_USER**", "dataIndex" => "APP_CURRENT_USER", "width" => 110);
//$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_FINISH_DATE") : "**ID_FINISH_DATE**", "dataIndex" => "APP_FINISH_DATE", "width" => 50);
$caseReaderFields[] = array("name" => "APP_UID");
$caseReaderFields[] = array("name" => "USR_UID");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_UID");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_FIRSTNAME");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_LASTNAME");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_USERNAME");
$caseReaderFields[] = array("name" => "APP_NUMBER");
$caseReaderFields[] = array("name" => "APP_STATUS");
$caseReaderFields[] = array("name" => "DEL_INDEX");
$caseReaderFields[] = array("name" => "APP_TITLE");
$caseReaderFields[] = array("name" => "APP_PRO_TITLE");
$caseReaderFields[] = array("name" => "APP_TAS_TITLE");
$caseReaderFields[] = array("name" => "APP_DEL_PREVIOUS_USER");
$caseReaderFields[] = array("name" => "APP_CURRENT_USER");
$caseReaderFields[] = array("name" => "DEL_TASK_DUE_DATE");
$caseReaderFields[] = array("name" => "APP_UPDATE_DATE");
$caseReaderFields[] = array("name" => "DEL_PRIORITY");
$caseReaderFields[] = array("name" => "APP_STATUS");
$caseReaderFields[] = array("name" => "APP_FINISH_DATE");
$caseReaderFields[] = array("name" => "CASE_SUMMARY");
$caseReaderFields[] = array("name" => "CASE_NOTES_COUNT");
break;
case "sent":
case "participated":
$caseColumns[] = array("header" => "#", "dataIndex" => "APP_NUMBER", "width" => 45, "align" => "center");
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_SUMMARY") : "**ID_SUMMARY**", "dataIndex" => "CASE_SUMMARY", "width" => 45, "align" => "center", "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CASES_NOTES") : "**ID_CASES_NOTES**", "dataIndex" => "CASE_NOTES_COUNT", "width" => 45, "align" => "center", "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CASE") : "**ID_CASE**", "dataIndex" => "APP_TITLE", "width" => 150);
$caseColumns[] = array("header" => "UserUid", "dataIndex" => "USR_UID", "width" => 50, "hidden" => true, "hideable" => false);
$caseColumns[] = array("header" => "PreUsrUid", "dataIndex" => "PREVIOUS_USR_UID", "width" => 50, "hidden" => true, "hideable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_PROCESS") : "**ID_PROCESS**", "dataIndex" => "APP_PRO_TITLE", "width" => 120);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_TASK") : "**ID_TASK**", "dataIndex" => "APP_TAS_TITLE", "width" => 120);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_LAST_MODIFY") : "**ID_LAST_MODIFY**", "dataIndex" => "APP_UPDATE_DATE", "width" => 80);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_STATUS") : "**ID_STATUS**", "dataIndex" => "APP_STATUS", "width" => 50);
$caseReaderFields[] = array("name" => "APP_UID");
$caseReaderFields[] = array("name" => "USR_UID");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_UID");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_FIRSTNAME");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_LASTNAME");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_USERNAME");
$caseReaderFields[] = array("name" => "APP_NUMBER");
$caseReaderFields[] = array("name" => "APP_STATUS");
$caseReaderFields[] = array("name" => "DEL_INDEX");
$caseReaderFields[] = array("name" => "APP_TITLE");
$caseReaderFields[] = array("name" => "APP_PRO_TITLE");
$caseReaderFields[] = array("name" => "APP_TAS_TITLE");
$caseReaderFields[] = array("name" => "APP_DEL_PREVIOUS_USER");
$caseReaderFields[] = array("name" => "APP_CURRENT_USER");
$caseReaderFields[] = array("name" => "DEL_TASK_DUE_DATE");
$caseReaderFields[] = array("name" => "APP_UPDATE_DATE");
$caseReaderFields[] = array("name" => "DEL_PRIORITY");
$caseReaderFields[] = array("name" => "APP_STATUS");
$caseReaderFields[] = array("name" => "APP_FINISH_DATE");
$caseReaderFields[] = array("name" => "CASE_SUMMARY");
$caseReaderFields[] = array("name" => "CASE_NOTES_COUNT");
break;
case "search":
case "simple_search":
$caseColumns[] = array("header" => "#", "dataIndex" => "APP_NUMBER", "width" => 45, "align" => "center");
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_SUMMARY") : "**ID_SUMMARY**", "dataIndex" => "CASE_SUMMARY", "width" => 45, "align" => "center", "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CASES_NOTES") : "**ID_CASES_NOTES**", "dataIndex" => "CASE_NOTES_COUNT", "width" => 45, "align" => "center", "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CASE") : "**ID_CASE**", "dataIndex" => "APP_TITLE", "width" => 100);
$caseColumns[] = array("header" => "UserUid", "dataIndex" => "USR_UID", "width" => 50, "hidden" => true, "hideable" => false);
$caseColumns[] = array("header" => "PreUsrUid", "dataIndex" => "PREVIOUS_USR_UID", "width" => 50, "hidden" => true, "hideable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_TASK") : "**ID_TASK**", "dataIndex" => "APP_TAS_TITLE", "width" => 120);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_PROCESS") : "**ID_PROCESS**", "dataIndex" => "APP_PRO_TITLE", "width" => 120);
//$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_SENT_BY") : "**ID_SENT_BY**", "dataIndex" => "APP_DEL_PREVIOUS_USER", "width" => 120 );
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CURRENT_USER") : "**ID_CURRENT_USER**", "dataIndex" => "APP_CURRENT_USER", "width" => 120, "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_LAST_MODIFY") : "**ID_LAST_MODIFY**", "dataIndex" => "APP_UPDATE_DATE", "width" => 80);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_DELEGATION_DATE") : "**ID_DELEGATION_DATE**", "dataIndex" => "DEL_DELEGATE_DATE", "width" => 80);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_DUE_DATE") : "**ID_DUE_DATE**", "dataIndex" => "DEL_TASK_DUE_DATE", "width" => 80);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_STATUS") : "**ID_STATUS**", "dataIndex" => "APP_STATUS", "width" => 50);
$caseReaderFields[] = array("name" => "APP_UID");
$caseReaderFields[] = array("name" => "USR_UID");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_UID");
$caseReaderFields[] = array("name" => "APP_NUMBER");
$caseReaderFields[] = array("name" => "APP_STATUS");
$caseReaderFields[] = array("name" => "DEL_INDEX");
$caseReaderFields[] = array("name" => "APP_TITLE");
$caseReaderFields[] = array("name" => "APP_PRO_TITLE");
$caseReaderFields[] = array("name" => "APP_TAS_TITLE");
$caseReaderFields[] = array("name" => "APP_DEL_PREVIOUS_USER");
$caseReaderFields[] = array("name" => "APP_CURRENT_USER");
$caseReaderFields[] = array("name" => "DEL_TASK_DUE_DATE");
$caseReaderFields[] = array("name" => "APP_UPDATE_DATE");
$caseReaderFields[] = array("name" => "DEL_DELEGATE_DATE");
$caseReaderFields[] = array("name" => "DEL_PRIORITY");
$caseReaderFields[] = array("name" => "APP_STATUS");
$caseReaderFields[] = array("name" => "APP_FINISH_DATE");
$caseReaderFields[] = array("name" => "CASE_SUMMARY");
$caseReaderFields[] = array("name" => "CASE_NOTES_COUNT");
break;
case "to_revise":
$caseColumns[] = array("header" => "#", "dataIndex" => "APP_NUMBER", "width" => 45, "align" => "center");
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_SUMMARY") : "**ID_SUMMARY**", "dataIndex" => "CASE_SUMMARY", "width" => 45, "align" => "center", "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CASES_NOTES") : "**ID_CASES_NOTES**", "dataIndex" => "CASE_NOTES_COUNT", "width" => 45, "align" => "center", "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CASE") : "**ID_CASE**", "dataIndex" => "APP_TITLE", "width" => 150);
$caseColumns[] = array("header" => "UserUid", "dataIndex" => "USR_UID", "width" => 50,"hidden" => true, "hideable" => false);
$caseColumns[] = array("header" => "PreUsrUid", "dataIndex" => "PREVIOUS_USR_UID", "width" => 50, "hidden" => true, "hideable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_PROCESS") : "**ID_PROCESS**", "dataIndex" => "APP_PRO_TITLE", "width" => 120);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_TASK") : "**ID_TASK**", "dataIndex" => "APP_TAS_TITLE", "width" => 120);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_SENT_BY") : "**ID_SENT_BY**", "dataIndex" => "APP_DEL_PREVIOUS_USER", "width" => 90);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CURRENT_USER") : "**ID_CURRENT_USER**", "dataIndex" => "APP_CURRENT_USER", "width" => 90, "sortable" => false);
//$caseColumns[] = array("header" => "Sent By", "dataIndex" => "APP_DEL_PREVIOUS_USER", "width" => 90);
//$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_LAST_MODIFY") : "**ID_LAST_MODIFY**", "dataIndex" => "APP_UPDATE_DATE", "width" => 110);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_PRIORITY") : "**ID_PRIORITY**", "dataIndex" => "DEL_PRIORITY", "width" => 50);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_STATUS") : "**ID_STATUS**", "dataIndex" => "APP_STATUS", "width" => 50);
$caseReaderFields[] = array("name" => "APP_UID");
$caseReaderFields[] = array("name" => "USR_UID");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_UID");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_FIRSTNAME");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_LASTNAME");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_USERNAME");
$caseReaderFields[] = array("name" => "APP_NUMBER");
$caseReaderFields[] = array("name" => "DEL_INDEX");
$caseReaderFields[] = array("name" => "APP_TITLE");
$caseReaderFields[] = array("name" => "APP_PRO_TITLE");
$caseReaderFields[] = array("name" => "APP_TAS_TITLE");
//$caseReaderFields[] = array("name" => "APP_DEL_PREVIOUS_USER");
$caseReaderFields[] = array("name" => "APP_CURRENT_USER");
$caseReaderFields[] = array("name" => "DEL_TASK_DUE_DATE");
$caseReaderFields[] = array("name" => "APP_UPDATE_DATE");
$caseReaderFields[] = array("name" => "DEL_PRIORITY");
$caseReaderFields[] = array("name" => "APP_STATUS");
$caseReaderFields[] = array("name" => "APP_FINISH_DATE");
$caseReaderFields[] = array("name" => "APP_DEL_PREVIOUS_USER");
$caseReaderFields[] = array("name" => "CASE_SUMMARY");
$caseReaderFields[] = array("name" => "CASE_NOTES_COUNT");
break;
case "to_reassign":
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_SUMMARY") : "**ID_SUMMARY**", "dataIndex" => "CASE_SUMMARY", "width" => 45, "align" => "center", "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CASES_NOTES") : "**ID_CASES_NOTES**", "dataIndex" => "CASE_NOTES_COUNT", "width" => 45, "align" => "center", "sortable" => false);
$caseColumns[] = array("header" => "UserUid", "dataIndex" => "USR_UID", "width" => 50, "hidden" => true, "hideable" => false);
$caseColumns[] = array("header" => "PreUsrUid", "dataIndex" => "PREVIOUS_USR_UID", "width" => 50, "hidden" => true, "hideable" => false);
$caseColumns[] = array("header" => "#", "dataIndex" => "APP_NUMBER", "width" => 45, "align" => "center");
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CASE") : "**ID_CASE**", "dataIndex" => "APP_TITLE", "width" => 150);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_PROCESS") : "**ID_PROCESS**", "dataIndex" => "APP_PRO_TITLE", "width" => 120);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_TASK") : "**ID_TASK**", "dataIndex" => "APP_TAS_TITLE", "width" => 120);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CURRENT_USER") : "**ID_CURRENT_USER**", "dataIndex" => "APP_CURRENT_USER", "width" => 90, "sortable" => false);
//$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_SENT_BY") : "**ID_SENT_BY**", "dataIndex" => "APP_DEL_PREVIOUS_USER", "width" => 90);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_LAST_MODIFY") : "**ID_LAST_MODIFY**", "dataIndex" => "APP_UPDATE_DATE", "width" => 110);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_STATUS") : "**ID_STATUS**", "dataIndex" => "APP_STATUS", "width" => 50);
$caseReaderFields[] = array("name" => "TAS_UID");
$caseReaderFields[] = array("name" => "DEL_INDEX");
$caseReaderFields[] = array("name" => "APP_UID");
$caseReaderFields[] = array("name" => "USR_UID");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_UID");
$caseReaderFields[] = array("name" => "APP_NUMBER");
$caseReaderFields[] = array("name" => "APP_TITLE");
$caseReaderFields[] = array("name" => "APP_TAS_TITLE");
$caseReaderFields[] = array("name" => "APP_PRO_TITLE");
$caseReaderFields[] = array("name" => "APP_CURRENT_USER");
//$caseReaderFields[] = array("name" => "APP_DEL_PREVIOUS_USER");
$caseReaderFields[] = array("name" => "APP_UPDATE_DATE");
$caseReaderFields[] = array("name" => "APP_STATUS");
$caseReaderFields[] = array("name" => "CASE_SUMMARY");
$caseReaderFields[] = array("name" => "CASE_NOTES_COUNT");
break;
case "gral":
$caseColumns[] = array("header" => "#", "dataIndex" => "APP_NUMBER", "width" => 45, "align" => "center");
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_SUMMARY") : "**ID_SUMMARY**", "dataIndex" => "CASE_SUMMARY", "width" => 45, "align" => "center", "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CASES_NOTES") : "**ID_CASES_NOTES**", "dataIndex" => "CASE_NOTES_COUNT", "width" => 45, "align" => "center", "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CASE") : "**ID_CASE**", "dataIndex" => "APP_TITLE", "width" => 150);
$caseColumns[] = array("header" => "UserUid", "dataIndex" => "USR_UID", "width" => 50, "hidden" => true, "hideable" => false);
$caseColumns[] = array("header" => "PreUsrUid", "dataIndex" => "PREVIOUS_USR_UID", "width" => 50, "hidden" => true, "hideable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_TASK") : "**ID_TASK**", "dataIndex" => "APP_TAS_TITLE", "width" => 120);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_PROCESS") : "**ID_PROCESS**", "dataIndex" => "APP_PRO_TITLE", "width" => 120);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CURRENT_USER") : "**ID_CURRENT_USER**", "dataIndex" => "APP_CURRENT_USER", "width" => 90, "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_SENT_BY") : "**ID_SENT_BY**", "dataIndex" => "APP_DEL_PREVIOUS_USER", "width" => 90);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_LAST_MODIFY") : "**ID_LAST_MODIFY**", "dataIndex" => "APP_UPDATE_DATE", "width" => 110);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_STATUS") : "**ID_STATUS**", "dataIndex" => "APP_STATUS", "width" => 50);
$caseReaderFields[] = array("name" => "APP_UID");
$caseReaderFields[] = array("name" => "USR_UID");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_UID");
$caseReaderFields[] = array("name" => "APP_NUMBER");
$caseReaderFields[] = array("name" => "APP_TITLE");
$caseReaderFields[] = array("name" => "APP_TAS_TITLE");
$caseReaderFields[] = array("name" => "APP_PRO_TITLE");
$caseReaderFields[] = array("name" => "APP_CURRENT_USER");
$caseReaderFields[] = array("name" => "APP_DEL_PREVIOUS_USER");
$caseReaderFields[] = array("name" => "APP_UPDATE_DATE");
$caseReaderFields[] = array("name" => "APP_STATUS");
$caseReaderFields[] = array("name" => "CASE_SUMMARY");
$caseReaderFields[] = array("name" => "CASE_NOTES_COUNT");
break;
case "todo":
default:
//todo
$caseColumns[] = array("header" => "#", "dataIndex" => "APP_NUMBER", "width" => 45, "align" => "center");
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_SUMMARY") : "**ID_SUMMARY**", "dataIndex" => "CASE_SUMMARY", "width" => 45, "align" => "center", "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CASES_NOTES") : "**ID_CASES_NOTES**", "dataIndex" => "CASE_NOTES_COUNT", "width" => 45, "align" => "center", "sortable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_CASE") : "**ID_CASE**", "dataIndex" => "APP_TITLE", "width" => 150);
$caseColumns[] = array("header" => "UserUid", "dataIndex" => "USR_UID", "width" => 50, "hidden" => true, "hideable" => false);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_PROCESS") : "**ID_PROCESS**", "dataIndex" => "APP_PRO_TITLE", "width" => 120);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_TASK") : "**ID_TASK**", "dataIndex" => "APP_TAS_TITLE", "width" => 120);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_SENT_BY") : "**ID_SENT_BY**", "dataIndex" => "APP_DEL_PREVIOUS_USER", "width" => 90);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_DUE_DATE") : "**ID_DUE_DATE**", "dataIndex" => "DEL_TASK_DUE_DATE", "width" => 110);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_LAST_MODIFY") : "**ID_LAST_MODIFY**", "dataIndex" => "APP_UPDATE_DATE", "width" => 110);
$caseColumns[] = array("header" => ($translation == 1)? G::LoadTranslation("ID_PRIORITY") : "**ID_PRIORITY**", "dataIndex" => "DEL_PRIORITY", "width" => 50);
$caseReaderFields[] = array("name" => "APP_UID");
$caseReaderFields[] = array("name" => "USR_UID");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_UID");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_FIRSTNAME");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_LASTNAME");
$caseReaderFields[] = array("name" => "PREVIOUS_USR_USERNAME");
$caseReaderFields[] = array("name" => "DEL_INDEX");
$caseReaderFields[] = array("name" => "APP_NUMBER");
$caseReaderFields[] = array("name" => "APP_TITLE");
$caseReaderFields[] = array("name" => "APP_PRO_TITLE");
$caseReaderFields[] = array("name" => "APP_TAS_TITLE");
$caseReaderFields[] = array("name" => "APP_DEL_PREVIOUS_USER");
$caseReaderFields[] = array("name" => "DEL_TASK_DUE_DATE");
$caseReaderFields[] = array("name" => "APP_UPDATE_DATE");
$caseReaderFields[] = array("name" => "DEL_PRIORITY");
$caseReaderFields[] = array("name" => "APP_FINISH_DATE");
$caseReaderFields[] = array("name" => "APP_CURRENT_USER");
$caseReaderFields[] = array("name" => "APP_STATUS");
$caseReaderFields[] = array("name" => "CASE_SUMMARY");
$caseReaderFields[] = array("name" => "CASE_NOTES_COUNT");
break;
}
return array("caseColumns" => $caseColumns, "caseReaderFields" => $caseReaderFields, "rowsperpage" => 20, "dateformat" => "M d, Y");
}
function getDefaultConfig($action, $translation)
{
$config = new Configurations();
if (method_exists($config, "casesListDefaultFieldsAndConfig")) {
$arrayConfig = $config->casesListDefaultFieldsAndConfig($action, $translation);
} else {
$arrayConfig = casesListDefaultFieldsAndConfig($action, $translation);
}
return $arrayConfig;
}
function getDefaultFields($action, $translation)
{
$config = new Configurations();
if (method_exists($config, "casesListDefaultFieldsAndConfig")) {
$arrayConfig = $config->casesListDefaultFieldsAndConfig($action, $translation);
} else {
$arrayConfig = casesListDefaultFieldsAndConfig($action, $translation);
}
//Table APP_DELAY, fields
$appDelayField = array(
"APP_DELAY_UID",
//"PRO_UID",
//"APP_UID",
"APP_THREAD_INDEX",
"APP_DEL_INDEX",
"APP_TYPE",
//"APP_STATUS",
"APP_NEXT_TASK",
"APP_DELEGATION_USER",
"APP_ENABLE_ACTION_USER",
"APP_ENABLE_ACTION_DATE",
"APP_DISABLE_ACTION_USER",
"APP_DISABLE_ACTION_DATE",
"APP_AUTOMATIC_DISABLED_DATE"
);
$arrayField = array();
//Required fields for AppCacheView.php - addPMFieldsToCriteria()
$arrayField[] = array("name" => "APP_UID", "fieldType" => "key", "label" => ($translation == 1)? G::LoadTranslation("ID_CASESLIST_APP_UID") : "**ID_CASESLIST_APP_UID**", "align" => "left", "width" => 80);
$arrayField[] = array("name" => "DEL_INDEX", "fieldType" => "key" , "label" => ($translation == 1)? G::LoadTranslation("ID_CASESLIST_DEL_INDEX") : "**ID_CASESLIST_DEL_INDEX**", "align" => "left", "width" => 50);
$arrayField[] = array("name" => "USR_UID", "fieldType" => "case field", "label" => ($translation == 1)? G::LoadTranslation("ID_CASESLIST_USR_UID") : "**ID_CASESLIST_USR_UID**", "align" => "left", "width" => 100);
$arrayField[] = array("name" => "PREVIOUS_USR_UID", "fieldType" => "case field" , "label" => ($translation == 1)? G::LoadTranslation("ID_CASESLIST_PREVIOUS_USR_UID") : "**ID_CASESLIST_PREVIOUS_USR_UID**", "align" => "left", "width" => 100);
if (count($arrayConfig["caseColumns"]) > 0) {
foreach ($arrayConfig["caseColumns"] as $index1 => $value1) {
if (!isset($value1["hidden"])) {
$arrayAux1 = $value1;
$arrayAux2 = array();
foreach ($arrayAux1 as $index2 => $value2) {
$indexAux = $index2;
switch ($index2) {
case "dataIndex":
$indexAux = "name";
break;
case "header":
$indexAux = "label";
break;
}
$arrayAux2[$indexAux] = $value2;
}
$arrayAux2["fieldType"] = (!in_array($arrayAux2["name"], $appDelayField))? "case field" : "delay field";
$arrayAux2["align"] = (isset($arrayAux2["align"]))? $arrayAux2["align"] : "left";
$arrayAux2["width"] = (isset($arrayAux2["width"]))? intval($arrayAux2["width"]): 100;
$arrayField[] = $arrayAux2;
}
}
}
$arrayField = calculateGridIndex($arrayField);
return $arrayField;
}
function setAvailableFields($arrayAvailableField, $arrayField)
{
$i = 0;
$arrayFieldResult = array();
foreach ($arrayAvailableField as $index1 => $value1) {
$fieldType = "PM Table";
foreach ($arrayField as $index2 => $value2) {
if ($value2["name"] == $value1) {
$fieldType = $value2["fieldType"];
break;
}
}
$arrayFieldResult[$i] = array("name" => $value1, "gridIndex" => $i, "fieldType" => $fieldType);
$i = $i + 1;
}
return $arrayFieldResult;
}
function setCasesListFields($arrayCasesListField, $arrayField)
{
$i = 0;
$arrayFieldResult = array();
foreach ($arrayCasesListField as $index1 => $value1) {
$fieldName = $value1->name;
$fieldTypeAux = "PM Table";
$fieldLabelAux = $fieldName;
$fieldAlignAux = "left";
$fieldWidthAux = 100;
foreach ($arrayField as $index2 => $value2) {
if ($value2["name"] == $fieldName) {
$fieldTypeAux = $value2["fieldType"];
$fieldLabelAux = $value2["label"];
$fieldAlignAux = $value2["align"];
$fieldWidthAux = $value2["width"];
break;
}
}
$fieldType = $fieldTypeAux;
$fieldLabel = (isset($value1->label) && trim($value1->label) != "")? $value1->label : $fieldLabelAux;
$fieldAlign = (isset($value1->align) && trim($value1->align) != "")? $value1->align : $fieldAlignAux;
$fieldWidth = (isset($value1->width) && trim($value1->width) != "")? intval($value1->width) : $fieldWidthAux;
$arrayFieldResult[$i] = array("name" => $fieldName, "gridIndex" => $i, "fieldType" => $fieldType, "label" => $fieldLabel, "align" => $fieldAlign, "width" => $fieldWidth);
$i = $i + 1;
}
return $arrayFieldResult;
}
function fieldSet()
{
global $conf;
global $confCasesList;
global $action;
if (is_array($confCasesList)) {
$validConfig = isset($confCasesList["first"]) && isset($confCasesList["second"]);
} else {
$validConfig = false;
}
if (!$validConfig) {
$arrayField = getDefaultFields($action, 0);
$arrayConfig = getDefaultConfig($action, 0);
$result = genericJsonResponse("", array(), $arrayField, $arrayConfig["rowsperpage"], $arrayConfig["dateformat"]);
$conf->saveObject($result, "casesList", $action, "", "", "");
echo G::json_encode($result);
} else {
echo G::json_encode($confCasesList);
}
}
function fieldReset($translation)
{
global $action;
$arrayField = getDefaultFields($action, $translation);
$arrayConfig = getDefaultConfig($action, $translation);
$result = genericJsonResponse("", array(), $arrayField, $arrayConfig["rowsperpage"], $arrayConfig["dateformat"]);
echo G::json_encode($result);
}
function fieldComplete($translation)
{
global $action;
$arrayField = getDefaultFields($action, $translation);
$arrayConfig = getDefaultConfig($action, $translation);
//Get values from JSON request
$first = G::json_decode((isset($_POST["first"]))? $_POST["first"] : G::json_encode(array()));
$second = G::json_decode((isset($_POST["second"]))? $_POST["second"] : G::json_encode(array()));
$pmtable = (isset($_POST["pmtable"]))? $_POST["pmtable"] : "";
$rowsperpage = (isset($_POST["rowsperpage"]))? $_POST["rowsperpage"] : $arrayConfig["rowsperpage"];
$dateformat = (isset($_POST["dateformat"]) && !empty($_POST["dateformat"]))? $_POST["dateformat"] : $arrayConfig["dateformat"];
//Complete fields
foreach ($first as $index1 => $value1) {
$indexAux = 0;
$sw = 0;
foreach ($arrayField as $index2 => $value2) {
if ($value2["name"] == $value1) {
$indexAux = $index1;
$sw = 1;
break;
}
}
if ($sw == 1) {
unset($first[$indexAux]);
}
}
foreach ($arrayField as $index1 => $value1) {
$sw = 0;
foreach ($second as $index2 => $value2) {
if ($value2->name == $value1["name"]) {
$sw = 1;
break;
}
}
if ($sw == 0) {
$item = new stdClass();
$item->name = $value1["name"];
array_push($second, $item);
}
}
$arrayNewFirst = setAvailableFields($first, $arrayField);
$arrayNewSecond = setCasesListFields($second, $arrayField);
$result = genericJsonResponse($pmtable, $arrayNewFirst, $arrayNewSecond, $rowsperpage, $dateformat);
echo G::json_encode($result);
}
function fieldLabelReset($translation)
{
global $action;
$arrayField = getDefaultFields($action, $translation);
$arrayConfig = getDefaultConfig($action, $translation);
//Get values from JSON request
$first = G::json_decode((isset($_POST["first"]))? $_POST["first"] : G::json_encode(array()));
$second = G::json_decode((isset($_POST["second"]))? $_POST["second"] : G::json_encode(array()));
$pmtable = (isset($_POST["pmtable"]))? $_POST["pmtable"] : "";
$rowsperpage = (isset($_POST["rowsperpage"]))? $_POST["rowsperpage"] : $arrayConfig["rowsperpage"];
$dateformat = (isset($_POST["dateformat"]) && !empty($_POST["dateformat"]))? $_POST["dateformat"] : $arrayConfig["dateformat"];
//Reset label's fields
foreach ($second as $index1 => $value1) {
foreach ($arrayField as $index2 => $value2) {
if ($value2["name"] == $value1->name) {
$value1->label = $value2["label"];
break;
}
}
}
$arrayNewFirst = setAvailableFields($first, $arrayField);
$arrayNewSecond = setCasesListFields($second, $arrayField);
$result = genericJsonResponse($pmtable, $arrayNewFirst, $arrayNewSecond, $rowsperpage, $dateformat);
echo G::json_encode($result);
}
function fieldSave()
{
global $conf;
global $action;
$arrayField = getDefaultFields($action, 0);
$arrayConfig = getDefaultConfig($action, 0);
//Get values from JSON request
$first = G::json_decode((isset($_POST["first"]))? $_POST["first"] : G::json_encode(array()));
$second = G::json_decode((isset($_POST["second"]))? $_POST["second"] : G::json_encode(array()));
$pmtable = (isset($_POST["pmtable"]))? $_POST["pmtable"] : "";
$rowsperpage = (isset($_POST["rowsperpage"]))? $_POST["rowsperpage"] : $arrayConfig["rowsperpage"];
$dateformat = (isset($_POST["dateformat"]) && !empty($_POST["dateformat"]))? $_POST["dateformat"] : $arrayConfig["dateformat"];
//Adding the key fields to second array
//Required fields for AppCacheView.php - addPMFieldsToCriteria()
$appUid = new stdClass();
$appUid->name = "APP_UID";
$delIndex = new stdClass();
$delIndex->name = "DEL_INDEX";
$usrUid = new stdClass();
$usrUid->name = "USR_UID";
$previousUsrUid = new stdClass();
$previousUsrUid->name = "PREVIOUS_USR_UID";
array_unshift($second, $previousUsrUid);
array_unshift($second, $usrUid);
array_unshift($second, $delIndex);
array_unshift($second, $appUid);
$arrayNewFirst = setAvailableFields($first, $arrayField);
$arrayNewSecond = setCasesListFields($second, $arrayField);
$result = genericJsonResponse($pmtable, $arrayNewFirst, $arrayNewSecond, $rowsperpage, $dateformat);
$conf->saveObject($result, "casesList", $action, "", "", "");
echo G::json_encode($result);
}
require_once ("classes" . PATH_SEP . "model" . PATH_SEP . "Fields.php");
G::LoadClass("BasePeer");
G::LoadClass("configuration");
$callback = (isset($_POST["callback"]))? $_POST["callback"] : "stcCallback1001";
$dir = (isset($_POST["dir"]))? $_POST["dir"] : "DESC";
$sort = (isset($_POST["sort"]))? $_POST["sort"] : "";
$query = (isset($_POST["query"]))? $_POST["query"] : "";
$tabUid = (isset($_POST["table"]))? $_POST["table"] : "";
$action = (isset($_POST["action"]))? $_POST["action"] : "todo";
$xaction = (isset($_POST["xaction"]))? $_POST["xaction"] : "FIELD_SAVE";
try {
//Load the current configuration for this action, this configuration will be used later
$conf = new Configurations();
$confCasesList = $conf->loadObject("casesList", $action, "", "", "");
switch ($xaction) {
case "FIELD_SET":
if (isset($confCasesList['second']['data'])) {
foreach ($confCasesList['second']['data'] as $key => $value) {
$confCasesList['second']['data'][$key]['align_label'] = $confCasesList['second']['data'][$key]['align'];
}
}
fieldSet();
break;
case "FIELD_RESET":
case "FIELD_RESET_ID":
fieldReset(($xaction == "FIELD_RESET")? 1 : 0);
break;
case "FIELD_COMPLETE":
case "FIELD_COMPLETE_ID":
fieldComplete(($xaction == "FIELD_COMPLETE")? 1 : 0);
break;
case "FIELD_LABEL_RESET":
case "FIELD_LABEL_RESET_ID":
fieldLabelReset(($xaction == "FIELD_LABEL_RESET")? 1 : 0);
break;
case "FIELD_SAVE":
fieldSave();
break;
case "getFieldsFromPMTable":
xgetFieldsFromPMTable($tabUid);
break;
}
} catch (Exception $e) {
echo G::json_encode($e->getMessage());
}
/**
* set the generic Json Response, using two array for the grid stores and a string for the pmtable name
* @param string $pmtable
* @param array $first
* @param array $second
* @return $response a json string
*/
function genericJsonResponse($pmtable, $first, $second, $rowsperpage, $dateFormat)
{
$firstGrid['totalCount'] = count($first);
$firstGrid['data'] = $first;
$secondGrid['totalCount'] = count($second);
$secondGrid['data'] = $second;
$result = array();
$result['first'] = $firstGrid;
$result['second'] = $secondGrid;
$result['PMTable'] = isset($pmtable) ? $pmtable : '';
$result['rowsperpage'] = isset($rowsperpage) ? $rowsperpage : 20;
$result['dateformat'] = isset($dateFormat) && $dateFormat != '' ? $dateFormat : 'M d, Y';
return $result;
}
function xgetFieldsFromPMTable($tabUid)
{
$rows = array();
$result = array();
// $rows[] = array ( 'name' => 'val 1', 'gridIndex' => '21', 'fieldType' => 'PM Table' );
// $rows[] = array ( 'name' => 'val 2', 'gridIndex' => '22', 'fieldType' => 'PM Table' );
// $rows[] = array ( 'name' => 'val 3', 'gridIndex' => '23', 'fieldType' => 'PM Table' );
//$result['success'] = true;
//$result['totalCount'] = count($rows);
$oCriteria = new Criteria('workflow');
$oCriteria->clearSelectColumns ( );
$oCriteria->setDistinct();
$oCriteria->addSelectColumn ( FieldsPeer::FLD_NAME );
$oCriteria->addSelectColumn ( FieldsPeer::FLD_UID );
$oCriteria->addSelectColumn ( FieldsPeer::FLD_INDEX );
$oCriteria->add (FieldsPeer::ADD_TAB_UID, $tabUid , CRITERIA::EQUAL );
$oCriteria->add (FieldsPeer::FLD_NAME, 'APP_UID' , CRITERIA::NOT_EQUAL );
$oCriteria->addDescendingOrderByColumn('FLD_INDEX');
$oDataset = FieldsPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
$index = count($rows);
while ($aRow = $oDataset->getRow()) {
$aRow['index'] = ++$index;
$aTempRow['name'] = $aRow['FLD_NAME'];
$aTempRow['gridIndex'] = $aRow['index'];
$aTempRow['fieldType'] = 'PM Table';
$rows[] = $aTempRow;
$oDataset->next();
}
$result['data'] = $rows;
print G::json_encode( $result ) ;
}
/**
*
* @param Array $fields
* @return Array
*
*/
function calculateGridIndex($fields)
{
for ($i=0; $i<count( $fields ); $i++) {
$fields[$i]['gridIndex']=$i+1;
}
return ($fields);
}

View File

@@ -0,0 +1,65 @@
<?php
$callback = isset($_POST['callback']) ? $_POST['callback'] : 'stcCallback1001';
$dir = isset($_POST['dir']) ? $_POST['dir'] : 'DESC';
$sort = isset($_POST['sort']) ? $_POST['sort'] : '';
$query = isset($_POST['query']) ? $_POST['query'] : '';
$option = '';
if ( isset($_GET['t'] ) ) {
$option = $_GET['t'];
}
try {
G::LoadClass("BasePeer" );
require_once ( "classes/model/AdditionalTables.php" );
require_once ( "classes/model/Fields.php" );
$sUIDUserLogged = $_SESSION['USER_LOGGED'];
$oCriteria = new Criteria('workflow');
$oCriteria->clearSelectColumns ( );
$oCriteria->setDistinct();
$oCriteria->addSelectColumn ( AdditionalTablesPeer::ADD_TAB_UID );
$oCriteria->addSelectColumn ( AdditionalTablesPeer::ADD_TAB_NAME );
$oCriteria->addSelectColumn ( FieldsPeer::FLD_NAME );
if ( $query != '' ) {
$oCriteria->add (AdditionalTablesPeer::ADD_TAB_NAME, $query . '%', Criteria::LIKE);
}
$oCriteria->addJoin(AdditionalTablesPeer::ADD_TAB_UID, FieldsPeer::ADD_TAB_UID);
$oCriteria->add (AdditionalTablesPeer::DBS_UID, 'workflow', CRITERIA::EQUAL );
$oCriteria->add (FieldsPeer::FLD_NAME, 'APP_UID', CRITERIA::EQUAL );
if (isset($limit)) {
$oCriteria->setLimit($limit);
}
if (isset($start)) {
$oCriteria->setOffset($start);
}
if ($sort != '') {
if ($dir == 'DESC') {
$oCriteria->addDescendingOrderByColumn( $sort );
} else {
$oCriteria->addAscendingOrderByColumn( $sort );
}
}
$oDataset = AdditionalTablesPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
$result = array();
$rows = array();
$index = isset($start) ? $start : 0;
while ($aRow = $oDataset->getRow()) {
$aRow['index'] = ++$index;
$rows[] = $aRow;
$oDataset->next();
}
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result );
} catch (Exception $e) {
print G::json_encode ($e->getMessage());
}

View File

@@ -0,0 +1,162 @@
<?php
/**
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
$callback = isset($_POST['callback']) ? $_POST['callback'] : 'stcCallback1001';
$dir = isset($_POST['dir']) ? $_POST['dir'] : 'DESC';
$sort = isset($_POST['sort']) ? $_POST['sort'] : '';
$query = isset($_POST['query']) ? $_POST['query'] : '';
$tabUid = isset($_POST['table']) ? $_POST['table'] : '';
$action = isset($_POST['action']) ? $_POST['action'] : 'todo';
try {
G::LoadClass("BasePeer" );
require_once ( "classes/model/Fields.php" );
//$sUIDUserLogged = $_SESSION['USER_LOGGED'];
$oCriteria = new Criteria('workflow');
$oCriteria->clearSelectColumns();
$oCriteria->setDistinct();
$oCriteria->addSelectColumn (FieldsPeer::FLD_NAME);
$oCriteria->addSelectColumn (FieldsPeer::FLD_UID);
$oCriteria->addSelectColumn (FieldsPeer::FLD_INDEX);
if ($query != '') {
$oCriteria->add (FieldsPeer::FLD_NAME, $query . '%', Criteria::LIKE);
}
//$oCriteria->addJoin(AdditionalTablesPeer::ADD_TAB_UID, FieldsPeer::ADD_TAB_UID);
$oCriteria->add (FieldsPeer::ADD_TAB_UID, $tabUid , CRITERIA::EQUAL );
$oCriteria->add (FieldsPeer::FLD_NAME, 'APP_UID' , CRITERIA::NOT_EQUAL );
//$oCriteria->add (AppCacheViewPeer::APP_STATUS, "TO_DO" , CRITERIA::EQUAL );
//$oCriteria->add (AppCacheViewPeer::USR_UID, $sUIDUserLogged);
//$totalCount = AppCacheViewPeer::doCount( $Criteria );
//if ( isset($limit) ) $oCriteria->setLimit ( $limit );
//if ( isset($start) ) $oCriteria->setOffset ( $start );
if ($sort != '') {
if ($dir == 'DESC') {
$oCriteria->addDescendingOrderByColumn( $sort );
} else {
$oCriteria->addAscendingOrderByColumn( $sort );
} //else {
// $oCriteria->addDescendingOrderByColumn('FLD_INDEX');
//}
$oDataset = FieldsPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
$result = array();
$rows = array();
switch ($action) {
case 'todo':
// #, Case, task, process, sent by, due date, Last Modify, Priority
$rows[] = array( 'name' => 'APP_UID', 'gridIndex' => '0', 'column2' => '0' );
$rows[] = array( 'name' => 'DEL_INDEX', 'gridIndex' => '3', 'column2' => '3' );
$rows[] = array( 'name' => 'APP_NUMBER', 'gridIndex' => '1', 'column2' => '1' );
$rows[] = array( 'name' => 'APP_TITLE', 'gridIndex' => '4', 'column2' => '4' );
$rows[] = array( 'name' => 'APP_TAS_TITLE', 'gridIndex' => '6', 'column2' => '6' );
$rows[] = array( 'name' => 'APP_PRO_TITLE', 'gridIndex' => '5', 'column2' => '5' );
$rows[] = array( 'name' => 'APP_DEL_PREVIOUS_USER', 'gridIndex' => '7', 'column2' => '7' );
$rows[] = array( 'name' => 'DEL_TASK_DUE_DATE', 'gridIndex' => '8', 'column2' => '8' );
$rows[] = array( 'name' => 'APP_UPDATE_DATE', 'gridIndex' => '9', 'column2' => '9' );
$rows[] = array( 'name' => 'DEL_PRIORITY', 'gridIndex' => '10', 'column2' =>'10' );
break;
case 'draft':
//#, Case, task, process, due date, Last Modify, Priority },
$rows[] = array( 'name' => 'APP_UID', 'gridIndex' => '0', 'column2' => '0' );
$rows[] = array( 'name' => 'DEL_INDEX', 'gridIndex' => '3', 'column2' => '3' );
$rows[] = array( 'name' => 'APP_NUMBER', 'gridIndex' => '1', 'column2' => '1' );
$rows[] = array( 'name' => 'APP_TITLE', 'gridIndex' => '4', 'column2' => '4' );
$rows[] = array( 'name' => 'APP_TAS_TITLE', 'gridIndex' => '6', 'column2' => '6' );
$rows[] = array( 'name' => 'APP_PRO_TITLE', 'gridIndex' => '5', 'column2' => '5' );
$rows[] = array( 'name' => 'DEL_TASK_DUE_DATE', 'gridIndex' => '8', 'column2' => '8' );
$rows[] = array( 'name' => 'APP_UPDATE_DATE', 'gridIndex' => '9', 'column2' => '9' );
$rows[] = array( 'name' => 'DEL_PRIORITY', 'gridIndex' => '10', 'column2' =>'10' );
break;
case 'sent':
// #, Case, task, process, current user, sent by, Last Modify, Status
$rows[] = array( 'name' => 'APP_UID', 'gridIndex' => '0', 'column2' => '0' );
$rows[] = array( 'name' => 'APP_NUMBER', 'gridIndex' => '1', 'column2' => '1' );
$rows[] = array( 'name' => 'APP_STATUS', 'gridIndex' => '2', 'column2' => '2' );
$rows[] = array( 'name' => 'DEL_INDEX', 'gridIndex' => '3', 'column2' => '3' );
$rows[] = array( 'name' => 'APP_TITLE', 'gridIndex' => '4', 'column2' => '4' );
$rows[] = array( 'name' => 'APP_PRO_TITLE', 'gridIndex' => '5', 'column2' => '5' );
$rows[] = array( 'name' => 'APP_TAS_TITLE', 'gridIndex' => '6', 'column2' => '6' );
$rows[] = array( 'name' => 'APP_DEL_PREVIOUS_USER', 'gridIndex' => '7', 'column2' => '7' );
$rows[] = array( 'name' => 'DEL_TASK_DUE_DATE', 'gridIndex' => '8', 'column2' => '8' );
$rows[] = array( 'name' => 'APP_UPDATE_DATE', 'gridIndex' => '9', 'column2' => '9' );
$rows[] = array( 'name' => 'DEL_PRIORITY', 'gridIndex' => '10', 'column2' =>'10' );
break;
case 'unassigned':
$rows[] = array( 'name' => 'APP_UID', 'gridIndex' => '0', 'column2' => '0' );
$rows[] = array( 'name' => 'APP_NUMBER', 'gridIndex' => '1', 'column2' => '1' );
//$rows[] = array( 'name' => 'APP_STATUS', 'gridIndex' => '2', 'column2' => '2' );
//$rows[] = array( 'name' => 'DEL_INDEX', 'gridIndex' => '3', 'column2' => '3' );
$rows[] = array( 'name' => 'APP_TITLE', 'gridIndex' => '2', 'column2' => '2' );
$rows[] = array( 'name' => 'APP_PRO_TITLE', 'gridIndex' => '3', 'column2' => '3' );
$rows[] = array( 'name' => 'APP_TAS_TITLE', 'gridIndex' => '4', 'column2' => '4' );
$rows[] = array( 'name' => 'APP_DEL_PREVIOUS_USER', 'gridIndex' => '5', 'column2' => '5' );
//$rows[] = array( 'name' => 'DEL_TASK_DUE_DATE', 'gridIndex' => '8', 'column2' => '8' );
$rows[] = array( 'name' => 'APP_UPDATE_DATE', 'gridIndex' => '6', 'column2' => '6' );
//$rows[] = array( 'name' => 'DEL_PRIORITY', 'gridIndex' => '10', 'column2' =>'10' );
break;
case 'paused':
$rows[] = array( 'name' => 'APP_UID', 'gridIndex' => '0', 'column2' => '0' );
$rows[] = array( 'name' => 'APP_NUMBER', 'gridIndex' => '1', 'column2' => '1' );
//$rows[] = array( 'name' => 'APP_STATUS', 'gridIndex' => '2', 'column2' => '2' );
//$rows[] = array( 'name' => 'DEL_INDEX', 'gridIndex' => '3', 'column2' => '3' );
$rows[] = array( 'name' => 'APP_TITLE', 'gridIndex' => '2', 'column2' => '2' );
$rows[] = array( 'name' => 'APP_PRO_TITLE', 'gridIndex' => '3', 'column2' => '3' );
$rows[] = array( 'name' => 'APP_TAS_TITLE', 'gridIndex' => '4', 'column2' => '4' );
$rows[] = array( 'name' => 'APP_DEL_PREVIOUS_USER', 'gridIndex' => '5', 'column2' => '5' );
//$rows[] = array( 'name' => 'DEL_TASK_DUE_DATE', 'gridIndex' => '8', 'column2' => '8' );
//$rows[] = array( 'name' => 'APP_UPDATE_DATE', 'gridIndex' => '9', 'column2' => '9' );
//$rows[] = array( 'name' => 'DEL_PRIORITY', 'gridIndex' => '10', 'column2' =>'10' );
break;
case 'completed':
$rows[] = array( 'name' => 'APP_UID', 'gridIndex' => '0', 'column2' => '0' );
$rows[] = array( 'name' => 'APP_NUMBER', 'gridIndex' => '1', 'column2' => '1' );
//$rows[] = array( 'name' => 'APP_STATUS', 'gridIndex' => '2', 'column2' => '2' );
//$rows[] = array( 'name' => 'DEL_INDEX', 'gridIndex' => '3', 'column2' => '3' );
$rows[] = array( 'name' => 'APP_TITLE', 'gridIndex' => '2', 'column2' => '2' );
$rows[] = array( 'name' => 'APP_PRO_TITLE', 'gridIndex' => '3', 'column2' => '3' );
$rows[] = array( 'name' => 'APP_TAS_TITLE', 'gridIndex' => '4', 'column2' => '4' );
$rows[] = array( 'name' => 'APP_DEL_PREVIOUS_USER', 'gridIndex' => '5', 'column2' => '5' );
//$rows[] = array( 'name' => 'DEL_TASK_DUE_DATE', 'gridIndex' => '8', 'column2' => '8' );
$rows[] = array( 'name' => 'APP_UPDATE_DATE', 'gridIndex' => '6', 'column2' => '6' );
//$rows[] = array( 'name' => 'DEL_PRIORITY', 'gridIndex' => '10', 'column2' =>'10' );
break;
case 'cancelled':
$rows[] = array( 'name' => 'APP_UID', 'gridIndex' => '0', 'column2' => '0' );
$rows[] = array( 'name' => 'APP_NUMBER', 'gridIndex' => '1', 'column2' => '1' );
//$rows[] = array( 'name' => 'APP_STATUS', 'gridIndex' => '2', 'column2' => '2' );
//$rows[] = array( 'name' => 'DEL_INDEX', 'gridIndex' => '3', 'column2' => '3' );
$rows[] = array( 'name' => 'APP_TITLE', 'gridIndex' => '2', 'column2' => '2' );
$rows[] = array( 'name' => 'APP_PRO_TITLE', 'gridIndex' => '3', 'column2' => '3' );
$rows[] = array( 'name' => 'APP_TAS_TITLE', 'gridIndex' => '4', 'column2' => '4' );
//$rows[] = array( 'name' => 'APP_DEL_PREVIOUS_USER', 'gridIndex' => '7', 'column2' => '7' );
$rows[] = array( 'name' => 'DEL_TASK_DUE_DATE', 'gridIndex' => '5', 'column2' => '5' );
$rows[] = array( 'name' => 'APP_UPDATE_DATE', 'gridIndex' => '6', 'column2' => '6' );
$rows[] = array( 'name' => 'DEL_PRIORITY', 'gridIndex' => '7', 'column2' =>'7' );
break;
}
}
$index = count($rows);
while ($aRow = $oDataset->getRow()) {
$aRow['index'] = ++$index;
$aTempRow['name'] = $aRow['FLD_NAME'];
$aTempRow['gridIndex'] = $aRow['index'];
$aTempRow['column2'] = $aTempRow['gridIndex'];
$rows[] = $aTempRow;
$oDataset->next();
}
$result['totalCount'] = count($rows);
$result['data'] = $rows;
//$jsonResult['records'] = $result;
print G::json_encode( $result ) ;
} catch (Exception $e) {
print G::json_encode ($e->getMessage());
}

View File

@@ -105,6 +105,12 @@ class enterprisePlugin extends PMPlugin
public function install()
{
$pluginRegistry = &PMPluginRegistry::getSingleton();
$pluginDetail = $pluginRegistry->getPluginDetails("enterprise.php");
$pluginRegistry->enablePlugin($pluginDetail->sNamespace);
file_put_contents(PATH_DATA_SITE . "plugin.singleton", $pluginRegistry->serializeInstance());
}
public function uninstall()
@@ -113,25 +119,16 @@ class enterprisePlugin extends PMPlugin
public function setup()
{
$urlPart = substr(SYS_SKIN, 0, 2) == 'ux' && SYS_SKIN != 'uxs' ? 'main/login' : 'login/login';
$this->registerMenu("setup", "menuEnterprise.php");
//including the file inside the enterprise folder
////including the file inside the enterprise folder
require_once PATH_CORE . 'classes' . PATH_SEP . 'class.pmLicenseManager.php';
$this->registerTrigger(PM_LOGIN, "enterpriseSystemUpdate");
$licenseManager = &pmLicenseManager::getSingleton();
$oHeadPublisher = &headPublisher::getSingleton();
$this->registerTrigger(PM_HASH_PASSWORD, 'setHashPassword');
}
public function enable()
{
$this->setConfiguration();
$pluginRegistry = &PMPluginRegistry::getSingleton();
file_put_contents(PATH_DATA_SITE . "plugin.singleton", $pluginRegistry->serializeInstance());
require_once (PATH_CORE . 'classes/model/AddonsStore.php');
AddonsStore::checkLicenseStore();
@@ -348,6 +345,25 @@ class enterprisePlugin extends PMPlugin
fclose($file);
}
}
public function hashPassword ($pass, $previous=false)
{
G::LoadClass( "configuration" );
$config= new Configurations();
$typeEncrypt = $config->getConfiguration('ENTERPRISE_SETTING_ENCRYPT', '');
$encrypt = 'md5';
if ($typeEncrypt != null) {
if (isset($typeEncrypt['current']) && $typeEncrypt['current'] != '') {
$encrypt = $typeEncrypt['current'];
}
if ($previous && isset($typeEncrypt['previous']) && $typeEncrypt['previous'] != '' ) {
$encrypt = $typeEncrypt['previous'];
}
}
eval("\$var = hash('" . $encrypt . "', '" . $pass . "');");
return $var;
}
}
$oPluginRegistry = &PMPluginRegistry::getSingleton();

View File

@@ -20,11 +20,11 @@ if (class_exists("pmLicenseManager")) {
$licStatusMsg = "&nbsp;<font color=\"red\">(" . $licenseStatusInfo["message"] . ")</font>";
}
$G_TMP_MENU->AddIdRawOption("PMENTERPRISE", "../enterprise/addonsStore", "Enterprise Plugins Manager" . $licStatusMsg, "", "", "plugins");
$G_TMP_MENU->AddIdRawOption("PMENTERPRISE", "../enterprise/addonsStore", G::LoadTranslation('ID_MENU_NAME') . $licStatusMsg, "", "", "plugins");
if (isset($pmLicenseManagerO->result) && ($pmLicenseManagerO->result == "OK")) {
if (file_exists(PATH_HOME . "engine" . PATH_SEP . "methods" . PATH_SEP . "cases" . PATH_SEP . "casesListExtJs.php")) {
$G_TMP_MENU->AddIdRawOption("CASES_LIST_SETUP", "../enterprise/advancedTools/casesListSetup", "Cases Lists", "", "", "settings");
$G_TMP_MENU->AddIdRawOption("CASES_LIST_SETUP", "../cases/casesListSetup", G::LoadTranslation('ID_CASES_LIST'), "", "", "settings");
}
}
}

View File

@@ -40,6 +40,14 @@ try {
$pwd = trim($frm['USR_PASSWORD']);
}
require_once PATH_CORE . 'methods' . PATH_SEP . 'enterprise' . PATH_SEP . 'enterprise.php';
$enterprise = new enterprisePlugin('enterprise');
if (!file_exists(PATH_DATA_SITE . "plugin.singleton")) {
$enterprise->enable();
}
$enterprise->setup();
$uid = $RBAC->VerifyLogin($usr , $pwd);
$RBAC->cleanSessionFiles(72); //cleaning session files older than 72 hours
@@ -92,7 +100,7 @@ try {
$errLabel = 'WRONG_LOGIN_CREDENTIALS';
}
$_SESSION["USERNAME_PREVIOUS1"] = $_SESSION["USERNAME_PREVIOUS2"];
$_SESSION["USERNAME_PREVIOUS1"] = (isset($_SESSION["USERNAME_PREVIOUS2"]))? $_SESSION["USERNAME_PREVIOUS2"] : "";
$_SESSION["USERNAME_PREVIOUS2"] = $usr;
if (!isset($uid) || $uid < 0) {

View File

@@ -5,7 +5,7 @@ $aUser = $oUser->load($_SESSION['USER_LOGGED']);
global $RBAC;
$aData['USR_UID'] = $aUser['USR_UID'];
$aData['USR_USERNAME'] = $aUser['USR_USERNAME'];
$aData['USR_PASSWORD'] = md5($_POST['form']['USR_PASSWORD']);
$aData['USR_PASSWORD'] = Bootstrap::hasPassword($_POST['form']['USR_PASSWORD']);
$aData['USR_FIRSTNAME'] = $aUser['USR_FIRSTNAME'];
$aData['USR_LASTNAME'] = $aUser['USR_LASTNAME'];
$aData['USR_EMAIL'] = $aUser['USR_EMAIL'];

View File

@@ -22,7 +22,7 @@ if ($userData['USR_EMAIL'] != '' && $userData['USR_EMAIL'] === $data['USR_EMAIL'
$newPass = G::generate_password();
$aData['USR_UID'] = $userData['USR_UID'];
$aData['USR_PASSWORD'] = md5($newPass);
$aData['USR_PASSWORD'] = Bootstrap::hasPassword($newPass);
/* **Save after sending the mail
$rbacUser->update($aData);
$user->update($aData);

View File

@@ -50,7 +50,7 @@ try {
$_POST['form']['USR_NEW_PASS'] = '';
}
if ($_POST['form']['USR_NEW_PASS'] != '') {
$_POST['form']['USR_PASSWORD'] = md5( $_POST['form']['USR_NEW_PASS'] );
$_POST['form']['USR_PASSWORD'] = Bootstrap::hasPassword( $_POST['form']['USR_NEW_PASS'] );
}
if (! isset( $_POST['form']['USR_CITY'] )) {
$_POST['form']['USR_CITY'] = '';

View File

@@ -130,7 +130,7 @@ switch ($_POST['action']) {
$form['USR_NEW_PASS'] = '';
}
if ($form['USR_NEW_PASS'] != '') {
$form['USR_PASSWORD'] = md5($form['USR_NEW_PASS']);
$form['USR_PASSWORD'] = Bootstrap::hasPassword($form['USR_NEW_PASS']);
}
if (!isset($form['USR_CITY'])) {
$form['USR_CITY'] = '';
@@ -214,7 +214,7 @@ switch ($_POST['action']) {
*/
require_once 'classes/model/UsersProperties.php';
$oUserProperty = new UsersProperties();
$aUserProperty = $oUserProperty->loadOrCreateIfNotExists($aData['USR_UID'], array('USR_PASSWORD_HISTORY' => serialize(array(md5($aData['USR_PASSWORD'])))));
$aUserProperty = $oUserProperty->loadOrCreateIfNotExists($aData['USR_UID'], array('USR_PASSWORD_HISTORY' => serialize(array(Bootstrap::hasPassword($aData['USR_PASSWORD'])))));
$aUserProperty['USR_LOGGED_NEXT_TIME'] = $form['USR_LOGGED_NEXT_TIME'];
$oUserProperty->update($aUserProperty);
} else {

View File

@@ -63,7 +63,7 @@ try {
$form['USR_NEW_PASS'] = '';
}
if ($form['USR_NEW_PASS'] != '') {
$form['USR_PASSWORD'] = md5( $form['USR_NEW_PASS'] );
$form['USR_PASSWORD'] = Bootstrap::hasPassword( $form['USR_NEW_PASS'] );
}
if (! isset( $form['USR_CITY'] )) {
$form['USR_CITY'] = '';

View File

@@ -209,7 +209,7 @@ class PmPdo implements \OAuth2\Storage\AuthorizationCodeInterface,
// the default behavior is to use "username" as the user_id
return array_merge(array(
'user_id' => $username
'user_id' => $userInfo['USR_UID'] //$username
), $userInfo);
}

View File

@@ -591,9 +591,7 @@ Ext.onReady ( function() {
if( c.dataIndex == 'APP_DEL_PREVIOUS_USER') c.renderer = previous_full_name;
if( c.dataIndex == 'APP_CURRENT_USER') c.renderer = full_name;
}
if (enableEnterprise) {
c.header = __('enterprise', _(c.header));
}
c.header = _(c.header);
}
//adding the hidden field DEL_INIT_DATE

View File

@@ -0,0 +1,2 @@
<div id="panel"></div>
<div id="alt-panel"></div>

View File

@@ -0,0 +1,674 @@
Ext.onReady(function () {
var currentIndexRowSelected;
casesListProcessAjax = function (option)
{
var p;
var i = 0;
switch (option) {
case "FIELD_SET":
p = {
"xaction": option,
"action": currentAction
};
break;
case "FIELD_RESET":
case "FIELD_RESET_ID":
p = {
"xaction": option,
"action": currentAction
};
break;
case "FIELD_COMPLETE":
case "FIELD_COMPLETE_ID":
case "FIELD_LABEL_RESET":
case "FIELD_LABEL_RESET_ID":
case "FIELD_SAVE":
var rs = firstGrid.store.data.items;
var fv = [];
for (i = 0; i <= rs.length - 1; i++) {
fv[i] = rs[i].data["name"];
}
var rs = secondGrid.store.data.items;
var sv = [];
for (i = 0; i <= rs.length - 1; i++) {
//sv[i]= rs[i].data["name"];
sv[i] = rs[i].data;
}
p = {
"xaction": option,
"action": currentAction,
"first": Ext.util.JSON.encode(fv),
"second": Ext.util.JSON.encode(sv),
"pmtable": pmTablesDropdown.getValue()
};
break;
}
Ext.Ajax.request({
url: "proxyPMTablesFieldList",
method: "POST",
params: p,
success: function (response, opts)
{
var dataResponse = eval("(" + response.responseText + ")"); //json
switch (option) {
case "FIELD_SET":
configDefaultResponseText = response.responseText;
fieldSet(dataResponse);
break;
case "FIELD_RESET":
case "FIELD_RESET_ID":
fieldSet(dataResponse);
break;
case "FIELD_COMPLETE":
case "FIELD_COMPLETE_ID":
fieldSet(dataResponse);
break;
case "FIELD_LABEL_RESET":
case "FIELD_LABEL_RESET_ID":
fieldSet(dataResponse);
break;
case "FIELD_SAVE":
configDefaultResponseText = response.responseText;
Ext.Msg.alert(_("ID_INFO"), _("ID_SAVED"));
location.reload(true);
break;
}
},
failure: function (response, opts)
{
//
}
});
};
fieldSet = function (dataResponse)
{
remotePmFieldsStore.loadData(dataResponse.first);
secondGridStore.loadData(dataResponse.second);
//Remove APP_UID and DEL_INDEX from second grid, this is only to avoid display in this grid
var fieldName = "";
var i = 0;
while (i <= secondGrid.store.data.items.length - 1) {
fieldName = secondGrid.store.data.items[i].data["name"];
if (fieldName == "APP_UID" ||
fieldName == "DEL_INDEX" ||
fieldName == "USR_UID" ||
fieldName == "PREVIOUS_USR_UID"
) {
secondGrid.store.removeAt(i);
} else {
i = i + 1;
}
}
//Set also the selected table value in the comboBox element.
if (PmTableStore.getTotalCount() > 0) {
pmTablesDropdown.setValue(dataResponse.PMTable);
} else {
pmTablesDropdown.setValue("");
}
};
sendGridFieldsRequest = function (action)
{
currentAction = action;
casesListProcessAjax("FIELD_SET");
};
//Variables
var currentAction = "";
var configDefaultResponseText = "";
var tabIndex = 0;
// Generic fields array to use in both store defs.
var pmFields = [
{name: 'name', mapping : 'name'},
{name: 'gridIndex', mapping : 'gridIndex'},
{name: 'fieldType', mapping : 'fieldType'},
{name: 'label', mapping : 'label'},
//{name: 'width', mapping : 'width'},
{name: 'align', mapping : 'align'}
];
//Dropdown to select the PMTable
var PmTableStore = new Ext.data.JsonStore({
root : 'data',
url : 'proxyPMTablesList',
totalProperty : 'totalCount',
idProperty : 'gridIndex',
remoteSort : false, //true,
autoLoad : false,
fields : [
'ADD_TAB_UID', 'ADD_TAB_NAME'
],
listeners : {load: function() {
tabs.setActiveTab(tabIndex);
}}
});
// create the Data Store to list PMTables in the dropdown
var pmTablesDropdown = new Ext.form.ComboBox ({
width : '180',
xtype : 'combo',
emptyText: _("ID_EMPTY_PMTABLE"),
displayField : 'ADD_TAB_NAME',
valueField : 'ADD_TAB_UID',
triggerAction: 'all',
store : PmTableStore,
listeners: {
'select': function() {
var tableUid = this.value;
Ext.Ajax.request({
url: 'proxyPMTablesFieldList',
success: function(response) {
var dataResponse = Ext.util.JSON.decode(response.responseText);
var rec = Ext.data.Record.create(pmFields);
//alert(firstGrid.store);
var index;
var record;
var count = firstGrid.store.getTotalCount();
// removing all the PM Table fields from the first grid
do {
index = firstGrid.store.find('fieldType','PM Table');
record = firstGrid.store.getAt(index);
if (index>=0) {
firstGrid.store.remove(record);
}
} while (index>=0);
// removing all the PM Table fields from the second grid
do {
index = secondGrid.store.find('fieldType','PM Table');
record = secondGrid.store.getAt(index);
if (index>=0) {
secondGrid.store.remove(record);
}
} while (index>=0);
for (var i = 0; i <= dataResponse.data.length-1; i++) {
var d = new rec( dataResponse.data[i] );
firstGrid.store.add(d);
}
firstGrid.store.commitChanges();
},
failure: function(){},
params: {xaction: 'getFieldsFromPMTable', table: tableUid }
});
}
}
});
// COMPONENT DEPRECATED remove it in the next revision of the enterprise plugin
// create the Dropdown for rows per page
var pmRowsPerPage = new Ext.form.ComboBox ({
width : 60,
boxMaxWidth : 70,
editable : false,
triggerAction : 'all',
mode : 'local',
store : new Ext.data.ArrayStore({
fields: ['id'],
data : [[5], [6], [7], [8], [9], [10], [12], [15], [18], [20], [25], [30], [50], [100] ]
}),
valueField : 'id',
displayField : 'id',
triggerAction : 'all'
});
// COMPONENT DEPRECATED remove it in the next revision of the enterprise plugin
// create the Dropdown for date formats
var pmDateFormat = new Ext.form.ComboBox ({
width : 80,
boxMaxWidth : 90,
editable : false,
triggerAction : 'all',
mode : 'local',
store : new Ext.data.ArrayStore({
fields: ['id'],
data : [['M d, Y'],['M d Y'],['M d Y H:i:s'],['d M Y'],['d M Y H:i:s'],['Y-m-d'],['Y-m-d H:i:s'],['Y/m/d '],['Y/m/d H:i:s'],['D d M Y'] ]
}),
valueField : 'id',
displayField : 'id',
triggerAction : 'all'
});
PmTableStore.setDefaultSort('ADD_TAB_NAME', 'asc');
PmTableStore.load();
var remoteFieldsProxy = new Ext.data.HttpProxy({
url : 'proxyPMTablesFieldList',
autoSave: true,
totalProperty: 'totalCount',
successProperty: 'success',
idProperty: 'gridIndex',
root: 'data',
messageProperty: 'message'
});
var readerPmFields = new Ext.data.JsonReader({
totalProperty : 'totalCount',
idProperty : 'index',
root : 'data'
}, pmFields
);
//currently we are not using this , but it is here just for complete definition
var writerPmFields = new Ext.data.JsonWriter({
writeAllFields: false
});
var remotePmFieldsStore = new Ext.data.Store({
remoteSort : true,
proxy : remoteFieldsProxy,
reader : readerPmFields,
writer : writerPmFields, // <-- plug a DataWriter into the store just as you would a Reader
autoSave : false // <-- false would delay executing create, update, destroy requests until specifically told to do so with some [save] buton.
});
// fields array used in second grid
var fieldsSecond = [
{name: 'name', mapping : 'name'},
{name: 'gridIndex', mapping : 'gridIndex'},
{name: 'fieldType', mapping : 'fieldType'},
{name: 'label', mapping : 'label'},
//{name: 'width', mapping : 'width'},
{name: 'align_label', mapping : 'align_label'},
{name: 'align', mapping : 'align'}
];
var labelTextField = new Ext.form.TextField ({
allowBlank: true
});
var alignComboBox = new Ext.form.ComboBox ({
editable : false,
triggerAction: 'all',
lazyRender:true,
mode: 'local',
store: new Ext.data.ArrayStore({
//id: 0,
fields: [
'id',
'label'
],
data: [['left', _('ID_LEFT')], ['center', _('ID_CENTER')], ['right', _('ID_RIGHT')]]
}),
valueField: 'id',
displayField: 'label',
});
var alignComboBoxLabel = new Ext.form.ComboBox ({
editable : false,
triggerAction: 'all',
lazyRender:true,
mode: 'local',
store: new Ext.data.ArrayStore({
//id: 0,
fields: [
'id',
'label'
],
data: [['left', _('ID_LEFT')], ['center', _('ID_CENTER')], ['right', _('ID_RIGHT')]]
}),
valueField: 'id',
displayField: 'label',
listeners:{
select: function(obj){
var row = Ext.getCmp('secondGrid').getSelectionModel().getSelected();
var selIndex = Ext.getCmp('secondGrid').getStore().indexOfId(row.id);
row.data['align'] = obj.getValue();
obj.value = obj.lastSelectionText;
}
}
});
var widthTextField = new Ext.form.NumberField({
allowBlank: false,
allowNegative: false,
maxValue: 800,
minValue: 0
});
//Column Model shortcut array
var cols = [
{header: _("ID_HEADER_NUMBER"), sortable: false, dataIndex: "gridIndex", hidden: true, hideable: false},
{header: _("ID_HEADER_FIELD_NAME"), width: '75%', sortable: false, dataIndex: "name"},
{header: _("ID_HEADER_FIELD_TYPE"), width: '25%', sortable: false, dataIndex: "fieldType"}
];
//Column Model shortcut array
var colsSecond = new Ext.grid.ColumnModel({
// specify any defaults for each column
defaults: {
sortable: false // columns are not sortable by default
},
columns: [
{header: _("ID_HEADER_NUMBER"), width: 25, dataIndex: "gridIndex", hidden: true, hideable: false},
{header: _("ID_HEADER_FIELD_NAME"), width: 160, dataIndex: "name"},
{header: _("ID_HEADER_FIELD_TYPE"), width: 70, dataIndex: "fieldType"},
{
header: _("ID_HEADER_LABEL"),
width: 160,
dataIndex: "label",
editor: labelTextField,
renderer: function (value, metaData, record, rowIndex, colIndex, store)
{
var arrayMatch = [];
var newValue = value;
if ((arrayMatch = /^\*\*(.+)\*\*$/.exec(value))) {
newValue = _(arrayMatch[1]);
}
return newValue;
}
},
{header: _("ID_HEADER_ALIGN"), width: 60, dataIndex: "align_label", editor: alignComboBoxLabel}
]
});
// declare the source Grid
var firstGrid = new Ext.grid.GridPanel({
enableDragDrop: true,
width: '35%',
ddGroup: "secondGridDDGroup",
ddText: "{0} " + _("ID_SELECTED_FIELD") + "{1}",
store: remotePmFieldsStore,
columns: cols,
stripeRows: true,
title: _("ID_AVAILABLE_FIELDS")
});
var secondGridStore = new Ext.data.JsonStore({
root : 'data',
totalProperty : 'totalCount',
fields : fieldsSecond,
remoteSort : false,
successProperty : 'success'
});
// create the destination Grid
var secondGrid = new Ext.grid.EditorGridPanel({
id: 'secondGrid',
enableDragDrop: true,
width: '65%',
ddGroup: "firstGridDDGroup",
selModel: new Ext.grid.RowSelectionModel({singleSelect: true}),
store: secondGridStore,
ddText: "{0} " + _("ID_SELECTED_FIELD") + "{1}",
clicksToEdit: 1,
cm: colsSecond,
sm: new Ext.grid.RowSelectionModel({
listeners:{
selectionchange: function(sm,a,b,c){
if (sm.lastActive !== false) {
currentIndexRowSelected = sm.lastActive;
}
}
}
}),
stripeRows: true,
title: _("ID_CASES_LIST_FIELDS")
});
var inboxPanel = new Ext.Panel({
title: _("ID_TITLE_INBOX"),
listeners: {'activate': function() {
tabIndex = 0;
sendGridFieldsRequest("todo");
}}
});
var draftPanel = new Ext.Panel({
title: _("ID_TITLE_DRAFT"),
listeners: {'activate': function() {
tabIndex = 1;
sendGridFieldsRequest("draft");
}}
});
var participatedPanel = new Ext.Panel({
title: _("ID_TITLE_PARTICIPATED"),
listeners: {'activate': function() {
tabIndex = 2;
sendGridFieldsRequest("sent");
}}
});
var unassignedPanel = new Ext.Panel({
title: _("ID_TITLE_UNASSIGNED"),
listeners: {'activate': function() {
tabIndex = 3;
sendGridFieldsRequest("unassigned");
}}
});
var pausedPanel = new Ext.Panel({
title: _("ID_TITLE_PAUSED"),
listeners: {'activate': function() {
tabIndex = 4;
sendGridFieldsRequest("paused");
}}
});
var completedPanel = new Ext.Panel({
title: _("ID_TITLE_COMPLETED"),
listeners: {'activate': function() {
tabIndex = 5;
sendGridFieldsRequest("completed");
}}
});
var cancelledPanel = new Ext.Panel({
title: _("ID_TITLE_CANCELLED"),
listeners: {'activate': function() {
tabIndex = 6;
sendGridFieldsRequest("cancelled");
}}
});
var mainPanel = new Ext.Panel({
title : '',
renderTo : 'alt-panel',
width : '100%',
height : screen.height-245,
layout : 'hbox',
layoutConfig : {align : 'stretch'},
tbar : new Ext.Toolbar({
items: [
_("ID_PM_TABLE"),
pmTablesDropdown,
"->",
new Ext.Action({
text: _("ID_OPTIONS"),
iconCls: "button_menu_ext ss_sprite ss_table_gear",
menu: new Ext.menu.Menu({
width: 250,
defaults: {
iconCls: "silk-add",
icon: "/images/ext/default/menu/group-checked.gif"
},
items: [
{
text: "<div style=\"white-space: pre-wrap;\">" + _("ID_CASESLIST_FIELD_RESET") + "</div>",
handler: function ()
{
casesListProcessAjax("FIELD_RESET");
}
},
{
text: "<div style=\"white-space: pre-wrap;\">" + _("ID_CASESLIST_FIELD_RESET_ID") + "</div>",
handler: function ()
{
casesListProcessAjax("FIELD_RESET_ID");
}
},
{
text: "<div style=\"white-space: pre-wrap;\">" + _("ID_CASESLIST_FIELD_COMPLETE") + "</div>",
handler: function ()
{
casesListProcessAjax("FIELD_COMPLETE");
}
},
{
text: "<div style=\"white-space: pre-wrap;\">" + _("ID_CASESLIST_FIELD_COMPLETE_ID") + "</div>",
handler: function ()
{
casesListProcessAjax("FIELD_COMPLETE_ID");
}
},
{
text: "<div style=\"white-space: pre-wrap;\">" + _("ID_CASESLIST_FIELD_LABEL_RESET") + "</div>",
handler: function ()
{
casesListProcessAjax("FIELD_LABEL_RESET");
}
},
{
text: "<div style=\"white-space: pre-wrap;\">" + _("ID_CASESLIST_FIELD_LABEL_RESET_ID") + "</div>",
handler: function ()
{
casesListProcessAjax("FIELD_LABEL_RESET_ID");
}
}
]
})
})
]
}),
items: [
firstGrid,
secondGrid
],
bbar: [
"->",
{
text: _("ID_RESET"),
handler: function ()
{
var dataResponse = eval("(" + configDefaultResponseText + ")"); //json
fieldSet(dataResponse);
}
},
" ",
{
text: _("ID_APPLY_CHANGES"),
handler: function ()
{
casesListProcessAjax("FIELD_SAVE");
}
}
]
});
var tabs = new Ext.TabPanel({
renderTo : 'panel',
//activeTab : 0,
width : '100%',
items : [
inboxPanel,
draftPanel,
participatedPanel,
unassignedPanel,
pausedPanel
]
});
// used to add records to the destination stores
// Setup Drop Targets
// This will make sure we only drop to the view scroller element
var firstGridDropTargetEl = firstGrid.getView().scroller.dom;
var firstGridDropTarget = new Ext.dd.DropTarget(firstGridDropTargetEl, {
ddGroup : 'firstGridDDGroup',
notifyDrop : function(ddSource, e, data){
var records = ddSource.dragData.selections;
Ext.each(records, ddSource.grid.store.remove, ddSource.grid.store);
firstGrid.store.add(records);
firstGrid.store.commitChanges();
return true
}
});
// This will make sure we only drop to the view scroller element
var secondGridDropTargetEl = secondGrid.getView().scroller.dom;
var secondGridDropTarget = new Ext.dd.DropTarget(secondGridDropTargetEl, {
notifyDrop : function(ddSource, e, data){
if ( ddSource.ddGroup == 'firstGridDDGroup') {
var selectedRecord = secondGrid.getSelectionModel().getSelected();
// to get value of a field in the record
var valSource = selectedRecord.get('gridIndex');
var rowTargetId = secondGrid.getView().findRowIndex(e.getTarget());
var recTarget = secondGrid.getStore().getAt(rowTargetId);
var valTarget = recTarget.get('gridIndex');
var newIndex = 0;
for (i=0; i< secondGrid.store.getCount(); i++) {
var record = secondGrid.getStore().getAt(i);
if (record.get('gridIndex') == valSource) {
record.set('gridIndex',valTarget);
} else {
incIndexB = 1;
isBrecord = 0;
if ( record.get('gridIndex') == valTarget ) {
isBrecord = true;
}
if ( isBrecord && newIndex == record.get('gridIndex') ) {
newIndex++;incIndexB = false;
}
record.set('gridIndex', newIndex);
newIndex++;
if ( isBrecord && incIndexB ) {
newIndex++;
}
}
}
secondGrid.store.sort('gridIndex', 'ASC');
return true;
};
var records = ddSource.dragData.selections;
Ext.each(records, ddSource.grid.store.remove, ddSource.grid.store);
secondGrid.store.add(records);
//reorder fields, putting a secuencial index for all records
for (i=0; i< secondGrid.store.getCount(); i++) {
var record = secondGrid.getStore().getAt(i);
record.set('gridIndex', i );
}
secondGrid.store.commitChanges();
return true
}
});
secondGridDropTarget.addToGroup('secondGridDDGroup');
secondGridDropTarget.addToGroup('firstGridDDGroup');
});

View File

@@ -732,7 +732,6 @@ Ext.onReady(function() {
}
if (sw == 1) {
var pm = PROCESSMAKER_URL;
uploadForm.getForm().submit({
url: "../enterprise/addonsStoreAction",
params: {
@@ -740,10 +739,8 @@ Ext.onReady(function() {
},
waitMsg: _('ID_UPDATING_LICENSE_MSG'),
success: function (form, o) {
//Ext.MessageBox.alert(_('ID_INFORMATION'), _('ID_SUCCESSFULLY_UPLOADED'));
//parent.parent.window.location.href = newLocation();
Ext.MessageBox.alert(_('ID_INFORMATION'), _('ID_SUCCESSFULLY_UPLOADED'), function () {
parent.parent.window.location.href = PROCESSMAKER_URL + (SYS_SKIN.substring(0,2) == 'ux')? "/main/login" :"/setup/login/login";
parent.parent.window.location.href = newLocation()
});
},
failure: function (form, o) {
@@ -1020,7 +1017,7 @@ Ext.onReady(function() {
value: license_expires+'/'+license_span+" ("+license_start_date+" / "+license_end_date+")",
hidden: !licensed,
hideLabel: !licensed
},
}
],
buttons : [
{

View File

@@ -430,7 +430,7 @@ Ext.onReady(function(){
},
{
xtype: 'textfield',
fieldLabel: '<span id="pathLogFileSpan"></span> ' + _('ID_INSTALLATION_LOG'),
fieldLabel: '<span id="pathLogFileSpan"></span> ' + _('ID_INSTALLATION_FILE_LOG'),
id: 'pathLogFile',
width: 430,
value: path_shared + 'log' + path_sep + 'install.log',

View File

@@ -56,6 +56,10 @@ try {
$app->run(Maveriks\WebApplication::SERVICE_API);
break;
case Maveriks\WebApplication::RUNNING_OAUTH2:
$app->run(Maveriks\WebApplication::SERVICE_OAUTH2);
break;
case Maveriks\WebApplication::RUNNING_INDEX:
$response = new Maveriks\Http\Response(file_get_contents("index.html"), 302);
$response->send();