BUG 4596 Filter the user/group list once added to the permission list and separate the user and group dropdown SOLVED

- Changed the dropdown by a dropdown with optgroups
This commit is contained in:
Julio Cesar Laura
2012-08-30 16:02:50 -04:00
parent 53bac5cef7
commit c5e130460e
5 changed files with 298 additions and 107 deletions

View File

@@ -3551,29 +3551,39 @@ class processMap {
* @return boolean true * @return boolean true
*/ */
function newObjectPermission($sProcessUID) { function newObjectPermission($sProcessUID) {
$aUsersGroups = array(); $usersGroups = '<select pm:dependent="0" pm:label="' . G::LoadTranslation('ID_GROUP_USERS') . '" name="form[GROUP_USER]" id="form[GROUP_USER]" class="module_app_input___gray">';
$aUsersGroups [] = array('UID' => 'char', 'LABEL' => 'char');
$start = ''; $start = '';
$limit = ''; $limit = '';
$filter = ''; $filter = '';
$groups = new Groupwf(); $groups = new Groupwf();
$result = $groups->getAllGroup($start,$limit,$filter); $result = $groups->getAllGroup($start,$limit,$filter);
foreach ($result['rows'] as $results) { if (count($result['rows']) > 0) {
$aUsersGroups [] = array('UID' => '2|' . $results ['GRP_UID'], 'LABEL' => $results ['GRP_TITLE'] . ' (' . G::LoadTranslation('ID_GROUP') . ')'); $usersGroups .= '<optgroup label="' . G::LoadTranslation('ID_GROUPS') . '">';
foreach ($result['rows'] as $results) {
$usersGroups .= '<option value="2|' . $results ['GRP_UID'] . '">' . htmlentities($results ['GRP_TITLE'], ENT_QUOTES, 'UTF-8') . '</option>';
}
$usersGroups .= '</optgroup>';
} }
$oCriteria = new Criteria('workflow'); $oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(UsersPeer::USR_UID); $oCriteria->addSelectColumn(UsersPeer::USR_UID);
$oCriteria->addSelectColumn(UsersPeer::USR_USERNAME); $oCriteria->addSelectColumn(UsersPeer::USR_USERNAME);
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME); $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
$oCriteria->addAscendingOrderByColumn(UsersPeer::USR_FIRSTNAME);
$oCriteria->addAscendingOrderByColumn(UsersPeer::USR_LASTNAME);
$oCriteria->add(UsersPeer::USR_STATUS, 'ACTIVE'); $oCriteria->add(UsersPeer::USR_STATUS, 'ACTIVE');
$oDataset = UsersPeer::doSelectRS($oCriteria); $oDataset = UsersPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
while ($aRow = $oDataset->getRow()) { if ($oDataset->getRecordCount() > 0) {
$aUsersGroups [] = array('UID' => '1|' . $aRow ['USR_UID'], 'LABEL' => $aRow ['USR_FIRSTNAME'] . ' ' . $aRow ['USR_LASTNAME'] . ' (' . $aRow ['USR_USERNAME'] . ')'); $usersGroups .= '<optgroup label="' . G::LoadTranslation('ID_USERS') . '">';
$oDataset->next(); while ($aRow = $oDataset->getRow()) {
$usersGroups .= '<option value="1|' . $aRow ['USR_UID'] . '">' . htmlentities($aRow ['USR_FIRSTNAME'] . ' ' . $aRow ['USR_LASTNAME'] . ' (' . $aRow ['USR_USERNAME'] . ')', ENT_QUOTES, 'UTF-8') . '</option>';
$oDataset->next();
}
$usersGroups .= '</optgroup>';
} }
$usersGroups .= '</select>';
$aAllObjects = array(); $aAllObjects = array();
$aAllObjects [] = array('UID' => 'char', 'LABEL' => 'char'); $aAllObjects [] = array('UID' => 'char', 'LABEL' => 'char');
$aAllDynaforms = array(); $aAllDynaforms = array();
@@ -3617,7 +3627,6 @@ class processMap {
} }
global $_DBArray; global $_DBArray;
$_DBArray = (isset($_SESSION ['_DBArray']) ? $_SESSION ['_DBArray'] : ''); $_DBArray = (isset($_SESSION ['_DBArray']) ? $_SESSION ['_DBArray'] : '');
$_DBArray ['usersGroups'] = $aUsersGroups;
$_DBArray ['allObjects'] = $aAllObjects; $_DBArray ['allObjects'] = $aAllObjects;
$_DBArray ['allDynaforms'] = $aAllDynaforms; $_DBArray ['allDynaforms'] = $aAllDynaforms;
$_DBArray ['allInputs'] = $aAllInputs; $_DBArray ['allInputs'] = $aAllInputs;
@@ -3625,7 +3634,7 @@ class processMap {
$_SESSION ['_DBArray'] = $_DBArray; $_SESSION ['_DBArray'] = $_DBArray;
global $G_PUBLISH; global $G_PUBLISH;
$G_PUBLISH = new Publisher ( ); $G_PUBLISH = new Publisher ( );
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'processes/processes_NewObjectPermission', '', array('LANG' => SYS_LANG, 'PRO_UID' => $sProcessUID, 'ID_DELETE' => G::LoadTranslation('ID_DELETE')), 'processes_SaveObjectPermission'); $G_PUBLISH->AddContent('xmlform', 'xmlform', 'processes/processes_NewObjectPermission', '', array('GROUP_USER' => $usersGroups, 'LANG' => SYS_LANG, 'PRO_UID' => $sProcessUID, 'ID_DELETE' => G::LoadTranslation('ID_DELETE')), 'processes_SaveObjectPermission');
G::RenderPage('publish', 'raw'); G::RenderPage('publish', 'raw');
return true; return true;
} }
@@ -3661,7 +3670,6 @@ class processMap {
$aFields ['PRO_UID'] = $aRows ['PRO_UID']; $aFields ['PRO_UID'] = $aRows ['PRO_UID'];
$aFields ['OP_CASE_STATUS'] = $aRows ['OP_CASE_STATUS']; $aFields ['OP_CASE_STATUS'] = $aRows ['OP_CASE_STATUS'];
$aFields ['TAS_UID'] = $aRows ['TAS_UID']; $aFields ['TAS_UID'] = $aRows ['TAS_UID'];
$aFields ['GROUP_USER'] = $user;
$aFields ['OP_TASK_SOURCE'] = $aRows ['OP_TASK_SOURCE']; $aFields ['OP_TASK_SOURCE'] = $aRows ['OP_TASK_SOURCE'];
$aFields ['OP_PARTICIPATE'] = $aRows ['OP_PARTICIPATE']; $aFields ['OP_PARTICIPATE'] = $aRows ['OP_PARTICIPATE'];
$aFields ['OP_OBJ_TYPE'] = $aRows ['OP_OBJ_TYPE']; $aFields ['OP_OBJ_TYPE'] = $aRows ['OP_OBJ_TYPE'];
@@ -3682,8 +3690,7 @@ class processMap {
break; break;
} }
$aUsersGroups = array(); $usersGroups = '<select pm:dependent="0" pm:label="' . G::LoadTranslation('ID_GROUP_USERS') . '" name="form[GROUP_USER]" id="form[GROUP_USER]" class="module_app_input___gray">';
$aUsersGroups [] = array('UID' => 'char', 'LABEL' => 'char');
$oCriteria = new Criteria('workflow'); $oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(GroupwfPeer::GRP_UID); $oCriteria->addSelectColumn(GroupwfPeer::GRP_UID);
$oCriteria->addAsColumn('GRP_TITLE', ContentPeer::CON_VALUE); $oCriteria->addAsColumn('GRP_TITLE', ContentPeer::CON_VALUE);
@@ -3693,12 +3700,17 @@ class processMap {
$aConditions [] = array(ContentPeer::CON_LANG, DBAdapter::getStringDelimiter () . SYS_LANG . DBAdapter::getStringDelimiter ()); $aConditions [] = array(ContentPeer::CON_LANG, DBAdapter::getStringDelimiter () . SYS_LANG . DBAdapter::getStringDelimiter ());
$oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
$oCriteria->add(GroupwfPeer::GRP_STATUS, 'ACTIVE'); $oCriteria->add(GroupwfPeer::GRP_STATUS, 'ACTIVE');
$oCriteria->addAscendingOrderByColumn('GRP_TITLE');
$oDataset = GroupwfPeer::doSelectRS($oCriteria); $oDataset = GroupwfPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
while ($aRow = $oDataset->getRow()) { if ($oDataset->getRecordCount() > 0) {
$aUsersGroups [] = array('UID' => '2|' . $aRow ['GRP_UID'], 'LABEL' => $aRow ['GRP_TITLE'] . ' (' . G::LoadTranslation('ID_GROUP') . ')'); $usersGroups .= '<optgroup label="' . G::LoadTranslation('ID_GROUPS') . '">';
$oDataset->next(); while ($aRow = $oDataset->getRow()) {
$usersGroups .= '<option value="2|' . $aRow ['GRP_UID'] . '"' . ('2|' . $aRow ['GRP_UID'] == $user ? ' selected="selected"' : '') . '>' . htmlentities($aRow ['GRP_TITLE'], ENT_QUOTES, 'UTF-8') . '</option>';
$oDataset->next();
}
$usersGroups .= '</optgroup>';
} }
$oCriteria = new Criteria('workflow'); $oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(UsersPeer::USR_UID); $oCriteria->addSelectColumn(UsersPeer::USR_UID);
@@ -3706,12 +3718,18 @@ class processMap {
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME); $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
$oCriteria->add(UsersPeer::USR_STATUS, 'ACTIVE'); $oCriteria->add(UsersPeer::USR_STATUS, 'ACTIVE');
$oCriteria->addAscendingOrderByColumn(UsersPeer::USR_FIRSTNAME);
$oCriteria->addAscendingOrderByColumn(UsersPeer::USR_LASTNAME);
$oDataset = UsersPeer::doSelectRS($oCriteria); $oDataset = UsersPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
while ($aRow = $oDataset->getRow()) { if ($oDataset->getRecordCount() > 0) {
$aUsersGroups [] = array('UID' => '1|' . $aRow ['USR_UID'], 'LABEL' => $aRow ['USR_FIRSTNAME'] . ' ' . $aRow ['USR_LASTNAME'] . ' (' . $aRow ['USR_USERNAME'] . ')'); $usersGroups .= '<optgroup label="' . G::LoadTranslation('ID_USERS') . '">';
$oDataset->next(); while ($aRow = $oDataset->getRow()) {
$usersGroups .= '<option value="1|' . $aRow ['USR_UID'] . '"' . ('1|' . $aRow ['USR_UID'] == $user ? ' selected="selected"' : '') . '>' . htmlentities($aRow ['USR_FIRSTNAME'] . ' ' . $aRow ['USR_LASTNAME'] . ' (' . $aRow ['USR_USERNAME'] . ')', ENT_QUOTES, 'UTF-8') . '</option>';
$oDataset->next();
}
$usersGroups .= '</optgroup>';
} }
$aAllObjects = array(); $aAllObjects = array();
@@ -3755,16 +3773,17 @@ class processMap {
} }
global $_DBArray; global $_DBArray;
$_DBArray = (isset($_SESSION ['_DBArray']) ? $_SESSION ['_DBArray'] : ''); $_DBArray = (isset($_SESSION ['_DBArray']) ? $_SESSION ['_DBArray'] : '');
$_DBArray ['usersGroups'] = $aUsersGroups;
$_DBArray ['allObjects'] = $aAllObjects; $_DBArray ['allObjects'] = $aAllObjects;
$_DBArray ['allDynaforms'] = $aAllDynaforms; $_DBArray ['allDynaforms'] = $aAllDynaforms;
$_DBArray ['allInputs'] = $aAllInputs; $_DBArray ['allInputs'] = $aAllInputs;
$_DBArray ['allOutputs'] = $aAllOutputs; $_DBArray ['allOutputs'] = $aAllOutputs;
$_SESSION ['_DBArray'] = $_DBArray; $_SESSION ['_DBArray'] = $_DBArray;
global $G_PUBLISH; $aFields['GROUP_USER'] = $usersGroups;
$G_PUBLISH = new Publisher ( ); $aFields['ID_DELETE'] = G::LoadTranslation('ID_DELETE');
global $G_PUBLISH;
$G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'processes/processes_EditObjectPermission', '', $aFields, 'processes_SaveEditObjectPermission'); $G_PUBLISH->AddContent('xmlform', 'xmlform', 'processes/processes_EditObjectPermission', '', $aFields, 'processes_SaveEditObjectPermission');
G::RenderPage('publish', 'raw'); G::RenderPage('publish', 'raw');
} }

