Merged in 3.1 (pull request #4709)

Updating branch HOR-1500 with changes in 3.1 (2016-08-09)
This commit is contained in:
Julio Cesar Laura Avendaño
2016-08-09 11:07:46 -04:00
10 changed files with 1495 additions and 15 deletions

37
build.php Normal file
View File

@@ -0,0 +1,37 @@
<?php
/**
* Process Maker Php Build tool v. 0.3.1
* Rev. 05-27-2016
*
* Use this as an external tool for Phpstorm
* Configure as it follows:
*
* Name: PM php Builder
* Group: Process Maker
* Description: Process Maker Php Builder.
* Tools Settings
* Program: $PhpExecutable$
* Parameters:
* build.php --base_dir=$ProjectFileDir$ --mode=prod --extension
* --extensionDir=$ProjectFileDir$/workflow/engine/plugins
* Working Directory: $ProjectFileDir$
* Please, notice you can change --extensionDir to your own extension folder.
*
* Also, use the respective directory owner permisions:
* ~/processmaker$ sudo chown -R www-data:www-data workflow/public_html/
* ~/processmaker$ sudo chown -R www-data:www-data vendor/colosa/MichelangeloFE/build
*
* Use a shortcut:
*
* Go to Settings -> Appearance & Behavior -> Keymap, search for ProcessMaker, open the context
* menu of the option and select Add Keyboard Shortcut, use whatever shortcut you want, for example Alt+b
*
* If you need help: php build.php --help
*
*/
include_once('class.Build.php');
use Build\Utils\ProcessMakerPhpBuilderHelper;
$phpBuilder = new ProcessMakerPhpBuilderHelper();
$phpBuilder->utils->echoContent("Config finished, start deploying...");
$phpBuilder->buildAll();

1397
class.Build.php Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -739,6 +739,9 @@ class Cases
$cri->addSelectColumn(AppDelegationPeer::TAS_UID); $cri->addSelectColumn(AppDelegationPeer::TAS_UID);
$cri->add(AppDelegationPeer::APP_UID, $sAppUid); $cri->add(AppDelegationPeer::APP_UID, $sAppUid);
$cri->add(AppDelegationPeer::DEL_THREAD_STATUS, "OPEN"); $cri->add(AppDelegationPeer::DEL_THREAD_STATUS, "OPEN");
if(isset($fields['DEL_INDEX'])){
$cri->add(AppDelegationPeer::DEL_INDEX, $fields['DEL_INDEX']);
}
$rsCri = AppDelegationPeer::doSelectRS($cri); $rsCri = AppDelegationPeer::doSelectRS($cri);
$rsCri->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rsCri->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rsCri->next(); $rsCri->next();
@@ -908,6 +911,9 @@ class Cases
if (isset($Fields['APP_DESCRIPTION'])) { if (isset($Fields['APP_DESCRIPTION'])) {
$appFields['APP_DESCRIPTION'] = $Fields['APP_DESCRIPTION']; $appFields['APP_DESCRIPTION'] = $Fields['APP_DESCRIPTION'];
} }
if(isset($Fields['DEL_INDEX'])){
$appFields['DEL_INDEX'] = $Fields['DEL_INDEX'];
}
$arrayNewCaseTitleAndDescription = $this->newRefreshCaseTitleAndDescription($sAppUid, $appFields, $aApplicationFields); $arrayNewCaseTitleAndDescription = $this->newRefreshCaseTitleAndDescription($sAppUid, $appFields, $aApplicationFields);
@@ -2106,6 +2112,7 @@ class Cases
//DONE: Al ya existir un delegation, se puede "calcular" el caseTitle. //DONE: Al ya existir un delegation, se puede "calcular" el caseTitle.
$Fields = $Application->toArray(BasePeer::TYPE_FIELDNAME); $Fields = $Application->toArray(BasePeer::TYPE_FIELDNAME);
$aApplicationFields = $Fields['APP_DATA']; $aApplicationFields = $Fields['APP_DATA'];
$Fields['DEL_INDEX'] = $iDelIndex;
$newValues = $this->newRefreshCaseTitleAndDescription($sAppUid, $Fields, $aApplicationFields); $newValues = $this->newRefreshCaseTitleAndDescription($sAppUid, $Fields, $aApplicationFields);
if (!isset($newValues['APP_TITLE'])) { if (!isset($newValues['APP_TITLE'])) {
$newValues['APP_TITLE'] = ''; $newValues['APP_TITLE'] = '';
@@ -3943,7 +3950,7 @@ class Cases
* @return object * @return object
*/ */
public function pauseCase($sApplicationUID, $iDelegation, $sUserUID, $sUnpauseDate = null) public function pauseCase($sApplicationUID, $iDelegation, $sUserUID, $sUnpauseDate = null, $appTitle = null)
{ {
// Check if the case is unassigned // Check if the case is unassigned
if($this->isUnassignedPauseCase($sApplicationUID, $iDelegation)){ if($this->isUnassignedPauseCase($sApplicationUID, $iDelegation)){
@@ -3996,7 +4003,8 @@ class Cases
'APP_UID' => $sApplicationUID, 'APP_UID' => $sApplicationUID,
'DEL_INDEX' => $iDelegation, 'DEL_INDEX' => $iDelegation,
'USR_UID' => $sUserUID, 'USR_UID' => $sUserUID,
'APP_RESTART_DATE' => $sUnpauseDate 'APP_RESTART_DATE' => $sUnpauseDate,
'APP_TITLE' => ($appTitle != null) ? $appTitle : $aFields['APP_TITLE']
); );
$data = array_merge($aFields, $data); $data = array_merge($aFields, $data);
$oListPaused = new ListPaused(); $oListPaused = new ListPaused();

View File

@@ -1791,7 +1791,6 @@ class PMPluginRegistry
return $this->_aOpenReassignCallback; return $this->_aOpenReassignCallback;
} }
public function getPluginsData() public function getPluginsData()
{ {
return $this->_aPlugins; return $this->_aPlugins;
@@ -1834,5 +1833,20 @@ class PMPluginRegistry
str_replace(["\n", "\r", "\t"], ' ', file_get_contents($path . $pluginFile)) str_replace(["\n", "\r", "\t"], ' ', file_get_contents($path . $pluginFile))
); );
} }
}
/**
* Use this for extensions
*
* @return array with namespace and plugin folder
*/
public function getEnabledPlugins()
{
$enabledPlugins = array();
foreach ($this->_aPluginDetails as $row) {
if ($row->enabled) {
$enabledPlugins[$row->sNamespace] = $row->sPluginFolder;
}
}
return $enabledPlugins;
}
}

