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

This commit is contained in:
Victor Saisa Lopez
2014-06-03 09:26:08 -04:00
10 changed files with 95 additions and 82 deletions

View File

@@ -14,11 +14,11 @@ ProcessMaker "Michelangelo"
Overview
--------
ProcessMaker is an open source, workflow management software suite, which
ProcessMaker is an open source, workflow management software suite, which
includes tools to automate your workflow, design forms, create documents, assign
roles and users, create routing rules, and map an individual process quickly and
easily. It's relatively lightweight and doesn't require any kind of installation
on the client computer. This file describes the requirements and installation
on the client computer. This file describes the requirements and installation
steps for the server.
License
@@ -32,3 +32,4 @@ http://www.affero.org/oagpl.html
For further information visit:
http://www.processmaker.com/

View File

@@ -293,15 +293,13 @@ class Publisher
$oFieldCondition = new FieldCondition();
//This dynaform has show/hide field conditions
$dynUid = '';
if (isset($_SESSION['CURRENT_DYN_UID']) && $_SESSION['CURRENT_DYN_UID'] != '') {
$dynUid = $_SESSION['CURRENT_DYN_UID'];
$ConditionalShowHideRoutines = $oFieldCondition->getConditionScript($_SESSION["CURRENT_DYN_UID"]); //lsl
} else {
if (isset($_SESSION['CONDITION_DYN_UID']) && $_SESSION['CONDITION_DYN_UID'] != '') {
$dynUid = $_SESSION['CONDITION_DYN_UID'];
$ConditionalShowHideRoutines = $oFieldCondition->getConditionScript($_SESSION["CONDITION_DYN_UID"]); //lsl
}
}
$ConditionalShowHideRoutines = $oFieldCondition->getConditionScript($dynUid);
}
}

View File

