Merge pull request #675 from brayanpereyra/BUG-8344

BUG 8344 I modify query to permissios the casas notes
This commit is contained in:
julceslauhub
2012-10-08 09:43:57 -07:00
7 changed files with 148 additions and 36 deletions

View File

@@ -4769,10 +4769,15 @@ class Cases
$RESULT_OBJECTS['OUTPUT_DOCUMENTS'] = array_merge_recursive(
G::arrayDiff($MAIN_OBJECTS['VIEW']['OUTPUT_DOCUMENTS'],$MAIN_OBJECTS['BLOCK']['OUTPUT_DOCUMENTS']),
G::arrayDiff($MAIN_OBJECTS['DELETE']['OUTPUT_DOCUMENTS'],$MAIN_OBJECTS['BLOCK']['OUTPUT_DOCUMENTS'])
);
);
$RESULT_OBJECTS['CASES_NOTES'] = G::arrayDiff(
$MAIN_OBJECTS['VIEW']['CASES_NOTES'], $MAIN_OBJECTS['BLOCK']['CASES_NOTES']
);
array_push($RESULT_OBJECTS['DYNAFORMS'], -1);
array_push($RESULT_OBJECTS['INPUT_DOCUMENTS'], -1);
array_push($RESULT_OBJECTS['OUTPUT_DOCUMENTS'], -1);
array_push($RESULT_OBJECTS['CASES_NOTES'], -1);
return $RESULT_OBJECTS;
}
@@ -4790,7 +4795,7 @@ class Cases
$aCase = $this->loadCase($APP_UID);
$USER_PERMISSIONS = Array();
$GROUP_PERMISSIONS = Array();
$RESULT = Array("DYNAFORM" => Array(), "INPUT" => Array(), "OUTPUT" => Array());
$RESULT = Array("DYNAFORM" => Array(), "INPUT" => Array(), "OUTPUT" => Array(), "CASES_NOTES" => 0);
//permissions per user
$oCriteria = new Criteria('workflow');
@@ -4808,11 +4813,12 @@ class Cases
$oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, '')->addOr(
$oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, '0')
)
)->addOr(
$oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, 'ALL')->addOr(
$oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, '')->addOr(
$oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, '0')
)
)
);
$oCriteria->add(
$oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, 'ALL')->addOr(
$oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, '')->addOr(
$oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, '0')
)
)
);
@@ -4843,11 +4849,12 @@ class Cases
$oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, '')->addOr(
$oCriteria->getNewCriterion(ObjectPermissionPeer::TAS_UID, '0')
)
)->addOr(
$oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, 'ALL')->addOr(
$oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, '')->addOr(
$oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, '0')
)
)
);
$oCriteria->add(
$oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, 'ALL')->addOr(
$oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, '')->addOr(
$oCriteria->getNewCriterion(ObjectPermissionPeer::OP_CASE_STATUS, '0')
)
)
);
@@ -4858,7 +4865,6 @@ class Cases
}
}
$PERMISSIONS = array_merge($USER_PERMISSIONS, $GROUP_PERMISSIONS);
foreach ($PERMISSIONS as $row) {
$USER = $row['USR_UID'];
$USER_RELATION = $row['OP_USER_RELATION'];
@@ -4944,6 +4950,7 @@ class Cases
}
$oDataset->next();
}
$RESULT['CASES_NOTES'] = 1;
break;
case 'DYNAFORM':
$oCriteria = new Criteria('workflow');
@@ -5017,13 +5024,17 @@ class Cases
$oDataset->next();
}
break;
case 'CASES_NOTES':
$RESULT['CASES_NOTES'] = 1;
break;
}
}
}
return Array(
"DYNAFORMS" => $RESULT['DYNAFORM'],
"INPUT_DOCUMENTS" => $RESULT['INPUT'],
"OUTPUT_DOCUMENTS" => $RESULT['OUTPUT']
"OUTPUT_DOCUMENTS" => $RESULT['OUTPUT'],
"CASES_NOTES" => $RESULT['CASES_NOTES']
);
}

View File

@@ -3492,6 +3492,10 @@ class processMap {
$sObject = G::LoadTranslation('ID_ALL');
}
break;
case 'CASES_NOTES' :
$sObjectType = G::LoadTranslation('ID_CASES_NOTES');
$sObject = G::LoadTranslation('ID_ALL');
break;
default :
$sObjectType = G::LoadTranslation('ID_ALL');
$sObject = G::LoadTranslation('ID_ALL');