View File

@@ -31,7 +31,9 @@ class ListPaused extends BaseListPaused {
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$dataset->next(); $dataset->next();
$aRow = $dataset->getRow(); $aRow = $dataset->getRow();
if (!isset($data['APP_TITLE'])) {
$data['APP_TITLE'] = $aRow['APP_TITLE']; $data['APP_TITLE'] = $aRow['APP_TITLE'];
}
$criteria = new Criteria(); $criteria = new Criteria();
$criteria->addSelectColumn(ProcessPeer::PRO_TITLE); $criteria->addSelectColumn(ProcessPeer::PRO_TITLE);

View File

@@ -103,7 +103,6 @@ class ListUnassigned extends BaseListUnassigned
$criteria = new Criteria(); $criteria = new Criteria();
$criteria->addSelectColumn( ApplicationPeer::APP_NUMBER ); $criteria->addSelectColumn( ApplicationPeer::APP_NUMBER );
$criteria->addSelectColumn( ApplicationPeer::APP_TITLE );
$criteria->addSelectColumn( ApplicationPeer::APP_UPDATE_DATE ); $criteria->addSelectColumn( ApplicationPeer::APP_UPDATE_DATE );
$criteria->add( ApplicationPeer::APP_UID, $data['APP_UID'], Criteria::EQUAL ); $criteria->add( ApplicationPeer::APP_UID, $data['APP_UID'], Criteria::EQUAL );
$dataset = ApplicationPeer::doSelectRS($criteria); $dataset = ApplicationPeer::doSelectRS($criteria);

View File

@@ -12,7 +12,16 @@ if ($RBAC->userCanAccess("PM_CASES") == 1) {
"/images/simplified/folder-grey3.png", null, null, null); "/images/simplified/folder-grey3.png", null, null, null);
$G_TMP_MENU->AddIdRawOption("S_NEW_CASE", "#", G::LoadTranslation("ID_NEW_CASE"), $G_TMP_MENU->AddIdRawOption("S_NEW_CASE", "#", G::LoadTranslation("ID_NEW_CASE"),
"/images/simplified/plus-set-grey.png", null, null, null); "/images/simplified/plus-set-grey.png", null, null, null);
$G_TMP_MENU->AddIdRawOption("S_ADVANCED_SEARCH", "home/appAdvancedSearch", G::LoadTranslation("ID_ADVANCEDSEARCH"),
"/images/simplified/advancedSearch.png", null, null, null);
} }
if ($RBAC->userCanAccess('PM_ALLCASES') == 1) {
$G_TMP_MENU->AddIdRawOption(
'S_ADVANCED_SEARCH',
'home/appAdvancedSearch',
G::LoadTranslation('ID_ADVANCEDSEARCH'),
'/images/simplified/advancedSearch.png',
null,
null,
null
);
}

