move many access checks from view into controller

issue message on receive tab if document isn't released yet, but there
are already receivers
This commit is contained in:
Uwe Steinmann 2018-01-16 18:13:41 +01:00
parent 48141e1116
commit c3e413c476

View File

@ -650,30 +650,30 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
/* Only admin has the right to remove version in any case or a regular /* Only admin has the right to remove version in any case or a regular
* user if enableVersionDeletion is on * user if enableVersionDeletion is on
*/ */
if($this->check_access('RemoveVersion')) if($accessop->check_controller_access('RemoveVersion'))
if($accessop->mayRemoveVersion($document)) { if($accessop->mayRemoveVersion($document)) {
print "<li>".$this->html_link('RemoveVersion', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-remove\"></i>".getMLText("rm_version"), false, true)."</li>"; print "<li>".$this->html_link('RemoveVersion', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-remove\"></i>".getMLText("rm_version"), false, true)."</li>";
} }
if($this->check_access('OverrideContentStatus')) if($accessop->check_controller_access('OverrideContentStatus'))
if($accessop->mayOverrideStatus($document)) { if($accessop->mayOverrideStatus($document)) {
print "<li>".$this->html_link('OverrideContentStatus', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-align-justify\"></i>".getMLText("change_status"), false, true)."</li>"; print "<li>".$this->html_link('OverrideContentStatus', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-align-justify\"></i>".getMLText("change_status"), false, true)."</li>";
} }
if($this->check_access('SetRecipients')) if($accessop->check_controller_access('SetRecipients'))
if($accessop->maySetRecipients($document)) { if($accessop->maySetRecipients($document)) {
print "<li>".$this->html_link('SetRecipients', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-check\"></i>".getMLText("change_recipients"), false, true)."</li>"; print "<li>".$this->html_link('SetRecipients', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-check\"></i>".getMLText("change_recipients"), false, true)."</li>";
} }
if($this->check_access('SetRevisors')) if($accessop->check_controller_access('SetRevisors'))
if($accessop->maySetRevisors($document)) { if($accessop->maySetRevisors($document)) {
print "<li>".$this->html_link('SetRevisors', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-refresh\"></i>".getMLText("change_revisors"), false, true)."</li>"; print "<li>".$this->html_link('SetRevisors', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-refresh\"></i>".getMLText("change_revisors"), false, true)."</li>";
} }
if($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval') { if($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval') {
// Allow changing reviewers/approvals only if not reviewed // Allow changing reviewers/approvals only if not reviewed
if($this->check_access('SetReviewersApprovers')) if($accessop->check_controller_access('SetReviewersApprovers'))
if($accessop->maySetReviewersApprovers($document)) { if($accessop->maySetReviewersApprovers($document)) {
print "<li>".$this->html_link('SetReviewersApprovers', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-edit\"></i>".getMLText("change_assignments"), false, true)."</li>"; print "<li>".$this->html_link('SetReviewersApprovers', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-edit\"></i>".getMLText("change_assignments"), false, true)."</li>";
} }
} else { } else {
if($this->check_access('SetWorkflow')) if($accessop->check_controller_access('SetWorkflow'))
if($accessop->maySetWorkflow($document)) { if($accessop->maySetWorkflow($document)) {
if(!$workflow) { if(!$workflow) {
print "<li>".$this->html_link('SetWorkflow', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-random\"></i>".getMLText("set_workflow"), false, true)."</li>"; print "<li>".$this->html_link('SetWorkflow', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-random\"></i>".getMLText("set_workflow"), false, true)."</li>";
@ -685,16 +685,16 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
print "<li>".$this->html_link('SetExpires', array('documentid'=>$documentid), array(), "<i class=\"icon-time\"></i>".getMLText("set_expiry"), false, true)."</li>"; print "<li>".$this->html_link('SetExpires', array('documentid'=>$documentid), array(), "<i class=\"icon-time\"></i>".getMLText("set_expiry"), false, true)."</li>";
} }
*/ */
if($this->check_access('AddToTransmittal')) if($accessop->check_controller_access('AddToTransmittal'))
if($dms->getAllTransmittals($user)) { if($dms->getAllTransmittals($user)) {
if($this->check_access('AddToTransmittal')) if($this->check_access('AddToTransmittal'))
print "<li>".$this->html_link('AddToTransmittal', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-list\"></i>".getMLText("add_to_transmittal"), false, true)."</li>"; print "<li>".$this->html_link('AddToTransmittal', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-list\"></i>".getMLText("add_to_transmittal"), false, true)."</li>";
} }
if($this->check_access('EditComment')) if($accessop->check_controller_access('EditComment'))
if($accessop->mayEditComment($document)) { if($accessop->mayEditComment($document)) {
print "<li>".$this->html_link('EditComment', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-comment\"></i>".getMLText("edit_comment"), false, true)."</li>"; print "<li>".$this->html_link('EditComment', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-comment\"></i>".getMLText("edit_comment"), false, true)."</li>";
} }
if($this->check_access('EditAttributes')) if($accessop->check_controller_access('EditAttributes'))
if($accessop->mayEditAttributes($document)) { if($accessop->mayEditAttributes($document)) {
print "<li>".$this->html_link('EditAttributes', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-edit\"></i>".getMLText("edit_attributes"), false, true)."</li>"; print "<li>".$this->html_link('EditAttributes', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-edit\"></i>".getMLText("edit_attributes"), false, true)."</li>";
} }
@ -1191,6 +1191,8 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
?> ?>
<div class="tab-pane <?php if($currenttab == 'recipients') echo 'active'; ?>" id="recipients"> <div class="tab-pane <?php if($currenttab == 'recipients') echo 'active'; ?>" id="recipients">
<?php <?php
if($status["status"]!=S_RELEASED)
echo "<div class=\"alert alert-warning\">".getMLText('info_recipients_tab_not_released')."</div>";
$this->contentContainerStart(); $this->contentContainerStart();
print "<table class=\"table-condensed\">\n"; print "<table class=\"table-condensed\">\n";
@ -1279,7 +1281,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
</table> </table>
<?php <?php
$this->contentContainerEnd(); $this->contentContainerEnd();
if($user->isAdmin() || $user->getId() == $document->getOwner()->getId()) { if($accessop->check_view_access('ViewDocument', array('action'=>'receptionBar'))/* $user->isAdmin() || $user->getId() == $document->getOwner()->getId()*/) {
/* Do not count entries '-2' as they are removed userѕ */ /* Do not count entries '-2' as they are removed userѕ */
$totalreceipts = $stat['-1'] + $stat['0'] + $stat['1']; $totalreceipts = $stat['-1'] + $stat['0'] + $stat['1'];
?> ?>
@ -1507,7 +1509,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
if($accessop->mayRemoveVersion($document)) { if($accessop->mayRemoveVersion($document)) {
print "<li>".$this->html_link('RemoveVersion', array('documentid'=>$documentid, 'version'=>$version->getVersion()), array(), "<i class=\"icon-remove\"></i>".getMLText("rm_version"), false, true)."</li>"; print "<li>".$this->html_link('RemoveVersion', array('documentid'=>$documentid, 'version'=>$version->getVersion()), array(), "<i class=\"icon-remove\"></i>".getMLText("rm_version"), false, true)."</li>";
} }
if($this->check_access('AddToTransmittal')) if($accessop->check_controller_access('AddToTransmittal'))
print "<li>".$this->html_link('AddToTransmittal', array('documentid'=>$documentid, 'version'=>$version->getVersion()), array(), "<i class=\"icon-list\"></i>".getMLText("add_to_transmittal"), false, true)."</li>"; print "<li>".$this->html_link('AddToTransmittal', array('documentid'=>$documentid, 'version'=>$version->getVersion()), array(), "<i class=\"icon-list\"></i>".getMLText("add_to_transmittal"), false, true)."</li>";
if($accessop->mayEditComment($document)) { if($accessop->mayEditComment($document)) {
print "<li>".$this->html_link('EditComment', array('documentid'=>$documentid, 'version'=>$version->getVersion()), array(), "<i class=\"icon-comment\"></i>".getMLText("edit_comment"), false, true)."</li>"; print "<li>".$this->html_link('EditComment', array('documentid'=>$documentid, 'version'=>$version->getVersion()), array(), "<i class=\"icon-comment\"></i>".getMLText("edit_comment"), false, true)."</li>";
@ -1620,7 +1622,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
} }
else printMLText("no_attached_files"); else printMLText("no_attached_files");
if($this->check_access('AddFile')) { if($accessop->check_controller_access('AddFile')) {
if ($document->getAccessMode($user) >= M_READWRITE){ if ($document->getAccessMode($user) >= M_READWRITE){
print "<ul class=\"unstyled\"><li>".$this->html_link('AddFile', array('documentid'=>$documentid), array('class'=>'btn'), getMLText("add"), false, true)."</li></ul>\n"; print "<ul class=\"unstyled\"><li>".$this->html_link('AddFile', array('documentid'=>$documentid), array('class'=>'btn'), getMLText("add"), false, true)."</li></ul>\n";
} }