View File

@@ -0,0 +1,76 @@
<form id="{$form_id}" name="{$form_name}" action="{$form_action}" class="{$form_className}" method="post" encType="multipart/form-data" style="margin:0px;" onsubmit="return validateForm('{$form_objectRequiredFields}');"> <div class="borderForm" style="width:{$form_width}; padding-left:0; padding-right:0; border-width:{$form_border};">
<div class="boxTop"><div class="a"></div><div class="b"></div><div class="c"></div></div>
<div class="content" style="height:{$form_height};" >
<table width="99%">
<tr>
<td valign='top'>
<input type="hidden" class="notValidateThisFields" name="__notValidateThisFields__" id="__notValidateThisFields__" value="{$form_objectRequiredFields}" />
<input type="hidden" name="DynaformRequiredFields" id="DynaformRequiredFields" value="{$form_objectRequiredFields}" />
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<td class='FormTitle' colspan="2" align="">{$form.TITLE}</td>
</tr>
<tr style="display: none">
<td colspan="2">{$form.PRO_UID}</td>
</tr>
<tr style="display: none">
<td colspan="2">{$form.OP_UID}</td>
</tr>
<tr>
<td class='FormLabel' width="{$form_labelWidth}">{$OP_CASE_STATUS}</td>
<td class='FormFieldContent' width='{$form_fieldContentWidth}' >{$form.OP_CASE_STATUS}</td>
</tr>
<tr>
<td class='FormLabel' width="{$form_labelWidth}">{$TAS_UID}</td>
<td class='FormFieldContent' width='{$form_fieldContentWidth}' >{$form.TAS_UID}</td>
</tr>
<tr>
<td class='FormLabel' width="{$form_labelWidth}">{$GROUP_USER}</td>
<td class='FormFieldContent' width='{$form_fieldContentWidth}' >{$form.GROUP_USER_DROPDOWN}</td>
</tr>
<tr>
<td class='FormLabel' width="{$form_labelWidth}">{$OP_TASK_SOURCE}</td>
<td class='FormFieldContent' width='{$form_fieldContentWidth}' >{$form.OP_TASK_SOURCE}</td>
</tr>
<tr>
<td class='FormLabel' width="{$form_labelWidth}">{$OP_PARTICIPATE}</td>
<td class='FormFieldContent' width='{$form_fieldContentWidth}' >{$form.OP_PARTICIPATE}</td>
</tr>
<tr>
<td class='FormLabel' width="{$form_labelWidth}">{$OP_OBJ_TYPE}</td>
<td class='FormFieldContent' width='{$form_fieldContentWidth}' >{$form.OP_OBJ_TYPE}</td>
</tr>
<tr>
<td class='FormLabel' width="{$form_labelWidth}">{$ALL}</td>
<td class='FormFieldContent' width='{$form_fieldContentWidth}' >{$form.ALL}</td>
</tr>
<tr>
<td class='FormLabel' width="{$form_labelWidth}">{$DYNAFORMS}</td>
<td class='FormFieldContent' width='{$form_fieldContentWidth}' >{$form.DYNAFORMS}</td>
</tr>
<tr>
<td class='FormLabel' width="{$form_labelWidth}">{$INPUTS}</td>
<td class='FormFieldContent' width='{$form_fieldContentWidth}' >{$form.INPUTS}</td>
</tr>
<tr>
<td class='FormLabel' width="{$form_labelWidth}">{$OUTPUTS}</td>
<td class='FormFieldContent' width='{$form_fieldContentWidth}' >{$form.OUTPUTS}</td>
</tr>
<tr>
<td class='FormLabel' width="{$form_labelWidth}">{$OP_ACTION}</td>
<td class='FormFieldContent' width='{$form_fieldContentWidth}' >{$form.OP_ACTION}</td>
</tr>
<tr>
<td class='FormButton' colspan="2" align="center">{$form.CREATE}</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="boxBottom"><div class="a"></div><div class="b"></div><div class="c"></div></div>
</div>
<script type="text/javascript">
{$form.JS}
</script>
</form>

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<dynaForm name="processes_EditObjectPermission" width="100%"> <dynaForm name="processes_EditObjectPermission" width="100%" enableTemplate="1">
<TITLE type="title"> <TITLE type="title">
<en>Edit Specific Permission</en> <en>Edit Specific Permission</en>
<es><![CDATA[Nuevo permiso específico]]></es></TITLE> </TITLE>
<LANG type="private"/> <LANG type="private"/>
<PRO_UID type="hidden"/> <PRO_UID type="hidden"/>
<OP_UID type="hidden"/> <OP_UID type="hidden"/>
@@ -13,109 +13,201 @@
<option name="DRAFT">DRAFT</option> <option name="DRAFT">DRAFT</option>
<option name="TO_DO">TO_DO</option> <option name="TO_DO">TO_DO</option>
<option name="PAUSED">PAUSED</option> <option name="PAUSED">PAUSED</option>
<option name="COMPLETED">COMPLETED</option></en> <option name="COMPLETED">COMPLETED</option>
<es>Estado del Caso </en>
<option name="">Todas las tareas</option>
</es>
</OP_CASE_STATUS> </OP_CASE_STATUS>
<TAS_UID type="dropdown" mode="edit"><![CDATA[ <TAS_UID type="dropdown" mode="edit">
SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE <![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]>
]]><en>Target Task<option name="">All Tasks</option></en> <en>Target Task
<option name="">All Tasks</option>
</en>
</TAS_UID> </TAS_UID>
<GROUP_USER type="dropdown" mode="edit" sqlConnection="dbarray"> <GROUP_USER type="text" mode="view">
SELECT * FROM usersGroups
<en>Group or User</en> <en>Group or User</en>
</GROUP_USER> </GROUP_USER>
<OP_TASK_SOURCE type="dropdown" mode="edit"><![CDATA[ <GROUP_USER_DROPDOWN type="title" mode="view" enableHtml="1" label="@#GROUP_USER" />
SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE
]]><en>Origin Task<option name="">All Tasks</option></en> <OP_TASK_SOURCE type="dropdown" mode="edit">
<![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]><en>Origin Task<option name="">All Tasks</option></en>
</OP_TASK_SOURCE> </OP_TASK_SOURCE>
<OP_PARTICIPATE type="yesno" defaultvalue="1" mode="edit"> <OP_PARTICIPATE type="yesno" defaultvalue="1" mode="edit">
<en>Participation required?</en> <en>Participation required?</en>
</OP_PARTICIPATE> </OP_PARTICIPATE>
<OP_OBJ_TYPE type="dropdown" mode="edit" dependentfields="OP_OBJ_UID"> <OP_OBJ_TYPE type="dropdown" mode="edit" dependentfields="OP_OBJ_UID">
<en>Type <en>Type
<option name="ANY">All</option> <option name="ANY">All</option>
<option name="DYNAFORM">Dynaform</option> <option name="DYNAFORM">Dynaform</option>
<option name="INPUT">Input Document</option> <option name="INPUT">Input Document</option>
<option name="OUTPUT">Output Document</option></en> <option name="OUTPUT">Output Document</option>
</en>
</OP_OBJ_TYPE> </OP_OBJ_TYPE>
<ALL type="dropdown" mode="edit" sqlConnection="dbarray"> <ALL type="dropdown" mode="edit" sqlConnection="dbarray">
SELECT * FROM allObjects SELECT * FROM allObjects
<en>Object<option name="">All</option></en> <en>Object
<option name="">All</option>
</en>
</ALL> </ALL>
<DYNAFORMS type="dropdown" mode="edit" sqlConnection="dbarray"> <DYNAFORMS type="dropdown" mode="edit" sqlConnection="dbarray">
SELECT * FROM allDynaforms SELECT * FROM allDynaforms
<en>DynaForm<option name="">All</option></en> <en>DynaForm<option name="">All</option></en>
</DYNAFORMS> </DYNAFORMS>
<INPUTS type="dropdown" mode="edit" sqlConnection="dbarray"> <INPUTS type="dropdown" mode="edit" sqlConnection="dbarray">
SELECT * FROM allInputs SELECT * FROM allInputs
<en>Input Document<option name="">All</option></en> <en>Input Document<option name="">All</option></en>
</INPUTS> </INPUTS>
<OUTPUTS type="dropdown" mode="edit" sqlConnection="dbarray"> <OUTPUTS type="dropdown" mode="edit" sqlConnection="dbarray">
SELECT * FROM allOutputs SELECT * FROM allOutputs
<en>Output Document<option name="">All</option></en> <en>Output Document<option name="">All</option></en>
</OUTPUTS> </OUTPUTS>
<OP_ACTION type="dropdown" mode="edit"> <OP_ACTION type="dropdown" mode="edit">
<en>Permission<option name="VIEW">View</option><option name="BLOCK">Block</option></en> <en>Permission<option name="VIEW">View</option><option name="BLOCK">Block</option><option name="DELETE">Delete</option></en>
</OP_ACTION> </OP_ACTION>
<CREATE type="button" onclick="saveObjectPermission(this.form);"> <CREATE type="button" onclick="saveObjectPermission(this.form);">
<en>Save</en> <en>Save</en>
</CREATE> </CREATE>
<ID_DELETE type="private"/> <ID_DELETE type="private"/>
<JS type="javascript"><![CDATA[ <JS type="javascript"><![CDATA[
var aOptions = [];
var getOptions = function() {
var oAux = getField('OP_ACTION');
for (var i = 0; i < oAux.options.length; i++) {
if (oAux.options[i].value != 'DELETE') {
aOptions.push({label:oAux.options[i].text, value: oAux.options[i].value});
}
}
};
var rebuildOptionsWhenLoad = function(sType) {
var selectedValue = getField('OP_ACTION').value;
switch (sType) {
case 'INPUT':
case 'OUTPUT':
var oAux = getField('OP_ACTION');
while (oAux.options.length) {
oAux.remove(0);
}
for (var i = 0; i < aOptions.length; i++) {
var oOption = document.createElement('OPTION');
oOption.value = aOptions[i].value;
oOption.text = aOptions[i].label;
if (oOption.value == selectedValue) {
oOption.selected = true;
}
oAux.options.add(oOption);
}
var oOption = document.createElement('OPTION');
oOption.value = 'DELETE';
oOption.text = '@#ID_DELETE';
if (oOption.value == selectedValue) {
oOption.selected = true;
}
oAux.options.add(oOption);
break
default:
var oAux = getField('OP_ACTION');
while (oAux.options.length) {
oAux.remove(0);
}
for (var i = 0; i < aOptions.length; i++) {
var oOption = document.createElement('OPTION');
oOption.value = aOptions[i].value;
oOption.text = aOptions[i].label;
if (oOption.value == selectedValue) {
oOption.selected = true;
}
oAux.options.add(oOption);
}
break;
}
oAux.value = selectedValue;
};
var rebuildOptions = function(sType) {
switch (sType) {
case 'INPUT':
case 'OUTPUT':
var oAux = getField('OP_ACTION');
while (oAux.options.length) {
oAux.remove(0);
}
for (var i = 0; i < aOptions.length; i++) {
var oOption = document.createElement('OPTION');
oOption.value = aOptions[i].value;
oOption.text = aOptions[i].label;
oAux.options.add(oOption);
}
var oOption = document.createElement('OPTION');
oOption.value = 'DELETE';
oOption.text = '@#ID_DELETE';
oAux.options.add(oOption);
break
default:
var oAux = getField('OP_ACTION');
while (oAux.options.length) {
oAux.remove(0);
}
for (var i = 0; i < aOptions.length; i++) {
var oOption = document.createElement('OPTION');
oOption.value = aOptions[i].value;
oOption.text = aOptions[i].label;
oAux.options.add(oOption);
}
break;
}
};
if(getField('OP_OBJ_TYPE').value=='ANY') if(getField('OP_OBJ_TYPE').value=='ANY')
{ hideRowById('ALL' ); { hideRowById('ALL' );
hideRowById( 'DYNAFORMS' ); hideRowById( 'DYNAFORMS' );
hideRowById( 'INPUTS' ); hideRowById( 'INPUTS' );
hideRowById( 'OUTPUTS' ); hideRowById( 'OUTPUTS' );
} }
if(getField('OP_OBJ_TYPE').value=='DYNAFORM') if(getField('OP_OBJ_TYPE').value=='DYNAFORM')
{ hideRowById( 'ALL' ); { hideRowById( 'ALL' );
hideRowById( 'INPUTS' ); hideRowById( 'INPUTS' );
hideRowById( 'OUTPUTS' ); hideRowById( 'OUTPUTS' );
} }
if(getField('OP_OBJ_TYPE').value=='INPUT') if(getField('OP_OBJ_TYPE').value=='INPUT')
{ hideRowById( 'ALL' ); { hideRowById( 'ALL' );
hideRowById( 'DYNAFORMS' ); hideRowById( 'DYNAFORMS' );
hideRowById( 'OUTPUTS' ); hideRowById( 'OUTPUTS' );
} }
if(getField('OP_OBJ_TYPE').value=='OUTPUT') if(getField('OP_OBJ_TYPE').value=='OUTPUT')
{ hideRowById( 'ALL' ); { hideRowById( 'ALL' );
hideRowById( 'DYNAFORMS' ); hideRowById( 'DYNAFORMS' );
hideRowById( 'INPUTS' ); hideRowById( 'INPUTS' );
} }
getOptions();
rebuildOptionsWhenLoad(getField('OP_OBJ_TYPE').value);
leimnud.event.add(document.getElementById('form[OP_OBJ_TYPE]'), 'change', function() { leimnud.event.add(document.getElementById('form[OP_OBJ_TYPE]'), 'change', function() {
if(getField('OP_OBJ_TYPE').value=='DYNAFORM') if(getField('OP_OBJ_TYPE').value=='DYNAFORM')
{ hideRowById( 'ALL' ); { hideRowById( 'ALL' );
hideRowById( 'INPUTS' ); hideRowById( 'INPUTS' );
hideRowById( 'OUTPUTS' ); hideRowById( 'OUTPUTS' );
showRowById( 'DYNAFORMS' ); showRowById( 'DYNAFORMS' );
} }
if(getField('OP_OBJ_TYPE').value=='INPUT') if(getField('OP_OBJ_TYPE').value=='INPUT')
{ hideRowById( 'ALL' ); { hideRowById( 'ALL' );
hideRowById( 'DYNAFORMS' ); hideRowById( 'DYNAFORMS' );
hideRowById( 'OUTPUTS' ); hideRowById( 'OUTPUTS' );
showRowById( 'INPUTS' ); showRowById( 'INPUTS' );
} }
if(getField('OP_OBJ_TYPE').value=='OUTPUT') if(getField('OP_OBJ_TYPE').value=='OUTPUT')
{ hideRowById( 'ALL' ); { hideRowById( 'ALL' );
hideRowById( 'DYNAFORMS' ); hideRowById( 'DYNAFORMS' );
hideRowById( 'INPUTS' ); hideRowById( 'INPUTS' );
showRowById( 'OUTPUTS' ); showRowById( 'OUTPUTS' );
} }
if(getField('OP_OBJ_TYPE').value=='ANY') if(getField('OP_OBJ_TYPE').value=='ANY')
{ hideRowById('ALL' ); { hideRowById('ALL' );
hideRowById( 'DYNAFORMS' ); hideRowById( 'DYNAFORMS' );
hideRowById( 'INPUTS' ); hideRowById( 'INPUTS' );
hideRowById( 'OUTPUTS' ); hideRowById( 'OUTPUTS' );
} }
rebuildOptions(getField('OP_OBJ_TYPE').value);
}); });
leimnud.event.add(document.getElementById('form[OP_CASE_STATUS]'), 'change', function() { leimnud.event.add(document.getElementById('form[OP_CASE_STATUS]'), 'change', function() {
@@ -123,15 +215,15 @@ leimnud.event.add(document.getElementById('form[OP_CASE_STATUS]'), 'change', fun
var origin = document.getElementById('form[OP_TASK_SOURCE]'); var origin = document.getElementById('form[OP_TASK_SOURCE]');
var participate = document.getElementById('form[OP_PARTICIPATE]'); var participate = document.getElementById('form[OP_PARTICIPATE]');
if (document.getElementById('form[OP_CASE_STATUS]').value=='COMPLETED') if (document.getElementById('form[OP_CASE_STATUS]').value=='COMPLETED')
{ {
hideRowById(target); hideRowById(target);
hideRowById(origin); hideRowById(origin);
hideRowById(participate); hideRowById(participate);
} }
else else
{ {
showRowById(target); showRowById(target);
showRowById(origin); showRowById(origin);
showRowById(participate); showRowById(participate);
} }
}); });

View File

@@ -1,4 +1,4 @@
<form id="{$form_id}" name="{$form_name}" action="{$form_action}" class="{$form_className}" method="post" encType="multipart/form-data" style="margin:0px;" onsubmit='return validateForm("{$form_objectRequiredFields}".parseJSON());'> <form id="{$form_id}" name="{$form_name}" action="{$form_action}" class="{$form_className}" method="post" encType="multipart/form-data" style="margin:0px;" onsubmit='return validateForm("{$form_objectRequiredFields}".parseJSON());'>
<div class="borderForm" style="padding-left: 0pt; padding-right: 0pt;"> <div class="borderForm" style="padding-left: 0pt; padding-right: 0pt;">
<div class="boxTop"><div class="a"></div><div class="b"></div><div class="c"></div></div> <div class="boxTop"><div class="a"></div><div class="b"></div><div class="c"></div></div>
<div class="content" style=""> <div class="content" style="">
@@ -17,57 +17,57 @@
<tr> <tr>
<td class="FormLabel" width="{$form_labelWidth}">{$OP_CASE_STATUS}</td> <td class="FormLabel" width="{$form_labelWidth}">{$OP_CASE_STATUS}</td>
<!-- <td class='FormFieldContent' width="{$form_width}" >{$form.OP_CASE_STATUS} </td> //--> <!-- <td class='FormFieldContent' width="{$form_width}" >{$form.OP_CASE_STATUS} </td> //-->
<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.OP_CASE_STATUS}</td> <td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.OP_CASE_STATUS}</td>
</tr> </tr>
<tr> <tr>
<td class="FormLabel" width="{$form_labelWidth}">{$TAS_UID}</td> <td class="FormLabel" width="{$form_labelWidth}">{$TAS_UID}</td>
<!-- <td class='FormFieldContent' width="{$form_width}" >{$form.TAS_UID} </td> //--> <!-- <td class='FormFieldContent' width="{$form_width}" >{$form.TAS_UID} </td> //-->
<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.TAS_UID}</td> <td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.TAS_UID}</td>
</tr> </tr>
<tr> <tr>
<td class="FormLabel" width="{$form_labelWidth}">{$GROUP_USER}</td> <td class="FormLabel" width="{$form_labelWidth}">{$GROUP_USER}</td>
<!-- <td class='FormFieldContent' width="{$form_width}" >{$form.GROUP_USER} </td> //--> <!-- <td class='FormFieldContent' width="{$form_width}" >{$form.GROUP_USER} </td> //-->
<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.GROUP_USER}</td> <td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.GROUP_USER_DROPDOWN}</td>
</tr> </tr>
<tr> <tr>
<td class="FormLabel" width="{$form_labelWidth}">{$OP_TASK_SOURCE}</td> <td class="FormLabel" width="{$form_labelWidth}">{$OP_TASK_SOURCE}</td>
<!-- <td class='FormFieldContent' width="{$form_width}" >{$form.OP_TASK_SOURCE} </td> //--> <!-- <td class='FormFieldContent' width="{$form_width}" >{$form.OP_TASK_SOURCE} </td> //-->
<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.OP_TASK_SOURCE}</td> <td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.OP_TASK_SOURCE}</td>
</tr> </tr>
<tr> <tr>
<td class="FormLabel" width="{$form_labelWidth}">{$OP_PARTICIPATE}</td> <td class="FormLabel" width="{$form_labelWidth}">{$OP_PARTICIPATE}</td>
<!-- <td class='FormFieldContent' width="{$form_width}" >{$form.OP_PARTICIPATE} </td> //--> <!-- <td class='FormFieldContent' width="{$form_width}" >{$form.OP_PARTICIPATE} </td> //-->
<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.OP_PARTICIPATE}</td> <td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.OP_PARTICIPATE}</td>
</tr> </tr>
<tr> <tr>
<td class="FormLabel" width="{$form_labelWidth}">{$OP_OBJ_TYPE}</td> <td class="FormLabel" width="{$form_labelWidth}">{$OP_OBJ_TYPE}</td>
<!-- <td class='FormFieldContent' width="{$form_width}" >{$form.OP_OBJ_TYPE} </td> //--> <!-- <td class='FormFieldContent' width="{$form_width}" >{$form.OP_OBJ_TYPE} </td> //-->
<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.OP_OBJ_TYPE}</td> <td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.OP_OBJ_TYPE}</td>
</tr> </tr>
<tr> <tr>
<td class="FormLabel" width="{$form_labelWidth}">{$ALL}</td> <td class="FormLabel" width="{$form_labelWidth}">{$ALL}</td>
<!-- <td class='FormFieldContent' width="{$form_width}" >{$form.ALL} </td> //--> <!-- <td class='FormFieldContent' width="{$form_width}" >{$form.ALL} </td> //-->
<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.ALL}</td> <td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.ALL}</td>
</tr> </tr>
<tr> <tr>
<td class="FormLabel" width="{$form_labelWidth}">{$DYNAFORMS}</td> <td class="FormLabel" width="{$form_labelWidth}">{$DYNAFORMS}</td>
<!-- <td class='FormFieldContent' width="{$form_width}" >{$form.DYNAFORMS} </td> //--> <!-- <td class='FormFieldContent' width="{$form_width}" >{$form.DYNAFORMS} </td> //-->
<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.DYNAFORMS}</td> <td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.DYNAFORMS}</td>
</tr> </tr>
<tr> <tr>
<td class="FormLabel" width="{$form_labelWidth}">{$INPUTS}</td> <td class="FormLabel" width="{$form_labelWidth}">{$INPUTS}</td>
<!-- <td class='FormFieldContent' width="{$form_width}" >{$form.INPUTS} </td> //--> <!-- <td class='FormFieldContent' width="{$form_width}" >{$form.INPUTS} </td> //-->
<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.INPUTS}</td> <td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.INPUTS}</td>
</tr> </tr>
<tr> <tr>
<td class="FormLabel" width="{$form_labelWidth}">{$OUTPUTS}</td> <td class="FormLabel" width="{$form_labelWidth}">{$OUTPUTS}</td>
<!-- <td class='FormFieldContent' width="{$form_width}" >{$form.OUTPUTS} </td> //--> <!-- <td class='FormFieldContent' width="{$form_width}" >{$form.OUTPUTS} </td> //-->
<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.OUTPUTS}</td> <td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.OUTPUTS}</td>
</tr> </tr>
<tr> <tr>
<td class="FormLabel" width="{$form_labelWidth}">{$OP_ACTION}</td> <td class="FormLabel" width="{$form_labelWidth}">{$OP_ACTION}</td>
<!-- <td class='FormFieldContent' width="{$form_width}" >{$form.OP_ACTION} </td> //--> <!-- <td class='FormFieldContent' width="{$form_width}" >{$form.OP_ACTION} </td> //-->
<td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.OP_ACTION}</td> <td class="FormFieldContent" width="{$form_fieldContentWidth}">{$form.OP_ACTION}</td>
</tr> </tr>
<tr> <tr>
<td class="FormButton" colspan="2" align="center"><br/> {$form.CREATE} &nbsp; {$form.BTN_CANCEL}</td> <td class="FormButton" colspan="2" align="center"><br/> {$form.CREATE} &nbsp; {$form.BTN_CANCEL}</td>
@@ -82,4 +82,4 @@
<script type="text/javascript"> <script type="text/javascript">
{$form.JS} {$form.JS}
</script> </script>
</form> </form>