@@ -3178,17 +3178,12 @@ class XmlForm_Field_Checkbox extends XmlForm_Field
$checked = (isset( $value ) && ($value == $this->value)) ? 'checked' : '';
if ($this->labelOnRight) {
$html = '';
$html = "<input id='form[" . $this->name . "]' value='{$this->value}' " . $this->NSFieldType() . " name='form[" . $this->name . "]' type='checkbox' $checked $readOnly disabled >
$html = "<input value='{$this->value}' " . $this->NSFieldType() . " type='checkbox' $checked $readOnly disabled />
<span class='FormCheck'>" . $this->label . '</span></input>';
} else {
$html = "<input id='form[" . $this->name . "]' value='{$this->value}' " . $this->NSFieldType() . " name='form[" . $this->name . "]' type='checkbox' $checked $readOnly disabled/>";
$html = "<input value='{$this->value}' " . $this->NSFieldType() . " type='checkbox' $checked $readOnly disabled />";
}
$html .= "<input id='form[" . $this->name . "]' value='{$value}' name='form[" . $this->name . "]' type='hidden' />";
// if($this->hint){
// $html .= '<a href="#" onmouseout="hideTooltip()" onmouseover="showTooltip(event, \''.$this->hint.'\');return false;">
// <image src="/images/help4.gif" width="15" height="15" border="0"/>
// </a>';
// }
return $html;
}
}
@@ -3360,11 +3355,6 @@ class XmlForm_Field_Submit extends XmlForm_Field
$sLinkNextStep = 'window.location=("casesSaveDataView?UID=' . $_SESSION['CURRENT_DYN_UID'] . '");';
$html = '<input style="' . $this->style . '" class="module_app_button___gray ' . $this->className . '" id="form[' . $this->name . ']" ' . $this->NSFieldType() . ' name="form[' . $this->name . ']" type="button" value="' . G::LoadTranslation( 'ID_CONTINUE' ) . '" onclick="' . htmlentities( $sLinkNextStep, ENT_COMPAT, 'utf-8' ) . '" />';
}
$html .= '<input ';
$html .= 'id="form[' . $this->name . ']" ';
$html .= 'name="form[' . $this->name . ']" ';
$html .= 'type="hidden" value="' . $this->htmlentities( $this->label, ENT_QUOTES, 'utf-8' ) . '" />';
return $html;
} else {
return $this->htmlentities( $value, ENT_COMPAT, 'utf-8' );
@@ -3616,7 +3606,7 @@ class XmlForm_Field_Dropdown extends XmlForm_Field
$html = $html . "<option value=\"\"></option>";
}
if ($value !== $findValue) {
if ($value !== $findValue && $this->renderMode == 'view') {
$html .= "<option value=\"$value\" selected=\"selected\">$value</option>";
}

View File

@@ -588,7 +588,15 @@ abstract class ".$this->getClassname()." extends ".ClassTools::classname($this->
$script .= "
if (\$v !== null && !is_int(\$v)) {
\$ts = strtotime(\$v);
\$ts = strtotime(\$v);";
if ($col->getPhpDefaultValue() != 1) {
$script .= "
//Date/time accepts null values
if (\$v == '') {
\$ts = null;
}";
}
$script .="
if (\$ts === -1 || \$ts === false) {
throw new PropelException(\"Unable to parse date/time value for [$clo] from input: \" .
var_export(\$v, true));

View File

@@ -2843,8 +2843,9 @@ function PMFAddAttachmentToArray($arrayData, $index, $value, $suffix = " Copy({i
*
* It delete the mask a field.
*
* @name PMFAddAttachmentToArray
*
* @name PMFRemoveMask
* @label PMF Remove Mask
*
* @param string | $field | Value the field
* @param string | $separator | Separator of thousands (, or .)
* @param string | $currency | symbol of currency
@@ -2852,7 +2853,7 @@ function PMFAddAttachmentToArray($arrayData, $index, $value, $suffix = " Copy({i
*
*/
function PMRemoveMask ($field, $separator = '.', $currency = '')
function PMFRemoveMask ($field, $separator = '.', $currency = '')
{
$sep = array();
if ( trim($currency) != '') {

View File

@@ -3125,7 +3125,6 @@ class wsBase
return $result;
}
if (empty( $userUid )) {
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " userUid" );
@@ -3133,8 +3132,7 @@ class wsBase
return $result;
}
if (! empty( $unpauseDate )) {
if( strlen($unpauseDate) >=10 ){
if (! preg_match( "/^\d{4}-\d{2}-\d{2}| \d{2}:\d{2}:\d{2}$/", $unpauseDate )) {
$result = new wsResponse( 100, G::LoadTranslation( "ID_INVALID_DATA" ) . " $unpauseDate" );
@@ -3142,8 +3140,9 @@ class wsBase
return $result;
}
} else {
$unpauseDate = null;
}
$case = new Cases();
$case->pauseCase( $caseUid, $delIndex, $userUid, $unpauseDate );
@@ -3154,7 +3153,6 @@ class wsBase
);
$g->sessionVarRestore();
return $result;
} catch (Exception $e) {
$result = new wsResponse(100, $e->getMessage());

View File

@@ -20,12 +20,6 @@ if (! isset ($_REQUEST ['action'])) {
print G::json_encode ($res);
die ();
}
if (! function_exists ($_REQUEST['action']) || !G::isUserFunction($_REQUEST['action'])) {
$res ['success'] = false;
$res ['message'] = 'The requested action does not exist';
print G::json_encode ($res);
die ();
}
if (($_REQUEST['action']) != 'rename') {
$functionName = $_REQUEST ['action'];
@@ -48,6 +42,12 @@ if (($_REQUEST['action']) != 'rename') {
renameFolder ($oldname, $newname, $uid);
}
if (! function_exists ($_REQUEST['action']) || !G::isUserFunction($_REQUEST['action'])) {
$res ['success'] = false;
$res ['message'] = 'The requested action does not exist';
print G::json_encode ($res);
die ();
}
/////////////////////////////////////////////
function renameFolder($oldname, $newname, $uid)

View File

@@ -34,6 +34,7 @@ catch(z){
itemSelected = "";
lastDir = "";
var conn = new Ext.data.Connection();
var showDirs = 'noFolders';
streamFilefromPM=function(fileStream) {
Ext.Ajax.request({
@@ -605,6 +606,9 @@ function getRequestParams() {
}
else {
sOptiondir='documents';
if (selectedRows[0].data.owner == '') {
sOptiondir='directory';
}
selitems = Array(selectedRows.length);
if( selectedRows.length > 0 ) {
@@ -1128,18 +1132,10 @@ var gridtb = new Ext.Toolbar(
handler : function(btn, e) {
if (btn.pressed) {
datastore.sendWhat = 'both';
loadDir();
} else {
datastore.sendWhat = 'files';
loadDir();
}
if (showDirs) {
Ext.getCmp("showOrHiDirs").setText(_('ID_SHOW_DIRS'));
showDirs = false;
} else {
Ext.getCmp("showOrHiDirs").setText(_('ID_HIDE_DIRS'));
showDirs = true;
}
loadDir();
}
}), '-', new Ext.form.TextField({
name : "filterValue",
@@ -1321,11 +1317,15 @@ rowExpander, {
header: _("ID_SIZE"),
dataIndex: "size",
width: 50,
sortable: false,
hideable: false,
hidden: true
}, {
header: _("ID_PERMISSIONS"),
dataIndex: "perms",
width: 100,
sortable: false,
hideable: false,
hidden: true
}, {
dataIndex: "is_deletable",
@@ -1373,28 +1373,34 @@ rowExpander, {
cm.defaultSortable = true;
function handleRowClick(sm, rowIndex) {//alert(rowIndex);
// console.log("Row Clicked: "+rowIndex);
var selections = sm.getSelections();
tb = ext_itemgrid.getTopToolbar();
if (selections.length > 1) {
// tb.items.get('tb_delete').enable();
tb.items.get('tb_delete')[permitodelete==1 ? 'enable': 'disable']();
tb.items.get('tb_rename').disable();
tb.items.get('tb_download').hide();
//tb.items.get('tb_download').disable();
} else if (selections.length == 1) {
// tb.items.get('tb_delete')[selections[0].get('is_deletable') ? 'enable': 'disable']();
tb.items.get('tb_delete')[permitodelete==1 ? 'enable': 'disable']();
tb.items.get('tb_rename')[selections[0].get('is_deletable') ? 'disable': 'disable']();
tb.items.get('tb_download')[selections[0].get('is_readable')
&& selections[0].get('is_file') ? 'show' : 'hide']();
} else {
tb.items.get('tb_delete').disable();
tb.items.get('tb_rename').disable();
tb.items.get('tb_download').hide();
}
return true;
//console.log("Row Clicked: ", rowIndex);
var selections = sm.getSelections();
tb = ext_itemgrid.getTopToolbar();
if (selections.length > 1) {
//tb.items.get('tb_delete').enable();
tb.items.get('tb_delete')[permitodelete==1 ? 'enable': 'disable']();
tb.items.get('tb_rename').disable();
tb.items.get('tb_download').hide();
//tb.items.get('tb_download').disable();
} else if (selections.length == 1) {
//tb.items.get('tb_delete')[selections[0].get('is_deletable') ? 'enable': 'disable']();
tb.items.get('tb_delete')[permitodelete==1 ? 'enable': 'disable']();
tb.items.get('tb_rename')[selections[0].get('is_deletable') ? 'disable': 'disable']();
tb.items.get('tb_download')[selections[0].get('is_readable')
&& selections[0].get('is_file') ? 'show' : 'hide']();
if (showDirs == 'folders') {
Ext.getCmp("showOrHiDirs").setText(_('ID_SHOW_DIRS'));
showDirs = 'noFolders';
} else {
Ext.getCmp("showOrHiDirs").setText(_('ID_HIDE_DIRS'));
showDirs = 'folders';
}
} else {
tb.items.get('tb_delete').disable();
tb.items.get('tb_rename').disable();
tb.items.get('tb_download').hide();
}
return true;
}
@@ -1402,18 +1408,23 @@ function handleRowClick(sm, rowIndex) {//alert(rowIndex);
function loadDir() {
// console.info("loadDir");
// console.trace();
itemSelected = "loadDir";
datastore.load({
params : {
start: 0,
limit: 100,
dir : datastore.directory,
node : datastore.directory,
option : 'gridDocuments',
action : 'expandNode',
sendWhat : datastore.sendWhat
itemSelected = "loadDir";
datastore.load({
params : {
start: 0,
limit: 100,
dir : datastore.directory,
node : datastore.directory,
option : 'gridDocuments',
action : 'expandNode',
sendWhat : datastore.sendWhat
}
});
if (datastore.sendWhat == 'files') {
Ext.getCmp("showOrHiDirs").setText(_('ID_SHOW_DIRS'));
} else {
Ext.getCmp("showOrHiDirs").setText(_('ID_HIDE_DIRS'));
}
});
}
function rowContextMenu(grid, rowIndex, e, f) {
@@ -1438,6 +1449,14 @@ function rowContextMenu(grid, rowIndex, e, f) {
gridCtxMenu.items.get('gc_rename')[selections[0].get('is_deletable') ? 'disable': 'disable']();
gridCtxMenu.items.get('gc_download')[selections[0].get('is_readable')
&& selections[0].get('is_file') ? 'enable' : 'disable']();
if (showDirs == 'folders') {
Ext.getCmp("showOrHiDirs").setText(_('ID_SHOW_DIRS'));
showDirs = 'noFolders';
} else {
Ext.getCmp("showOrHiDirs").setText(_('ID_HIDE_DIRS'));
showDirs = 'folders';
}
}
gridCtxMenu.show(e.getTarget(), 'tr-br?');

View File

@@ -399,11 +399,9 @@ statusDashletInstance = function(){
var data = {
DAS_INS_UID: rows[i].data.DAS_INS_UID,
DAS_INS_TITLE: rows[i].data.DAS_INS_TITLE,
DAS_UID: rows[i].data.DAS_INS_UID,
DAS_INS_STATUS: status,
DAS_STATUS: status
DAS_INS_STATUS: status
};
Ext.Ajax.request({
url: 'saveDashletInstance',
method: 'POST',

View File

@@ -64,9 +64,9 @@ var editStagesMap = function(sProcessUID) {
oPanel.events = {
remove: function() {
delete(oPanel);
if(menu_edit.maked === true){
if(typeof menu_edit != "undefined" && menu_edit.maked === true){
menu_edit.remove();
} else if (menu_add.maked === true) {
} else if (typeof menu_add != "undefined" && menu_add.maked === true) {
menu_add.remove();
}
}.extend(this)