View File

@@ -17,7 +17,6 @@ class AppProxy extends HttpProxyController
*/
function getNotesList($httpData)
{
require_once ( "classes/model/AppNotes.php" );
$appUid = null;
if (isset($httpData->appUid) && trim($httpData->appUid) != "") {
@@ -29,6 +28,22 @@ class AppProxy extends HttpProxyController
}
}
G::LoadClass('case');
$case = new Cases();
$proUid = ($httpData->pro == '') ? $_SESSION['PROCESS'] : $httpData->pro;
$tasUid = ($httpData->tas == '') ? $_SESSION['TASK'] : $httpData->tas;
$usrUid = $_SESSION['USER_LOGGED'];
$respView = $case->getAllObjectsFrom($proUid, $appUid, $tasUid, $usrUid, 'VIEW');
$respBlock = $case->getAllObjectsFrom($proUid, $appUid, $tasUid, $usrUid, 'BLOCK');
if ($respView['CASES_NOTES'] == 0 && $respBlock['CASES_NOTES'] == 0) {
return array('totalCount' => 0, 'notes' => array(), 'noPerms' => 1);
}
require_once ( "classes/model/AppNotes.php" );
if (!isset($appUid)) {
throw new Exception('Can\'t resolve the Apllication ID for this request.');
}

View File