View File

@@ -405,8 +405,9 @@ switch (($_POST['action']) ? $_POST['action'] : $_REQUEST['action']) {
$APP_UID = $_SESSION['APPLICATION']; $APP_UID = $_SESSION['APPLICATION'];
$DEL_INDEX = $_SESSION['INDEX']; $DEL_INDEX = $_SESSION['INDEX'];
} }
$appTitle = $_POST['APP_TITLE'];
$oCase->pauseCase( $APP_UID, $DEL_INDEX, $_SESSION['USER_LOGGED'], $unpauseDate ); $oCase->pauseCase($APP_UID, $DEL_INDEX, $_SESSION['USER_LOGGED'], $unpauseDate, $appTitle);
break; break;
case 'unpauseCase': case 'unpauseCase':
$sApplicationUID = (isset( $_POST['sApplicationUID'] )) ? $_POST['sApplicationUID'] : $_SESSION['APPLICATION']; $sApplicationUID = (isset( $_POST['sApplicationUID'] )) ? $_POST['sApplicationUID'] : $_SESSION['APPLICATION'];

View File

@@ -21,6 +21,8 @@
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/ */
include_once (PATH_TRUNK."/class.Build.php");
use Build\Utils\ProcessMakerPhpBuilderHelper;
// lets display the items // lets display the items
$pluginFile = $_GET['id']; $pluginFile = $_GET['id'];
@@ -86,6 +88,16 @@ if ($handle = opendir( PATH_PLUGINS )) {
} }
} }
closedir( $handle ); closedir( $handle );
/**
* Calls PMExtensionClass Builder to include Plugins changes.
*/
$phpBuilder = new ProcessMakerPhpBuilderHelper();
$phpBuilder->enabledExtensions = $oPluginRegistry->getEnabledPlugins();
if (!empty($phpBuilder->enabledExtensions)) {
$phpBuilder->extension = true;
}
$phpBuilder->buildAll();
} }
//$oPluginRegistry->showArrays(); //$oPluginRegistry->showArrays();

View File

@@ -344,7 +344,8 @@ function pauseCase(date){
APP_UID: rowModel.data.APP_UID, APP_UID: rowModel.data.APP_UID,
DEL_INDEX: rowModel.data.DEL_INDEX, DEL_INDEX: rowModel.data.DEL_INDEX,
NOTE_REASON: noteReasonTxt, NOTE_REASON: noteReasonTxt,
NOTIFY_PAUSE: notifyReasonVal NOTIFY_PAUSE: notifyReasonVal,
APP_TITLE: rowModel.data.APP_TITLE
} }
}); });
} }