View File

@@ -6,12 +6,14 @@
<LANG type="private"/> <LANG type="private"/>
<PRO_UID type="hidden"/> <PRO_UID type="hidden"/>
<OP_CASE_STATUS type="dropdown" mode="edit"> <OP_CASE_STATUS type="dropdown" mode="edit">
<en>Status Case<option name="ALL">All</option> <en>Status Case
<option name="DRAFT">DRAFT</option> <option name="ALL">All</option>
<option name="TO_DO">TO DO</option> <option name="DRAFT">DRAFT</option>
<option name="PAUSED">PAUSED</option> <option name="TO_DO">TO DO</option>
<option name="COMPLETED">COMPLETED</option> <option name="PAUSED">PAUSED</option>
<option name="COMPLETED">COMPLETED</option>
</en> </en>
</OP_CASE_STATUS> </OP_CASE_STATUS>
@@ -21,11 +23,13 @@
<option name="">All Tasks</option> <option name="">All Tasks</option>
</en> </en>
</TAS_UID> </TAS_UID>
<GROUP_USER type="dropdown" mode="edit" sqlConnection="dbarray">
SELECT * FROM usersGroups <GROUP_USER type="text" mode="view">
<en>Group or User</en> <en>Group or User</en>
</GROUP_USER> </GROUP_USER>
<GROUP_USER_DROPDOWN type="title" mode="view" enableHtml="1" label="@#GROUP_USER" />
<OP_TASK_SOURCE type="dropdown" mode="edit"> <OP_TASK_SOURCE type="dropdown" mode="edit">
<![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]><en>Origin Task<option name="">All Tasks</option></en> <![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]><en>Origin Task<option name="">All Tasks</option></en>
</OP_TASK_SOURCE> </OP_TASK_SOURCE>
@@ -69,7 +73,7 @@
<CREATE type="button" onclick="saveObjectPermission(this.form);"> <CREATE type="button" onclick="saveObjectPermission(this.form);">
<en>Create</en> <en>Create</en>
<es>Create</es><pt>Criar</pt></CREATE> </CREATE>
<ID_DELETE type="private"/> <ID_DELETE type="private"/>
<JS type="javascript"><![CDATA[ <JS type="javascript"><![CDATA[
var aOptions = []; var aOptions = [];
@@ -213,10 +217,10 @@ rebuildOptions(vValue);
/* /*
var dynaformOnload = function() var dynaformOnload = function()
{ var oAux = document.getElementById('form[TASKS]'); { var oAux = document.getElementById('form[TASKS]');
if(document.getElementById('form[PROCESS]').value=='') if(document.getElementById('form[PROCESS]').value=='')
hideRowById(oAux); hideRowById(oAux);
else else
showRowById(oAux); showRowById(oAux);
}; };
*/ */
leimnud.event.add(document.getElementById('form[OP_CASE_STATUS]'), 'change', function() { leimnud.event.add(document.getElementById('form[OP_CASE_STATUS]'), 'change', function() {
@@ -224,15 +228,15 @@ leimnud.event.add(document.getElementById('form[OP_CASE_STATUS]'), 'change', fun
var origin = document.getElementById('form[OP_TASK_SOURCE]'); var origin = document.getElementById('form[OP_TASK_SOURCE]');
var participate = document.getElementById('form[OP_PARTICIPATE]'); var participate = document.getElementById('form[OP_PARTICIPATE]');
if (document.getElementById('form[OP_CASE_STATUS]').value=='COMPLETED') if (document.getElementById('form[OP_CASE_STATUS]').value=='COMPLETED')
{ {
hideRowById(target); hideRowById(target);
hideRowById(origin); hideRowById(origin);
hideRowById(participate); hideRowById(participate);
} }
else else
{ {
showRowById(target); showRowById(target);
showRowById(origin); showRowById(origin);
showRowById(participate); showRowById(participate);
} }
}); });
@@ -242,4 +246,4 @@ function cancel(){
} }
]]></JS> ]]></JS>
</dynaForm> </dynaForm>