diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index c0b58a134..8bb3c22b2 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -5069,7 +5069,8 @@ class Cases "INPUT" => Array(), "OUTPUT" => Array(), "CASES_NOTES" => 0, - "MSGS_HISTORY" => Array() + "MSGS_HISTORY" => Array(), + "SUMMARY_FORM" => 0 ); //permissions per user @@ -5226,6 +5227,7 @@ class Cases $oDataset->next(); } $RESULT['CASES_NOTES'] = 1; + $RESULT['SUMMARY_FORM'] = 1; // Message History $RESULT['MSGS_HISTORY'] = array('PERMISSION' => $ACTION); @@ -5373,6 +5375,9 @@ class Cases case 'CASES_NOTES': $RESULT['CASES_NOTES'] = 1; break; + case 'SUMMARY_FORM': + $RESULT['SUMMARY_FORM'] = 1; + break; case 'MSGS_HISTORY': // Permission $RESULT['MSGS_HISTORY'] = array('PERMISSION' => $ACTION); @@ -5424,7 +5429,8 @@ class Cases "INPUT_DOCUMENTS" => $RESULT['INPUT'], "OUTPUT_DOCUMENTS" => $RESULT['OUTPUT'], "CASES_NOTES" => $RESULT['CASES_NOTES'], - "MSGS_HISTORY" => $RESULT['MSGS_HISTORY'] + "MSGS_HISTORY" => $RESULT['MSGS_HISTORY'], + "SUMMARY_FORM" => $RESULT['SUMMARY_FORM'] ); } diff --git a/workflow/engine/classes/class.processMap.php b/workflow/engine/classes/class.processMap.php index 5c6bc4883..a72a8e904 100755 --- a/workflow/engine/classes/class.processMap.php +++ b/workflow/engine/classes/class.processMap.php @@ -3636,6 +3636,10 @@ class processMap $sObjectType = G::LoadTranslation('MSGS_HISTORY'); $sObject = G::LoadTranslation('ID_ALL'); break; + case 'SUMMARY_FORM': + $sObjectType = G::LoadTranslation('ID_SUMMARY_FORM'); + $sObject = G::LoadTranslation('ID_ALL'); + break; default: $sObjectType = G::LoadTranslation('ID_ALL'); $sObject = G::LoadTranslation('ID_ALL'); diff --git a/workflow/engine/methods/cases/summary.php b/workflow/engine/methods/cases/summary.php index bb9430059..8e7858379 100755 --- a/workflow/engine/methods/cases/summary.php +++ b/workflow/engine/methods/cases/summary.php @@ -47,6 +47,12 @@ try { } $applicationFields = $case->loadCase( $_REQUEST['APP_UID'], $_REQUEST['DEL_INDEX'] ); + $respView = $case->getAllObjectsFrom( $applicationFields['PRO_UID'], $_REQUEST['APP_UID'], $applicationFields['TAS_UID'], $_SESSION['USER_LOGGED'], 'VIEW' ); + + if ($respView['SUMMARY_FORM'] == 0) { + throw new Exception( G::LoadTranslation( 'ID_SUMMARY_FORM_NO_PERMISSIONS' ) ); + } + if (file_exists( PATH_DYNAFORM . $applicationFields['PRO_UID'] . PATH_SEP . $_REQUEST['DYN_UID'] . '.xml' )) { $applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = ''; $applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP'] = '#'; diff --git a/workflow/engine/xmlform/processes/processes_EditObjectPermission.xml b/workflow/engine/xmlform/processes/processes_EditObjectPermission.xml index 8d378cc5f..aa8369836 100755 --- a/workflow/engine/xmlform/processes/processes_EditObjectPermission.xml +++ b/workflow/engine/xmlform/processes/processes_EditObjectPermission.xml @@ -45,6 +45,7 @@ + @@ -187,7 +188,7 @@ if (getField('OP_OBJ_TYPE').value=='OUTPUT') { hideRowById( 'INPUTS' ); showRowById( 'OP_ACTION' ); } -if (getField('OP_OBJ_TYPE').value=='CASES_NOTES') { +if (getField('OP_OBJ_TYPE').value=='CASES_NOTES' || getField('OP_OBJ_TYPE').value=='SUMMARY_FORM') { hideRowById( 'ALL' ); hideRowById( 'DYNAFORMS' ); hideRowById( 'INPUTS' ); @@ -227,7 +228,7 @@ leimnud.event.add(document.getElementById('form[OP_OBJ_TYPE]'), 'change', functi showRowById( 'OUTPUTS' ); showRowById( 'OP_ACTION' ); } - if (getField('OP_OBJ_TYPE').value=='CASES_NOTES') { + if (getField('OP_OBJ_TYPE').value=='CASES_NOTES' || getField('OP_OBJ_TYPE').value=='SUMMARY_FORM') { hideRowById( 'ALL' ); hideRowById( 'DYNAFORMS' ); hideRowById( 'INPUTS' ); diff --git a/workflow/engine/xmlform/processes/processes_NewObjectPermission.xml b/workflow/engine/xmlform/processes/processes_NewObjectPermission.xml index 5e75caf33..56a7acd0b 100755 --- a/workflow/engine/xmlform/processes/processes_NewObjectPermission.xml +++ b/workflow/engine/xmlform/processes/processes_NewObjectPermission.xml @@ -45,6 +45,7 @@ + @@ -171,6 +172,7 @@ leimnud.event.add(getField('OP_OBJ_TYPE'), 'change', function() { showRowById('OP_ACTION'); break; case 'CASES_NOTES': + case 'SUMMARY_FORM': getField('ALL').value = ''; getField('DYNAFORMS').value = ''; getField('INPUTS').value = ''; @@ -246,6 +248,7 @@ switch (vValue) { showRowById('OP_ACTION'); break; case 'CASES_NOTES': + case 'SUMMARY_FORM': getField('ALL').value = ''; getField('DYNAFORMS').value = ''; getField('INPUTS').value = '';