Merges upstream master branch manually due to conflicts in the System REST end point.

This commit is contained in:
Gustavo Cruz
2015-03-16 08:58:18 -04:00
417 changed files with 32934 additions and 567 deletions

View File

@@ -1,4 +1,4 @@
<?php
<?php
/**
* AdditionalTables.php
@@ -445,19 +445,23 @@ class AdditionalTables extends BaseAdditionalTables
$oCriteriaCount = clone $oCriteria;
eval('$count = ' . $sClassPeerName . '::doCount($oCriteria);');
}
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$sort = $filter->validateInput($_POST['sort']);
$sClassPeerName = $filter->validateInput($sClassPeerName);
if (isset($_POST['sort'])) {
if ($_POST['dir'] == 'ASC') {
if ($keyOrderUppercase) {
eval('$oCriteria->addAscendingOrderByColumn("' . $_POST['sort'] . '");');
eval('$oCriteria->addAscendingOrderByColumn("' . $sort . '");');
} else {
eval('$oCriteria->addAscendingOrderByColumn(' . $sClassPeerName . '::' . $_POST['sort'] . ');');
eval('$oCriteria->addAscendingOrderByColumn(' . $sClassPeerName . '::' . $sort . ');');
}
} else {
if ($keyOrderUppercase) {
eval('$oCriteria->addDescendingOrderByColumn("' . $_POST['sort'] . '");');
eval('$oCriteria->addDescendingOrderByColumn("' . $sort . '");');
} else {
eval('$oCriteria->addDescendingOrderByColumn(' . $sClassPeerName . '::' . $_POST['sort'] . ');');
eval('$oCriteria->addDescendingOrderByColumn(' . $sClassPeerName . '::' . $sort . ');');
}
}
}

View File

@@ -132,7 +132,11 @@ class AddonsManager extends BaseAddonsManager
$oPluginRegistry = &PMPluginRegistry::getSingleton();
require_once (PATH_PLUGINS . $this->getAddonName() . ".php");
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$requiredPath = PATH_PLUGINS . $this->getAddonName() . ".php";
$requiredPath = $filter->validateInput($requiredPath, 'path');
require_once ($requiredPath);
if ($enable) {
//$oDetails = $oPluginRegistry->getPluginDetails($this->getAddonName());

View File

@@ -103,6 +103,10 @@ class ListCanceled extends BaseListCanceled {
$oListInbox = new ListInbox();
$oListInbox->removeAll($data['APP_UID']);
$users = new Users();
$users->refreshTotal($data['USR_UID'], 'removed', 'inbox');
$users->refreshTotal($data['USR_UID'], 'add', 'canceled');
$con = Propel::getConnection( ListCanceledPeer::DATABASE_NAME );
try {
$this->fromArray( $data, BasePeer::TYPE_FIELDNAME );

View File

@@ -94,6 +94,14 @@ class ListCompleted extends BaseListCompleted
$criteriaSet->add(ListParticipatedLastPeer::APP_STATUS, 'COMPLETED');
BasePeer::doUpdate($criteriaWhere, $criteriaSet, Propel::getConnection("workflow"));
$users = new Users();
$users->refreshTotal($data['USR_UID'], 'add', 'completed');
if ($data['DEL_PREVIOUS'] != 0) {
$users->refreshTotal($data['USR_UID'], 'remove', 'inbox');
} else {
$users->refreshTotal($data['USR_UID'], 'remove', 'draft');
}
$con = Propel::getConnection( ListCompletedPeer::DATABASE_NAME );
try {
$this->fromArray( $data, BasePeer::TYPE_FIELDNAME );

View File

@@ -23,7 +23,7 @@ class ListInbox extends BaseListInbox
* @return type
*
*/
public function create($data)
public function create($data, $isSelfService = false)
{
$con = Propel::getConnection( ListInboxPeer::DATABASE_NAME );
try {
@@ -48,12 +48,27 @@ class ListInbox extends BaseListInbox
$listMyInbox->refresh($data);
// remove and create participated last
$listParticipatedLast = new ListParticipatedLast();
$listParticipatedLast->remove($data['APP_UID'], $data['USR_UID']);
$listParticipatedLast = new ListParticipatedLast();
$listParticipatedLast->create($data);
$listParticipatedLast = new ListParticipatedLast();
$listParticipatedLast->refresh($data);
if (!$isSelfService) {
$listParticipatedLast = new ListParticipatedLast();
$listParticipatedLast->remove($data['APP_UID'], $data['USR_UID']);
$listParticipatedLast = new ListParticipatedLast();
$listParticipatedLast->create($data);
$listParticipatedLast = new ListParticipatedLast();
$listParticipatedLast->refresh($data);
} else {
$data['USR_UID'] = $data['DEL_PREVIOUS_USR_UID'];
$data['DEL_CURRENT_USR_LASTNAME'] = '';
$data['DEL_CURRENT_USR_USERNAME'] = '';
$data['DEL_CURRENT_USR_FIRSTNAME'] = '';
$listParticipatedLast = new ListParticipatedLast();
$listParticipatedLast->refresh($data, $isSelfService);
$data['USR_UID'] = 'SELF_SERVICES';
$listParticipatedLast = new ListParticipatedLast();
$listParticipatedLast->create($data);
$listParticipatedLast = new ListParticipatedLast();
$listParticipatedLast->refresh($data, $isSelfService);
}
return $result;
} catch(Exception $e) {
@@ -69,8 +84,31 @@ class ListInbox extends BaseListInbox
* @return type
* @throws type
*/
public function update($data)
public function update($data, $isSelfService = false)
{
if ($isSelfService) {
$users = new Users();
$users->refreshTotal($data['USR_UID'], 'add', 'inbox');
$listParticipatedLast = new ListParticipatedLast();
$listParticipatedLast->remove($data['APP_UID'], $data['USR_UID']);
//Update - WHERE
$criteriaWhere = new Criteria("workflow");
$criteriaWhere->add(ListParticipatedLastPeer::APP_UID, $data["APP_UID"], Criteria::EQUAL);
$criteriaWhere->add(ListParticipatedLastPeer::USR_UID, 'SELF_SERVICES', Criteria::EQUAL);
$criteriaWhere->add(ListParticipatedLastPeer::DEL_INDEX, $data["DEL_INDEX"], Criteria::EQUAL);
//Update - SET
$criteriaSet = new Criteria("workflow");
$criteriaSet->add(ListParticipatedLastPeer::USR_UID, $data['USR_UID']);
BasePeer::doUpdate($criteriaWhere, $criteriaSet, Propel::getConnection("workflow"));
$listParticipatedLast = new ListParticipatedLast();
$listParticipatedLast->refresh($data);
$users = new Users();
$users->refreshTotal($data['USR_UID'], 'add', 'participated');
}
$con = Propel::getConnection( ListInboxPeer::DATABASE_NAME );
try {
$con->begin();
@@ -141,7 +179,7 @@ class ListInbox extends BaseListInbox
}
}
public function newRow ($data, $delPreviusUsrUid)
public function newRow ($data, $delPreviusUsrUid, $isInitSubprocess = false, $dataPreviusApplication = array(), $isSelfService = false)
{
$data['DEL_PREVIOUS_USR_UID'] = $delPreviusUsrUid;
if (isset($data['DEL_TASK_DUE_DATE'])) {
@@ -211,7 +249,53 @@ class ListInbox extends BaseListInbox
$data['DEL_PREVIOUS_USR_LASTNAME'] = $aRow['USR_LASTNAME'];
}
self::create($data);
$users = new Users();
$criteria = new Criteria();
$criteria->addSelectColumn(SubApplicationPeer::DEL_INDEX_PARENT);
$criteria->add( SubApplicationPeer::APP_PARENT, $data['APP_UID'], Criteria::EQUAL );
$dataset = SubApplicationPeer::doSelectRS($criteria);
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
if ($dataset->next()) {
$aSub = $dataset->getRow();
if ($aSub['DEL_INDEX_PARENT'] == $data['DEL_PREVIOUS'] && !$isSelfService) {
$users->refreshTotal($data['USR_UID'], 'add', 'inbox');
self::create($data, $isSelfService);
return 1;
}
}
if (!$isInitSubprocess) {
if ($data['APP_STATUS'] == 'DRAFT') {
$users->refreshTotal($data['USR_UID'], 'add', 'draft');
} else {
$oRow = ApplicationPeer::retrieveByPK($data['APP_UID']);
$aFields = $oRow->toArray( BasePeer::TYPE_FIELDNAME );
if ($data['DEL_INDEX'] == 2 || $aFields['APP_STATUS'] == 'DRAFT') {
$criteria = new Criteria();
$criteria->addSelectColumn(SubApplicationPeer::APP_UID);
$criteria->add( SubApplicationPeer::APP_UID, $data['APP_UID'], Criteria::EQUAL );
$dataset = SubApplicationPeer::doSelectRS($criteria);
if ($dataset->next()) {
$users->refreshTotal($delPreviusUsrUid, 'remove', 'inbox');
} else {
$users->refreshTotal($delPreviusUsrUid, 'remove', 'draft');
}
} else {
$users->refreshTotal($delPreviusUsrUid, 'remove', 'inbox');
}
if (!$isSelfService) {
$users->refreshTotal($data['USR_UID'], 'add', 'inbox');
}
}
} else {
$users->refreshTotal($data['USR_UID'], 'add', 'inbox');
if ($dataPreviusApplication['APP_STATUS'] == 'DRAFT') {
$users->refreshTotal($dataPreviusApplication['CURRENT_USER_UID'], 'remove', 'draft');
} else {
$users->refreshTotal($dataPreviusApplication['CURRENT_USER_UID'], 'remove', 'inbox');
}
}
self::create($data, $isSelfService);
}
public function loadFilters (&$criteria, $filters)

View File

@@ -26,19 +26,6 @@ class ListParticipatedLast extends BaseListParticipatedLast
*/
public function create($data)
{
$criteria = new Criteria();
$criteria->addSelectColumn(UsersPeer::USR_USERNAME);
$criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
$criteria->addSelectColumn(UsersPeer::USR_LASTNAME);
$criteria->add( UsersPeer::USR_UID, $data['USR_UID'], Criteria::EQUAL );
$dataset = UsersPeer::doSelectRS($criteria);
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$dataset->next();
$aRow = $dataset->getRow();
$data['DEL_CURRENT_USR_USERNAME'] = $aRow['USR_USERNAME'];
$data['DEL_CURRENT_USR_FIRSTNAME'] = $aRow['USR_FIRSTNAME'];
$data['DEL_CURRENT_USR_LASTNAME'] = $aRow['USR_LASTNAME'];
$criteria = new Criteria();
$criteria->addSelectColumn(ApplicationPeer::APP_STATUS);
$criteria->add( ApplicationPeer::APP_UID, $data['APP_UID'], Criteria::EQUAL );
@@ -48,6 +35,24 @@ class ListParticipatedLast extends BaseListParticipatedLast
$aRow = $dataset->getRow();
$data['APP_STATUS'] = $aRow['APP_STATUS'];
if ($data['USR_UID'] != 'SELF_SERVICES') {
$criteria = new Criteria();
$criteria->addSelectColumn(UsersPeer::USR_USERNAME);
$criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
$criteria->addSelectColumn(UsersPeer::USR_LASTNAME);
$criteria->add( UsersPeer::USR_UID, $data['USR_UID'], Criteria::EQUAL );
$dataset = UsersPeer::doSelectRS($criteria);
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$dataset->next();
$aRow = $dataset->getRow();
$data['DEL_CURRENT_USR_USERNAME'] = $aRow['USR_USERNAME'];
$data['DEL_CURRENT_USR_FIRSTNAME'] = $aRow['USR_FIRSTNAME'];
$data['DEL_CURRENT_USR_LASTNAME'] = $aRow['USR_LASTNAME'];
$users = new Users();
$users->refreshTotal($data['USR_UID'], 'add', 'participated');
}
$con = Propel::getConnection( ListParticipatedLastPeer::DATABASE_NAME );
try {
$this->fromArray( $data, BasePeer::TYPE_FIELDNAME );
@@ -102,24 +107,32 @@ class ListParticipatedLast extends BaseListParticipatedLast
* @throws type
*
*/
public function refresh ($data)
public function refresh ($data, $isSelfService = false)
{
$data['APP_STATUS'] = (empty($data['APP_STATUS'])) ? 'TO_DO' : $data['APP_STATUS'];
$criteria = new Criteria();
$criteria->addSelectColumn(UsersPeer::USR_USERNAME);
$criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
$criteria->addSelectColumn(UsersPeer::USR_LASTNAME);
$criteria->add( UsersPeer::USR_UID, $data['USR_UID'], Criteria::EQUAL );
$dataset = UsersPeer::doSelectRS($criteria);
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$dataset->next();
$aRow = $dataset->getRow();
$data['DEL_CURRENT_USR_UID'] = $data['USR_UID'];
$data['DEL_CURRENT_USR_USERNAME'] = $aRow['USR_USERNAME'];
$data['DEL_CURRENT_USR_FIRSTNAME'] = $aRow['USR_FIRSTNAME'];
$data['DEL_CURRENT_USR_LASTNAME'] = $aRow['USR_LASTNAME'];
$this->update($data);
if (!$isSelfService) {
$criteria = new Criteria();
$criteria->addSelectColumn(UsersPeer::USR_USERNAME);
$criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
$criteria->addSelectColumn(UsersPeer::USR_LASTNAME);
$criteria->add( UsersPeer::USR_UID, $data['USR_UID'], Criteria::EQUAL );
$dataset = UsersPeer::doSelectRS($criteria);
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$dataset->next();
$aRow = $dataset->getRow();
//Update - WHERE
$criteriaWhere = new Criteria("workflow");
$criteriaWhere->add(ListParticipatedLastPeer::APP_UID, $data["APP_UID"], Criteria::EQUAL);
//Update - SET
$criteriaSet = new Criteria("workflow");
$criteriaSet->add(ListParticipatedLastPeer::DEL_CURRENT_USR_USERNAME, $aRow['USR_USERNAME']);
$criteriaSet->add(ListParticipatedLastPeer::DEL_CURRENT_USR_FIRSTNAME, $aRow['USR_FIRSTNAME']);
$criteriaSet->add(ListParticipatedLastPeer::DEL_CURRENT_USR_LASTNAME, $aRow['USR_LASTNAME']);
BasePeer::doUpdate($criteriaWhere, $criteriaSet, Propel::getConnection("workflow"));
}
$this->update($data);
}
/**
@@ -132,6 +145,11 @@ class ListParticipatedLast extends BaseListParticipatedLast
*/
public function remove ($app_uid, $usr_uid)
{
$existField = ListParticipatedLastPeer::retrieveByPK($app_uid, $usr_uid);
if (! is_null( $existField )) {
$users = new Users();
$users->refreshTotal($usr_uid, 'removed', 'participated');
}
$con = Propel::getConnection( ListParticipatedLastPeer::DATABASE_NAME );
try {
$this->setAppUid($app_uid);

View File

@@ -118,6 +118,14 @@ class ListPaused extends BaseListPaused {
$oListInbox = new ListInbox();
$oListInbox->remove($data['APP_UID'], $data['DEL_INDEX']);
$users = new Users();
if ($data['APP_STATUS'] == 'DRAFT') {
$users->refreshTotal($data['USR_UID'], 'removed', 'draft');
} else {
$users->refreshTotal($data['USR_UID'], 'removed', 'inbox');
}
$users->refreshTotal($data['USR_UID'], 'add', 'paused');
$con = Propel::getConnection( ListPausedPeer::DATABASE_NAME );
try {
$this->fromArray( $data, BasePeer::TYPE_FIELDNAME );
@@ -172,8 +180,20 @@ class ListPaused extends BaseListPaused {
* @throws type
*
*/
public function remove ($app_uid, $del_index)
public function remove ($app_uid, $del_index, $data_inbox)
{
$users = new Users();
$users->refreshTotal($data_inbox['USR_UID'], 'removed', 'paused');
$oRow = ApplicationPeer::retrieveByPK($app_uid);
$aFields = $oRow->toArray( BasePeer::TYPE_FIELDNAME );
$data_inbox['APP_STATUS'] = $aFields['APP_STATUS'];
if ($data_inbox['APP_STATUS'] == 'TO_DO') {
$users->refreshTotal($data_inbox['USR_UID'], 'add', 'inbox');
}
$listInbox = new ListInbox();
$listInbox->newRow($data_inbox, $data_inbox['USR_UID']);
$con = Propel::getConnection( ListPausedPeer::DATABASE_NAME );
try {
$this->setAppUid($app_uid);