GI-130 Add files bookmark
Add field scritp mysql Change output format Endpoint
This commit is contained in:
@@ -7033,5 +7033,51 @@ class Cases
|
||||
|
||||
return $unserializedData;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function returns the list of cases (and their categories) that a user can start.
|
||||
* Used by : End Point workflow/engine/src/ProcessMaker/Services/Api/Cases.php -> doGetCasesListStarCase
|
||||
* Observation: This function and the doGetCasesListStarCase end point implements a similar functionality
|
||||
* of the mobile light/process/start-case endpoint. It was decided (Sep 3 2015) the it was necessary to have
|
||||
* a ProcessMaker endpoint for this functionality and in the future al the mobile end points will be deprecated
|
||||
* and just the ProcessMaker endpoints will exist.
|
||||
*
|
||||
* @param $usrUid
|
||||
* @param $typeView
|
||||
* @return array
|
||||
*/
|
||||
public function getProcessListStartCase($usrUid, $typeView)
|
||||
{
|
||||
$usrUid = empty($usrUid) ? $_SESSION['USER_LOGGED'] : $usrUid;
|
||||
|
||||
$canStart = $this->canStartCase($usrUid);
|
||||
if ($canStart) {
|
||||
$processList = array();
|
||||
$list = $this->getStartCasesPerType($usrUid, $typeView);
|
||||
foreach ($list as $index => $row) {
|
||||
if (!empty($row['pro_uid'])) {
|
||||
if ($typeView == 'category') {
|
||||
$processList[] = array(
|
||||
'tas_uid' => $row['uid'],
|
||||
'pro_title' => $row['value'],
|
||||
'pro_uid' => $row['pro_uid'],
|
||||
'pro_category' => $row['cat'],
|
||||
'category_name' => $row['catname']
|
||||
);
|
||||
} else {
|
||||
$processList[] = array(
|
||||
'tas_uid' => $row['uid'],
|
||||
'pro_title' => $row['value'],
|
||||
'pro_uid' => $row['pro_uid']
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$processList['success'] = 'failure';
|
||||
$processList['message'] = G::LoadTranslation('ID_USER_PROCESS_NOT_START');
|
||||
}
|
||||
return $processList;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -131,10 +131,12 @@ class UsersMapBuilder
|
||||
|
||||
$tMap->addColumn('USR_TOTAL_UNASSIGNED', 'UsrTotalUnassigned', 'int', CreoleTypes::INTEGER, false, null);
|
||||
|
||||
$tMap->addColumn('USR_COST_BY_HOUR', 'UsrCostByHour', 'double', CreoleTypes::DOUBLE, false, 11,2);
|
||||
$tMap->addColumn('USR_COST_BY_HOUR', 'UsrCostByHour', 'double', CreoleTypes::DECIMAL, false, 7,2);
|
||||
|
||||
$tMap->addColumn('USR_UNIT_COST', 'UsrUnitCost', 'string', CreoleTypes::VARCHAR, false, 50);
|
||||
|
||||
$tMap->addColumn('USR_BOOKMARK_START_CASES', 'UsrBookmarkStartCases', 'string', CreoleTypes::LONGVARCHAR, false, null);
|
||||
|
||||
$tMap->addValidator('USR_STATUS', 'validValues', 'propel.validator.ValidValuesValidator', 'ACTIVE|INACTIVE|VACATION|CLOSED', 'Please select a valid type.');
|
||||
|
||||
$tMap->addValidator('USR_STATUS', 'required', 'propel.validator.RequiredValidator', '', 'Type is required.');
|
||||
|
||||
@@ -237,6 +237,12 @@ abstract class BaseUsers extends BaseObject implements Persistent
|
||||
*/
|
||||
protected $usr_unit_cost = '';
|
||||
|
||||
/**
|
||||
* The value for the usr_bookmark_start_cases field.
|
||||
* @var string
|
||||
*/
|
||||
protected $usr_bookmark_start_cases;
|
||||
|
||||
/**
|
||||
* Flag to prevent endless save loop, if this object is referenced
|
||||
* by another object which falls in this transaction.
|
||||
@@ -720,6 +726,17 @@ abstract class BaseUsers extends BaseObject implements Persistent
|
||||
return $this->usr_unit_cost;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the [usr_bookmark_start_cases] column value.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getUsrBookmarkStartCases()
|
||||
{
|
||||
|
||||
return $this->usr_bookmark_start_cases;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of [usr_uid] column.
|
||||
*
|
||||
@@ -1512,6 +1529,28 @@ abstract class BaseUsers extends BaseObject implements Persistent
|
||||
|
||||
} // setUsrUnitCost()
|
||||
|
||||
/**
|
||||
* Set the value of [usr_bookmark_start_cases] column.
|
||||
*
|
||||
* @param string $v new value
|
||||
* @return void
|
||||
*/
|
||||
public function setUsrBookmarkStartCases($v)
|
||||
{
|
||||
|
||||
// Since the native PHP type for this column is string,
|
||||
// we will cast the input to a string (if it is not).
|
||||
if ($v !== null && !is_string($v)) {
|
||||
$v = (string) $v;
|
||||
}
|
||||
|
||||
if ($this->usr_bookmark_start_cases !== $v) {
|
||||
$this->usr_bookmark_start_cases = $v;
|
||||
$this->modifiedColumns[] = UsersPeer::USR_BOOKMARK_START_CASES;
|
||||
}
|
||||
|
||||
} // setUsrBookmarkStartCases()
|
||||
|
||||
/**
|
||||
* Hydrates (populates) the object variables with values from the database resultset.
|
||||
*
|
||||
@@ -1599,12 +1638,14 @@ abstract class BaseUsers extends BaseObject implements Persistent
|
||||
|
||||
$this->usr_unit_cost = $rs->getString($startcol + 34);
|
||||
|
||||
$this->usr_bookmark_start_cases = $rs->getString($startcol + 35);
|
||||
|
||||
$this->resetModified();
|
||||
|
||||
$this->setNew(false);
|
||||
|
||||
// FIXME - using NUM_COLUMNS may be clearer.
|
||||
return $startcol + 35; // 35 = UsersPeer::NUM_COLUMNS - UsersPeer::NUM_LAZY_LOAD_COLUMNS).
|
||||
return $startcol + 36; // 36 = UsersPeer::NUM_COLUMNS - UsersPeer::NUM_LAZY_LOAD_COLUMNS).
|
||||
|
||||
} catch (Exception $e) {
|
||||
throw new PropelException("Error populating Users object", $e);
|
||||
@@ -1913,6 +1954,9 @@ abstract class BaseUsers extends BaseObject implements Persistent
|
||||
case 34:
|
||||
return $this->getUsrUnitCost();
|
||||
break;
|
||||
case 35:
|
||||
return $this->getUsrBookmarkStartCases();
|
||||
break;
|
||||
default:
|
||||
return null;
|
||||
break;
|
||||
@@ -1968,6 +2012,7 @@ abstract class BaseUsers extends BaseObject implements Persistent
|
||||
$keys[32] => $this->getUsrTotalUnassigned(),
|
||||
$keys[33] => $this->getUsrCostByHour(),
|
||||
$keys[34] => $this->getUsrUnitCost(),
|
||||
$keys[35] => $this->getUsrBookmarkStartCases(),
|
||||
);
|
||||
return $result;
|
||||
}
|
||||
@@ -2104,6 +2149,9 @@ abstract class BaseUsers extends BaseObject implements Persistent
|
||||
case 34:
|
||||
$this->setUsrUnitCost($value);
|
||||
break;
|
||||
case 35:
|
||||
$this->setUsrBookmarkStartCases($value);
|
||||
break;
|
||||
} // switch()
|
||||
}
|
||||
|
||||
@@ -2267,6 +2315,10 @@ abstract class BaseUsers extends BaseObject implements Persistent
|
||||
$this->setUsrUnitCost($arr[$keys[34]]);
|
||||
}
|
||||
|
||||
if (array_key_exists($keys[35], $arr)) {
|
||||
$this->setUsrBookmarkStartCases($arr[$keys[35]]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2418,6 +2470,10 @@ abstract class BaseUsers extends BaseObject implements Persistent
|
||||
$criteria->add(UsersPeer::USR_UNIT_COST, $this->usr_unit_cost);
|
||||
}
|
||||
|
||||
if ($this->isColumnModified(UsersPeer::USR_BOOKMARK_START_CASES)) {
|
||||
$criteria->add(UsersPeer::USR_BOOKMARK_START_CASES, $this->usr_bookmark_start_cases);
|
||||
}
|
||||
|
||||
|
||||
return $criteria;
|
||||
}
|
||||
@@ -2540,6 +2596,8 @@ abstract class BaseUsers extends BaseObject implements Persistent
|
||||
|
||||
$copyObj->setUsrUnitCost($this->usr_unit_cost);
|
||||
|
||||
$copyObj->setUsrBookmarkStartCases($this->usr_bookmark_start_cases);
|
||||
|
||||
|
||||
$copyObj->setNew(true);
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ abstract class BaseUsersPeer
|
||||
const CLASS_DEFAULT = 'classes.model.Users';
|
||||
|
||||
/** The total number of columns. */
|
||||
const NUM_COLUMNS = 35;
|
||||
const NUM_COLUMNS = 36;
|
||||
|
||||
/** The number of lazy-loaded columns. */
|
||||
const NUM_LAZY_LOAD_COLUMNS = 0;
|
||||
@@ -136,6 +136,9 @@ abstract class BaseUsersPeer
|
||||
/** the column name for the USR_UNIT_COST field */
|
||||
const USR_UNIT_COST = 'USERS.USR_UNIT_COST';
|
||||
|
||||
/** the column name for the USR_BOOKMARK_START_CASES field */
|
||||
const USR_BOOKMARK_START_CASES = 'USERS.USR_BOOKMARK_START_CASES';
|
||||
|
||||
/** The PHP to DB Name Mapping */
|
||||
private static $phpNameMap = null;
|
||||
|
||||
@@ -147,10 +150,10 @@ abstract class BaseUsersPeer
|
||||
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
|
||||
*/
|
||||
private static $fieldNames = array (
|
||||
BasePeer::TYPE_PHPNAME => array ('UsrUid', 'UsrUsername', 'UsrPassword', 'UsrFirstname', 'UsrLastname', 'UsrEmail', 'UsrDueDate', 'UsrCreateDate', 'UsrUpdateDate', 'UsrStatus', 'UsrCountry', 'UsrCity', 'UsrLocation', 'UsrAddress', 'UsrPhone', 'UsrFax', 'UsrCellular', 'UsrZipCode', 'DepUid', 'UsrPosition', 'UsrResume', 'UsrBirthday', 'UsrRole', 'UsrReportsTo', 'UsrReplacedBy', 'UsrUx', 'UsrTotalInbox', 'UsrTotalDraft', 'UsrTotalCancelled', 'UsrTotalParticipated', 'UsrTotalPaused', 'UsrTotalCompleted', 'UsrTotalUnassigned', 'UsrCostByHour', 'UsrUnitCost', ),
|
||||
BasePeer::TYPE_COLNAME => array (UsersPeer::USR_UID, UsersPeer::USR_USERNAME, UsersPeer::USR_PASSWORD, UsersPeer::USR_FIRSTNAME, UsersPeer::USR_LASTNAME, UsersPeer::USR_EMAIL, UsersPeer::USR_DUE_DATE, UsersPeer::USR_CREATE_DATE, UsersPeer::USR_UPDATE_DATE, UsersPeer::USR_STATUS, UsersPeer::USR_COUNTRY, UsersPeer::USR_CITY, UsersPeer::USR_LOCATION, UsersPeer::USR_ADDRESS, UsersPeer::USR_PHONE, UsersPeer::USR_FAX, UsersPeer::USR_CELLULAR, UsersPeer::USR_ZIP_CODE, UsersPeer::DEP_UID, UsersPeer::USR_POSITION, UsersPeer::USR_RESUME, UsersPeer::USR_BIRTHDAY, UsersPeer::USR_ROLE, UsersPeer::USR_REPORTS_TO, UsersPeer::USR_REPLACED_BY, UsersPeer::USR_UX, UsersPeer::USR_TOTAL_INBOX, UsersPeer::USR_TOTAL_DRAFT, UsersPeer::USR_TOTAL_CANCELLED, UsersPeer::USR_TOTAL_PARTICIPATED, UsersPeer::USR_TOTAL_PAUSED, UsersPeer::USR_TOTAL_COMPLETED, UsersPeer::USR_TOTAL_UNASSIGNED, UsersPeer::USR_COST_BY_HOUR, UsersPeer::USR_UNIT_COST, ),
|
||||
BasePeer::TYPE_FIELDNAME => array ('USR_UID', 'USR_USERNAME', 'USR_PASSWORD', 'USR_FIRSTNAME', 'USR_LASTNAME', 'USR_EMAIL', 'USR_DUE_DATE', 'USR_CREATE_DATE', 'USR_UPDATE_DATE', 'USR_STATUS', 'USR_COUNTRY', 'USR_CITY', 'USR_LOCATION', 'USR_ADDRESS', 'USR_PHONE', 'USR_FAX', 'USR_CELLULAR', 'USR_ZIP_CODE', 'DEP_UID', 'USR_POSITION', 'USR_RESUME', 'USR_BIRTHDAY', 'USR_ROLE', 'USR_REPORTS_TO', 'USR_REPLACED_BY', 'USR_UX', 'USR_TOTAL_INBOX', 'USR_TOTAL_DRAFT', 'USR_TOTAL_CANCELLED', 'USR_TOTAL_PARTICIPATED', 'USR_TOTAL_PAUSED', 'USR_TOTAL_COMPLETED', 'USR_TOTAL_UNASSIGNED', 'USR_COST_BY_HOUR', 'USR_UNIT_COST', ),
|
||||
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, )
|
||||
BasePeer::TYPE_PHPNAME => array ('UsrUid', 'UsrUsername', 'UsrPassword', 'UsrFirstname', 'UsrLastname', 'UsrEmail', 'UsrDueDate', 'UsrCreateDate', 'UsrUpdateDate', 'UsrStatus', 'UsrCountry', 'UsrCity', 'UsrLocation', 'UsrAddress', 'UsrPhone', 'UsrFax', 'UsrCellular', 'UsrZipCode', 'DepUid', 'UsrPosition', 'UsrResume', 'UsrBirthday', 'UsrRole', 'UsrReportsTo', 'UsrReplacedBy', 'UsrUx', 'UsrTotalInbox', 'UsrTotalDraft', 'UsrTotalCancelled', 'UsrTotalParticipated', 'UsrTotalPaused', 'UsrTotalCompleted', 'UsrTotalUnassigned', 'UsrCostByHour', 'UsrUnitCost', 'UsrBookmarkStartCases', ),
|
||||
BasePeer::TYPE_COLNAME => array (UsersPeer::USR_UID, UsersPeer::USR_USERNAME, UsersPeer::USR_PASSWORD, UsersPeer::USR_FIRSTNAME, UsersPeer::USR_LASTNAME, UsersPeer::USR_EMAIL, UsersPeer::USR_DUE_DATE, UsersPeer::USR_CREATE_DATE, UsersPeer::USR_UPDATE_DATE, UsersPeer::USR_STATUS, UsersPeer::USR_COUNTRY, UsersPeer::USR_CITY, UsersPeer::USR_LOCATION, UsersPeer::USR_ADDRESS, UsersPeer::USR_PHONE, UsersPeer::USR_FAX, UsersPeer::USR_CELLULAR, UsersPeer::USR_ZIP_CODE, UsersPeer::DEP_UID, UsersPeer::USR_POSITION, UsersPeer::USR_RESUME, UsersPeer::USR_BIRTHDAY, UsersPeer::USR_ROLE, UsersPeer::USR_REPORTS_TO, UsersPeer::USR_REPLACED_BY, UsersPeer::USR_UX, UsersPeer::USR_TOTAL_INBOX, UsersPeer::USR_TOTAL_DRAFT, UsersPeer::USR_TOTAL_CANCELLED, UsersPeer::USR_TOTAL_PARTICIPATED, UsersPeer::USR_TOTAL_PAUSED, UsersPeer::USR_TOTAL_COMPLETED, UsersPeer::USR_TOTAL_UNASSIGNED, UsersPeer::USR_COST_BY_HOUR, UsersPeer::USR_UNIT_COST, UsersPeer::USR_BOOKMARK_START_CASES, ),
|
||||
BasePeer::TYPE_FIELDNAME => array ('USR_UID', 'USR_USERNAME', 'USR_PASSWORD', 'USR_FIRSTNAME', 'USR_LASTNAME', 'USR_EMAIL', 'USR_DUE_DATE', 'USR_CREATE_DATE', 'USR_UPDATE_DATE', 'USR_STATUS', 'USR_COUNTRY', 'USR_CITY', 'USR_LOCATION', 'USR_ADDRESS', 'USR_PHONE', 'USR_FAX', 'USR_CELLULAR', 'USR_ZIP_CODE', 'DEP_UID', 'USR_POSITION', 'USR_RESUME', 'USR_BIRTHDAY', 'USR_ROLE', 'USR_REPORTS_TO', 'USR_REPLACED_BY', 'USR_UX', 'USR_TOTAL_INBOX', 'USR_TOTAL_DRAFT', 'USR_TOTAL_CANCELLED', 'USR_TOTAL_PARTICIPATED', 'USR_TOTAL_PAUSED', 'USR_TOTAL_COMPLETED', 'USR_TOTAL_UNASSIGNED', 'USR_COST_BY_HOUR', 'USR_UNIT_COST', 'USR_BOOKMARK_START_CASES', ),
|
||||
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, )
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -160,10 +163,10 @@ abstract class BaseUsersPeer
|
||||
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
|
||||
*/
|
||||
private static $fieldKeys = array (
|
||||
BasePeer::TYPE_PHPNAME => array ('UsrUid' => 0, 'UsrUsername' => 1, 'UsrPassword' => 2, 'UsrFirstname' => 3, 'UsrLastname' => 4, 'UsrEmail' => 5, 'UsrDueDate' => 6, 'UsrCreateDate' => 7, 'UsrUpdateDate' => 8, 'UsrStatus' => 9, 'UsrCountry' => 10, 'UsrCity' => 11, 'UsrLocation' => 12, 'UsrAddress' => 13, 'UsrPhone' => 14, 'UsrFax' => 15, 'UsrCellular' => 16, 'UsrZipCode' => 17, 'DepUid' => 18, 'UsrPosition' => 19, 'UsrResume' => 20, 'UsrBirthday' => 21, 'UsrRole' => 22, 'UsrReportsTo' => 23, 'UsrReplacedBy' => 24, 'UsrUx' => 25, 'UsrTotalInbox' => 26, 'UsrTotalDraft' => 27, 'UsrTotalCancelled' => 28, 'UsrTotalParticipated' => 29, 'UsrTotalPaused' => 30, 'UsrTotalCompleted' => 31, 'UsrTotalUnassigned' => 32, 'UsrCostByHour' => 33, 'UsrUnitCost' => 34, ),
|
||||
BasePeer::TYPE_COLNAME => array (UsersPeer::USR_UID => 0, UsersPeer::USR_USERNAME => 1, UsersPeer::USR_PASSWORD => 2, UsersPeer::USR_FIRSTNAME => 3, UsersPeer::USR_LASTNAME => 4, UsersPeer::USR_EMAIL => 5, UsersPeer::USR_DUE_DATE => 6, UsersPeer::USR_CREATE_DATE => 7, UsersPeer::USR_UPDATE_DATE => 8, UsersPeer::USR_STATUS => 9, UsersPeer::USR_COUNTRY => 10, UsersPeer::USR_CITY => 11, UsersPeer::USR_LOCATION => 12, UsersPeer::USR_ADDRESS => 13, UsersPeer::USR_PHONE => 14, UsersPeer::USR_FAX => 15, UsersPeer::USR_CELLULAR => 16, UsersPeer::USR_ZIP_CODE => 17, UsersPeer::DEP_UID => 18, UsersPeer::USR_POSITION => 19, UsersPeer::USR_RESUME => 20, UsersPeer::USR_BIRTHDAY => 21, UsersPeer::USR_ROLE => 22, UsersPeer::USR_REPORTS_TO => 23, UsersPeer::USR_REPLACED_BY => 24, UsersPeer::USR_UX => 25, UsersPeer::USR_TOTAL_INBOX => 26, UsersPeer::USR_TOTAL_DRAFT => 27, UsersPeer::USR_TOTAL_CANCELLED => 28, UsersPeer::USR_TOTAL_PARTICIPATED => 29, UsersPeer::USR_TOTAL_PAUSED => 30, UsersPeer::USR_TOTAL_COMPLETED => 31, UsersPeer::USR_TOTAL_UNASSIGNED => 32, UsersPeer::USR_COST_BY_HOUR => 33, UsersPeer::USR_UNIT_COST => 34, ),
|
||||
BasePeer::TYPE_FIELDNAME => array ('USR_UID' => 0, 'USR_USERNAME' => 1, 'USR_PASSWORD' => 2, 'USR_FIRSTNAME' => 3, 'USR_LASTNAME' => 4, 'USR_EMAIL' => 5, 'USR_DUE_DATE' => 6, 'USR_CREATE_DATE' => 7, 'USR_UPDATE_DATE' => 8, 'USR_STATUS' => 9, 'USR_COUNTRY' => 10, 'USR_CITY' => 11, 'USR_LOCATION' => 12, 'USR_ADDRESS' => 13, 'USR_PHONE' => 14, 'USR_FAX' => 15, 'USR_CELLULAR' => 16, 'USR_ZIP_CODE' => 17, 'DEP_UID' => 18, 'USR_POSITION' => 19, 'USR_RESUME' => 20, 'USR_BIRTHDAY' => 21, 'USR_ROLE' => 22, 'USR_REPORTS_TO' => 23, 'USR_REPLACED_BY' => 24, 'USR_UX' => 25, 'USR_TOTAL_INBOX' => 26, 'USR_TOTAL_DRAFT' => 27, 'USR_TOTAL_CANCELLED' => 28, 'USR_TOTAL_PARTICIPATED' => 29, 'USR_TOTAL_PAUSED' => 30, 'USR_TOTAL_COMPLETED' => 31, 'USR_TOTAL_UNASSIGNED' => 32, 'USR_COST_BY_HOUR' => 33, 'USR_UNIT_COST' => 34, ),
|
||||
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, )
|
||||
BasePeer::TYPE_PHPNAME => array ('UsrUid' => 0, 'UsrUsername' => 1, 'UsrPassword' => 2, 'UsrFirstname' => 3, 'UsrLastname' => 4, 'UsrEmail' => 5, 'UsrDueDate' => 6, 'UsrCreateDate' => 7, 'UsrUpdateDate' => 8, 'UsrStatus' => 9, 'UsrCountry' => 10, 'UsrCity' => 11, 'UsrLocation' => 12, 'UsrAddress' => 13, 'UsrPhone' => 14, 'UsrFax' => 15, 'UsrCellular' => 16, 'UsrZipCode' => 17, 'DepUid' => 18, 'UsrPosition' => 19, 'UsrResume' => 20, 'UsrBirthday' => 21, 'UsrRole' => 22, 'UsrReportsTo' => 23, 'UsrReplacedBy' => 24, 'UsrUx' => 25, 'UsrTotalInbox' => 26, 'UsrTotalDraft' => 27, 'UsrTotalCancelled' => 28, 'UsrTotalParticipated' => 29, 'UsrTotalPaused' => 30, 'UsrTotalCompleted' => 31, 'UsrTotalUnassigned' => 32, 'UsrCostByHour' => 33, 'UsrUnitCost' => 34, 'UsrBookmarkStartCases' => 35, ),
|
||||
BasePeer::TYPE_COLNAME => array (UsersPeer::USR_UID => 0, UsersPeer::USR_USERNAME => 1, UsersPeer::USR_PASSWORD => 2, UsersPeer::USR_FIRSTNAME => 3, UsersPeer::USR_LASTNAME => 4, UsersPeer::USR_EMAIL => 5, UsersPeer::USR_DUE_DATE => 6, UsersPeer::USR_CREATE_DATE => 7, UsersPeer::USR_UPDATE_DATE => 8, UsersPeer::USR_STATUS => 9, UsersPeer::USR_COUNTRY => 10, UsersPeer::USR_CITY => 11, UsersPeer::USR_LOCATION => 12, UsersPeer::USR_ADDRESS => 13, UsersPeer::USR_PHONE => 14, UsersPeer::USR_FAX => 15, UsersPeer::USR_CELLULAR => 16, UsersPeer::USR_ZIP_CODE => 17, UsersPeer::DEP_UID => 18, UsersPeer::USR_POSITION => 19, UsersPeer::USR_RESUME => 20, UsersPeer::USR_BIRTHDAY => 21, UsersPeer::USR_ROLE => 22, UsersPeer::USR_REPORTS_TO => 23, UsersPeer::USR_REPLACED_BY => 24, UsersPeer::USR_UX => 25, UsersPeer::USR_TOTAL_INBOX => 26, UsersPeer::USR_TOTAL_DRAFT => 27, UsersPeer::USR_TOTAL_CANCELLED => 28, UsersPeer::USR_TOTAL_PARTICIPATED => 29, UsersPeer::USR_TOTAL_PAUSED => 30, UsersPeer::USR_TOTAL_COMPLETED => 31, UsersPeer::USR_TOTAL_UNASSIGNED => 32, UsersPeer::USR_COST_BY_HOUR => 33, UsersPeer::USR_UNIT_COST => 34, UsersPeer::USR_BOOKMARK_START_CASES => 35, ),
|
||||
BasePeer::TYPE_FIELDNAME => array ('USR_UID' => 0, 'USR_USERNAME' => 1, 'USR_PASSWORD' => 2, 'USR_FIRSTNAME' => 3, 'USR_LASTNAME' => 4, 'USR_EMAIL' => 5, 'USR_DUE_DATE' => 6, 'USR_CREATE_DATE' => 7, 'USR_UPDATE_DATE' => 8, 'USR_STATUS' => 9, 'USR_COUNTRY' => 10, 'USR_CITY' => 11, 'USR_LOCATION' => 12, 'USR_ADDRESS' => 13, 'USR_PHONE' => 14, 'USR_FAX' => 15, 'USR_CELLULAR' => 16, 'USR_ZIP_CODE' => 17, 'DEP_UID' => 18, 'USR_POSITION' => 19, 'USR_RESUME' => 20, 'USR_BIRTHDAY' => 21, 'USR_ROLE' => 22, 'USR_REPORTS_TO' => 23, 'USR_REPLACED_BY' => 24, 'USR_UX' => 25, 'USR_TOTAL_INBOX' => 26, 'USR_TOTAL_DRAFT' => 27, 'USR_TOTAL_CANCELLED' => 28, 'USR_TOTAL_PARTICIPATED' => 29, 'USR_TOTAL_PAUSED' => 30, 'USR_TOTAL_COMPLETED' => 31, 'USR_TOTAL_UNASSIGNED' => 32, 'USR_COST_BY_HOUR' => 33, 'USR_UNIT_COST' => 34, 'USR_BOOKMARK_START_CASES' => 35, ),
|
||||
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, )
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -334,6 +337,8 @@ abstract class BaseUsersPeer
|
||||
|
||||
$criteria->addSelectColumn(UsersPeer::USR_UNIT_COST);
|
||||
|
||||
$criteria->addSelectColumn(UsersPeer::USR_BOOKMARK_START_CASES);
|
||||
|
||||
}
|
||||
|
||||
const COUNT = 'COUNT(USERS.USR_UID)';
|
||||
|
||||
@@ -1485,6 +1485,16 @@
|
||||
<column name="USR_TOTAL_UNASSIGNED" type="INTEGER" default="0"/>
|
||||
<column name="USR_COST_BY_HOUR" type="DECIMAL" size="7,2" required="false" default="0"/>
|
||||
<column name="USR_UNIT_COST" type="VARCHAR" size="50" required="false" default=""/>
|
||||
<column name="USR_BOOKMARK_START_CASES" type="LONGVARCHAR" required="false">
|
||||
<vendor type="mysql">
|
||||
<parameter name="Field" value="USR_BOOKMARK_START_CASES"/>
|
||||
<parameter name="Type" value="MEDIUMTEXT"/>
|
||||
<parameter name="Null" value="YES"/>
|
||||
<parameter name="Key" value=""/>
|
||||
<parameter name="Default" value=""/>
|
||||
<parameter name="Extra" value=""/>
|
||||
</vendor>
|
||||
</column>
|
||||
<validator column="USR_STATUS">
|
||||
<rule name="validValues" value="ACTIVE|INACTIVE|VACATION|CLOSED" message="Please select a valid type."/>
|
||||
<rule name="required" message="Type is required."/>
|
||||
|
||||
@@ -715,6 +715,7 @@ CREATE TABLE `USERS`
|
||||
`USR_TOTAL_UNASSIGNED` INTEGER default 0,
|
||||
`USR_COST_BY_HOUR` DECIMAL(7,2) default 0,
|
||||
`USR_UNIT_COST` VARCHAR(50) default '',
|
||||
`USR_BOOKMARK_START_CASES` MEDIUMTEXT,
|
||||
PRIMARY KEY (`USR_UID`)
|
||||
)ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Users';
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -2288,4 +2288,134 @@ class Cases
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get process list for start case
|
||||
*
|
||||
* @param string $usrUid id of user
|
||||
* @param string $typeView type of view
|
||||
*
|
||||
* return array Return an array with process list that the user can start.
|
||||
*/
|
||||
public function getCasesListStarCase($usrUid, $typeView)
|
||||
{
|
||||
try {
|
||||
Validator::usrUid($usrUid, '$usr_uid');
|
||||
|
||||
$case = new \Cases();
|
||||
$response = $case->getProcessListStartCase($usrUid, $typeView);
|
||||
|
||||
return $response;
|
||||
} catch (\Exception $e) {
|
||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get process list bookmark for start case
|
||||
*
|
||||
* @param string $usrUid id of user
|
||||
* @param string $typeView type of view
|
||||
*
|
||||
* return array Return an array with process list that the user can start.
|
||||
*/
|
||||
public function getCasesListBookmarkStarCase($usrUid, $typeView)
|
||||
{
|
||||
try {
|
||||
Validator::usrUid($usrUid, '$usr_uid');
|
||||
|
||||
$user = new \Users();
|
||||
$fields = $user->load($usrUid);
|
||||
$bookmark = empty($fields['USR_BOOKMARK_START_CASES']) ? array() : unserialize($fields['USR_BOOKMARK_START_CASES']);
|
||||
|
||||
//Getting group id and adding the user id
|
||||
$group = new \Groups();
|
||||
$groups = $group->getActiveGroupsForAnUser($usrUid);
|
||||
$groups[] = $usrUid;
|
||||
|
||||
$c = new \Criteria();
|
||||
$c->clearSelectColumns();
|
||||
$c->addSelectColumn(\TaskPeer::TAS_UID);
|
||||
$c->addSelectColumn(\TaskPeer::PRO_UID);
|
||||
$c->addJoin(\TaskPeer::PRO_UID, \ProcessPeer::PRO_UID, \Criteria::LEFT_JOIN);
|
||||
$c->addJoin(\TaskPeer::TAS_UID, \TaskUserPeer::TAS_UID, \Criteria::LEFT_JOIN);
|
||||
$c->add(\ProcessPeer::PRO_STATUS, 'ACTIVE');
|
||||
$c->add(\TaskPeer::TAS_START, 'TRUE');
|
||||
$c->add(\TaskUserPeer::USR_UID, $groups, \Criteria::IN);
|
||||
$c->add(\TaskPeer::TAS_UID, $bookmark, \Criteria::IN);
|
||||
|
||||
$c->addAsColumn('TAS_TITLE', 'C1.CON_VALUE');
|
||||
$c->addAlias("C1", 'CONTENT');
|
||||
$tasTitleConds = array();
|
||||
$tasTitleConds[] = array(\TaskPeer::TAS_UID, 'C1.CON_ID');
|
||||
$tasTitleConds[] = array(
|
||||
'C1.CON_CATEGORY',
|
||||
\DBAdapter::getStringDelimiter() . 'TAS_TITLE' . \DBAdapter::getStringDelimiter()
|
||||
);
|
||||
$tasTitleConds[] = array(
|
||||
'C1.CON_LANG',
|
||||
\DBAdapter::getStringDelimiter() . SYS_LANG . \DBAdapter::getStringDelimiter()
|
||||
);
|
||||
$c->addJoinMC( $tasTitleConds, \Criteria::LEFT_JOIN );
|
||||
|
||||
$c->addAsColumn('PRO_TITLE', 'C2.CON_VALUE');
|
||||
$c->addAlias("C2", 'CONTENT');
|
||||
$proTitleConds = array();
|
||||
$proTitleConds[] = array(\ProcessPeer::PRO_UID, 'C2.CON_ID');
|
||||
$proTitleConds[] = array(
|
||||
'C2.CON_CATEGORY',
|
||||
\DBAdapter::getStringDelimiter() . 'PRO_TITLE' . \DBAdapter::getStringDelimiter()
|
||||
);
|
||||
$proTitleConds[] = array(
|
||||
'C2.CON_LANG',
|
||||
\DBAdapter::getStringDelimiter() . SYS_LANG . \DBAdapter::getStringDelimiter()
|
||||
);
|
||||
$c->addJoinMC( $proTitleConds, \Criteria::LEFT_JOIN );
|
||||
|
||||
if ($typeView == 'category') {
|
||||
$c->addAsColumn('PRO_CATEGORY', 'PCS.PRO_CATEGORY');
|
||||
$c->addAsColumn('CATEGORY_NAME', 'PCSCAT.CATEGORY_NAME');
|
||||
$c->addAlias('PCS', 'PROCESS');
|
||||
$c->addAlias('PCSCAT', 'PROCESS_CATEGORY');
|
||||
$aConditions = array();
|
||||
$aConditions[] = array(\TaskPeer::PRO_UID, 'PCS.PRO_UID');
|
||||
$c->addJoinMC( $aConditions, \Criteria::LEFT_JOIN );
|
||||
$aConditions = array();
|
||||
$aConditions[] = array('PCS.PRO_CATEGORY', 'PCSCAT.CATEGORY_UID');
|
||||
$c->addJoinMC( $aConditions, \Criteria::LEFT_JOIN );
|
||||
}
|
||||
|
||||
$rs = \TaskPeer::doSelectRS($c);
|
||||
|
||||
$rs->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
$processList = array();
|
||||
while ($rs->next()) {
|
||||
$row = $rs->getRow();
|
||||
if ($typeView == 'category') {
|
||||
$processList[] = array(
|
||||
'tas_uid' => $row['TAS_UID'],
|
||||
'pro_title' => $row['PRO_TITLE'] . '(' . $row['TAS_TITLE'] . ')',
|
||||
'pro_uid' => $row['PRO_UID'],
|
||||
'pro_category' => $row['PRO_CATEGORY'],
|
||||
'category_name' => $row['CATEGORY_NAME']
|
||||
);
|
||||
} else {
|
||||
$processList[] = array(
|
||||
'tas_uid' => $row['TAS_UID'],
|
||||
'pro_title' => $row['PRO_TITLE'] . '(' . $row['TAS_TITLE'] . ')',
|
||||
'pro_uid' => $row['PRO_UID']
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
if (count($processList) == 0) {
|
||||
$processList['success'] = 'failure';
|
||||
$processList['message'] = G::LoadTranslation('ID_USER_PROCESS_NOT_START');
|
||||
}
|
||||
|
||||
return $processList;
|
||||
} catch (\Exception $e) {
|
||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1193,6 +1193,31 @@ class User
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* change Bookmarks of an user
|
||||
*
|
||||
* @access public
|
||||
* @param $userUID
|
||||
* @param $tasUid
|
||||
* @param $type
|
||||
* @return void
|
||||
*/
|
||||
public function updateBookmark($userUID, $tasUid, $type)
|
||||
{
|
||||
$this->userObj = new \Users();
|
||||
$fields = $this->userObj->load($userUID);
|
||||
$bookmark = empty($fields['USR_BOOKMARK_START_CASES']) ? array() : unserialize($fields['USR_BOOKMARK_START_CASES']);
|
||||
$position = array_search($tasUid, $bookmark);
|
||||
|
||||
if ($type === 'INSERT' and $position === false) {
|
||||
$bookmark[] = $tasUid;
|
||||
} elseif ($type === 'DELETE' and $position !== false) {
|
||||
unset($bookmark[$position]);
|
||||
}
|
||||
$fields['USR_BOOKMARK_START_CASES'] = serialize($bookmark);
|
||||
$this->userObj->update($fields);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check permission
|
||||
*
|
||||
|
||||
@@ -4,7 +4,6 @@ namespace ProcessMaker\Services\Api;
|
||||
use \ProcessMaker\Services\Api;
|
||||
use \Luracast\Restler\RestException;
|
||||
|
||||
|
||||
/**
|
||||
* Cases Api Controller
|
||||
*
|
||||
@@ -1045,5 +1044,52 @@ class Cases extends Api
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get process list for start case
|
||||
*
|
||||
* @url GET /start-cases
|
||||
*
|
||||
* @param string $type_view {@from path}
|
||||
* @return array
|
||||
*
|
||||
*/
|
||||
public function doGetCasesListStarCase(
|
||||
$type_view = ''
|
||||
) {
|
||||
try {
|
||||
$usr_uid = $this->getUserId();
|
||||
$case = new \ProcessMaker\BusinessModel\Cases();
|
||||
|
||||
$response = $case->getCasesListStarCase($usr_uid, $type_view);
|
||||
|
||||
return $response;
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get process list bookmark for start case
|
||||
*
|
||||
* @url GET /bookmark-start-cases
|
||||
*
|
||||
* @param string $type_view {@from path}
|
||||
* @return array
|
||||
*
|
||||
*/
|
||||
public function doGetCasesListBookmarkStarCase(
|
||||
$type_view = ''
|
||||
) {
|
||||
try {
|
||||
$usr_uid = $this->getUserId();
|
||||
$case = new \ProcessMaker\BusinessModel\Cases();
|
||||
|
||||
$response = $case->getCasesListBookmarkStarCase($usr_uid, $type_view);
|
||||
|
||||
return $response;
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -137,5 +137,41 @@ class User extends Api
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Save Bookmark start case
|
||||
* @url POST /bookmark/:tas_uid
|
||||
*
|
||||
* @param string $tas_uid {@min 32}{@max 32}
|
||||
*
|
||||
*/
|
||||
public function doPostBookmarkStartCase($tas_uid)
|
||||
{
|
||||
try {
|
||||
$userLoggedUid = $this->getUserId();
|
||||
$user = new \ProcessMaker\BusinessModel\User();
|
||||
$user->updateBookmark($userLoggedUid, $tas_uid, 'INSERT');
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete Bookmark start case
|
||||
* @url DELETE /bookmark/:tas_uid
|
||||
*
|
||||
* @param string $tas_uid {@min 32}{@max 32}
|
||||
*
|
||||
*/
|
||||
public function doDeleteBookmarkStartCase($tas_uid)
|
||||
{
|
||||
try {
|
||||
$userLoggedUid = $this->getUserId();
|
||||
$user = new \ProcessMaker\BusinessModel\User();
|
||||
$user->updateBookmark($userLoggedUid, $tas_uid, 'DELETE');
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user