@@ -13,16 +13,28 @@ function closeCaseNotesWindow(){
}
}
function openCaseNotesWindow(appUid1, modalSw, appTitle)
function openCaseNotesWindow(appUid1, modalSw, appTitle, proUid, taskUid)
{
Ext.MessageBox.show({
msg: _('ID_CASE_NOTES_LOADING'),
progressText: 'Saving...',
width:300,
wait:true,
waitConfig: {interval:200},
animEl: 'mb7'
});
Ext.QuickTips.init();
appUid = !appUid1 ? "": appUid1;
title = appTitle;
appUid = !appUid1 ? "": appUid1;
proUid = !proUid ? "": proUid;
taskUid = !taskUid ? "": taskUid;
title = appTitle;
var startRecord=0;
var loadSize=10;
storeNotes = new Ext.data.JsonStore({
url : '../appProxy/getNotesList?appUid='+appUid,
url : '../appProxy/getNotesList?appUid='+appUid+'&pro='+proUid+'&tas='+taskUid,
root: 'notes',
totalProperty: 'totalCount',
fields: ['USR_USERNAME','USR_FIRSTNAME','USR_LASTNAME','USR_FULL_NAME','NOTE_DATE','NOTE_CONTENT', 'USR_UID', 'user'],
@@ -32,7 +44,22 @@ function openCaseNotesWindow(appUid1, modalSw, appTitle)
},
listeners:{
load:function(){
Ext.MessageBox.hide();
if ( typeof(storeNotes.reader.jsonData.noPerms != 'undefined') &&
(storeNotes.reader.jsonData.noPerms == '1') ) {
Ext.MessageBox.show({
title: _('ID_WARNING'),
msg: _('ID_CASES_NOTES_NO_PERMISSIONS'),
buttons: Ext.MessageBox.OK,
animEl: 'mb9',
icon: Ext.MessageBox.WARNING
});
return false;
}
caseNotesWindow.show();
newNoteAreaActive = false;
newNoteHandler();
caseNotesWindow.setTitle(_('ID_CASES_NOTES') + ' (' + storeNotes.data.items.length + ')');
if(storeNotes.getCount()<storeNotes.getTotalCount()){
@@ -135,7 +162,7 @@ function openCaseNotesWindow(appUid1, modalSw, appTitle)
constrain: true,
keys: {
key: 27,
fn : function(){
fn : function(){
caseNotesWindow.hide();
}
},
@@ -151,22 +178,22 @@ function openCaseNotesWindow(appUid1, modalSw, appTitle)
],
tbar:[
new Ext.form.TextArea({
text : _('ID_NEW_NOTE'),
xtype : 'textarea',
id : 'caseNoteText',
name : 'caseNoteText',
width : 330,
grow : true,
text : _('ID_NEW_NOTE'),
xtype : 'textarea',
id : 'caseNoteText',
name : 'caseNoteText',
width : 330,
grow : true,
height : 40,
growMin: 40,
growMax: 80,
maxLengthText : 500,
allowBlank :true,
selectOnFocus :true,
maxLengthText : 500,
allowBlank :true,
selectOnFocus :true,
enableKeyEvents: true,
listeners : {
scope : this,
keyup : updateTextCtr,
scope : this,
keyup : updateTextCtr,
keydown: updateTextCtr
}
})
@@ -236,10 +263,6 @@ function openCaseNotesWindow(appUid1, modalSw, appTitle)
//text: "",
width: 200
});
newNoteAreaActive = false;
caseNotesWindow.show();
newNoteHandler();
}
function updateTextCtr(body, event) {

View File

@@ -477,9 +477,12 @@ Ext.onReady ( function() {
};
function renderNote(val,p,r) {
pro = r.json.PRO_UID;
tas = r.json.TAS_UID;
appUid = r.data['APP_UID'];
title = r.data['APP_TITLE'];
return '<img src="/images/ext/default/s.gif" class="x-tree-node-icon ICON_CASES_NOTES" unselectable="off" id="extdd-17" onClick="openCaseNotesWindow(\''+appUid+'\', true, \''+title+'\')">';
return '<img src="/images/ext/default/s.gif" class="x-tree-node-icon ICON_CASES_NOTES" unselectable="off" id="extdd-17" onClick="openCaseNotesWindow(\''+appUid+'\', true, \''+title+'\', \''+pro+'\', \''+tas+'\')">';
}
//Render Full Name

View File

@@ -43,6 +43,7 @@
<option name="DYNAFORM">Dynaform</option>
<option name="INPUT">Input Document</option>
<option name="OUTPUT">Output Document</option>
<option name="CASES_NOTES">Cases Notes</option>
</en>
</OP_OBJ_TYPE>
<ALL type="dropdown" mode="edit" sqlConnection="dbarray">
@@ -163,22 +164,33 @@ if(getField('OP_OBJ_TYPE').value=='ANY')
hideRowById( 'DYNAFORMS' );
hideRowById( 'INPUTS' );
hideRowById( 'OUTPUTS' );
showRowById( 'OP_ACTION' );
}
if(getField('OP_OBJ_TYPE').value=='DYNAFORM')
{ hideRowById( 'ALL' );
hideRowById( 'INPUTS' );
hideRowById( 'OUTPUTS' );
showRowById( 'OP_ACTION' );
}
if(getField('OP_OBJ_TYPE').value=='INPUT')
{ hideRowById( 'ALL' );
hideRowById( 'DYNAFORMS' );
hideRowById( 'OUTPUTS' );
showRowById( 'OP_ACTION' );
}
if(getField('OP_OBJ_TYPE').value=='OUTPUT')
{ hideRowById( 'ALL' );
hideRowById( 'DYNAFORMS' );
hideRowById( 'INPUTS' );
showRowById( 'OP_ACTION' );
}
if(getField('OP_OBJ_TYPE').value=='CASES_NOTES')
{ hideRowById( 'ALL' );
hideRowById( 'DYNAFORMS' );
hideRowById( 'INPUTS' );
hideRowById( 'OUTPUTS' );
hideRowById( 'OP_ACTION' );
}
getOptions();
rebuildOptionsWhenLoad(getField('OP_OBJ_TYPE').value);
@@ -188,24 +200,35 @@ leimnud.event.add(document.getElementById('form[OP_OBJ_TYPE]'), 'change', functi
hideRowById( 'INPUTS' );
hideRowById( 'OUTPUTS' );
showRowById( 'DYNAFORMS' );
showRowById( 'OP_ACTION' );
}
if(getField('OP_OBJ_TYPE').value=='INPUT')
{ hideRowById( 'ALL' );
hideRowById( 'DYNAFORMS' );
hideRowById( 'OUTPUTS' );
showRowById( 'INPUTS' );
showRowById( 'OP_ACTION' );
}
if(getField('OP_OBJ_TYPE').value=='OUTPUT')
{ hideRowById( 'ALL' );
hideRowById( 'DYNAFORMS' );
hideRowById( 'INPUTS' );
showRowById( 'OUTPUTS' );
showRowById( 'OP_ACTION' );
}
if(getField('OP_OBJ_TYPE').value=='CASES_NOTES')
{ hideRowById( 'ALL' );
hideRowById( 'DYNAFORMS' );
hideRowById( 'INPUTS' );
hideRowById( 'OUTPUTS' );
hideRowById( 'OP_ACTION' );
}
if(getField('OP_OBJ_TYPE').value=='ANY')
{ hideRowById('ALL' );
hideRowById( 'DYNAFORMS' );
hideRowById( 'INPUTS' );
hideRowById( 'OUTPUTS' );
showRowById( 'OP_ACTION' );
}
rebuildOptions(getField('OP_OBJ_TYPE').value);
});

View File

@@ -43,6 +43,7 @@
<option name="DYNAFORM">Dynaform</option>
<option name="INPUT">Input Document</option>
<option name="OUTPUT">Output Document</option>
<option name="CASES_NOTES">Cases Notes</option>
</en>
</OP_OBJ_TYPE>
<ALL type="dropdown" mode="edit" sqlConnection="dbarray">
@@ -131,6 +132,7 @@ leimnud.event.add(getField('OP_OBJ_TYPE'), 'change', function() {
hideRowById('DYNAFORMS');
hideRowById('INPUTS');
hideRowById('OUTPUTS');
showRowById('OP_ACTION');
break;
case 'DYNAFORM':
getField('ALL').value = '';
@@ -141,6 +143,7 @@ leimnud.event.add(getField('OP_OBJ_TYPE'), 'change', function() {
showRowById('DYNAFORMS');
hideRowById('INPUTS');
hideRowById('OUTPUTS');
showRowById('OP_ACTION');
break;
case 'INPUT':
getField('ALL').value = '';
@@ -151,6 +154,7 @@ leimnud.event.add(getField('OP_OBJ_TYPE'), 'change', function() {
hideRowById('DYNAFORMS');
showRowById('INPUTS');
hideRowById('OUTPUTS');
showRowById('OP_ACTION');
break;
case 'OUTPUT':
getField('ALL').value = '';
@@ -161,6 +165,19 @@ leimnud.event.add(getField('OP_OBJ_TYPE'), 'change', function() {
hideRowById('DYNAFORMS');
hideRowById('INPUTS');
showRowById('OUTPUTS');
showRowById('OP_ACTION');
break;
case 'CASES_NOTES':
getField('ALL').value = '';
getField('DYNAFORMS').value = '';
getField('INPUTS').value = '';
getField('OUTPUTS').value = '';
getField('OP_ACTION').value = 'VIEW';
hideRowById('ALL');
hideRowById('DYNAFORMS');
hideRowById('INPUTS');
hideRowById('OUTPUTS');
hideRowById('OP_ACTION');
break;
}
rebuildOptions(vValue);
@@ -179,6 +196,7 @@ switch (vValue) {
hideRowById('DYNAFORMS');
hideRowById('INPUTS');
hideRowById('OUTPUTS');
showRowById('OP_ACTION');
break;
case 'DYNAFORM':
getField('ALL').value = '';
@@ -189,6 +207,7 @@ switch (vValue) {
showRowById('DYNAFORMS');
hideRowById('INPUTS');
hideRowById('OUTPUTS');
showRowById('OP_ACTION');
break;
case 'INPUT':
getField('ALL').value = '';
@@ -199,6 +218,7 @@ switch (vValue) {
hideRowById('DYNAFORMS');
hideRowById('INPUTS');
showRowById('OUTPUTS');
showRowById('OP_ACTION');
break;
case 'OUTPUT':
getField('ALL').value = '';
@@ -209,7 +229,20 @@ switch (vValue) {
hideRowById('DYNAFORMS');
hideRowById('INPUTS');
showRowById('OUTPUTS');
showRowById('OP_ACTION');
break;
case 'CASES_NOTES':
getField('ALL').value = '';
getField('DYNAFORMS').value = '';
getField('INPUTS').value = '';
getField('OUTPUTS').value = '';
getField('OP_ACTION').value = 'VIEW';
hideRowById('ALL');
hideRowById('DYNAFORMS');
hideRowById('INPUTS');
hideRowById('OUTPUTS');
hideRowById('OP_ACTION');
break;
}
getOptions();
rebuildOptions(vValue);