This commit is contained in:
steinm 2011-10-16 19:59:35 +00:00
parent e1e2a59baa
commit 3106ca2a9b
2 changed files with 369 additions and 441 deletions

View File

@ -62,29 +62,16 @@ if ($document->hasExpired()){
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
} }
// retrieve the approval status for the current user. $approvals = $latestContent->getApprovalStatus();
$approvalStatus = $user->getApprovalStatus($documentid, $version); if(!$approvals) {
if (count($approvalStatus["indstatus"]) == 0 && count($approvalStatus["grpstatus"]) == 0) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("no_action")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("no_action"));
} }
$indApprover = true; foreach($approvals as $approval) {
if (count($approvalStatus["indstatus"])==0){ if($approval['approveID'] == $_GET['approveid']) {
$indApprover = false; $approvalStatus = $approval;
break;
} }
else if ($approvalStatus["indstatus"][0]["status"]==-2) {
$indApprover = false;
}
$grpApprover=false;
foreach ($approvalStatus["grpstatus"] as $grpStatus) {
if (($grpStatus["status"]!=-2)&&(isset($grpStatus["status"]))) {
$grpApprover=true;
}
}
if (!$indApprover && !$grpApprover) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("no_action"));
} }
UI::htmlStartPage(getMLText("document_title", array("documentname" => $document->getName()))); UI::htmlStartPage(getMLText("document_title", array("documentname" => $document->getName())));
@ -110,7 +97,7 @@ function checkIndForm()
function checkGrpForm() function checkGrpForm()
{ {
msg = ""; msg = "";
if (document.form1.approvalGroup.value == "") msg += "<?php printMLText("js_no_approval_group");?>\n"; // if (document.form1.approvalGroup.value == "") msg += "<?php printMLText("js_no_approval_group");?>\n";
if (document.form1.approvalStatus.value == "") msg += "<?php printMLText("js_no_approval_status");?>\n"; if (document.form1.approvalStatus.value == "") msg += "<?php printMLText("js_no_approval_status");?>\n";
if (document.form1.comment.value == "") msg += "<?php printMLText("js_no_comment");?>\n"; if (document.form1.comment.value == "") msg += "<?php printMLText("js_no_comment");?>\n";
if (msg != "") if (msg != "")
@ -128,8 +115,8 @@ function checkGrpForm()
UI::contentContainerStart(); UI::contentContainerStart();
// Display the Approval form. // Display the Approval form.
if ($indApprover) { if ($approvalStatus['type'] == 0) {
if($approvalStatus["indstatus"][0]["status"]!=0) { if($approvalStatus["status"]!=0) {
print "<table class=\"folderView\"><thead><tr>"; print "<table class=\"folderView\"><thead><tr>";
print "<th>".getMLText("status")."</th>"; print "<th>".getMLText("status")."</th>";
@ -137,11 +124,11 @@ if ($indApprover) {
print "<th>".getMLText("last_update")."</th>"; print "<th>".getMLText("last_update")."</th>";
print "</tr></thead><tbody><tr>"; print "</tr></thead><tbody><tr>";
print "<td>"; print "<td>";
printApprovalStatusText($approvalStatus["indstatus"][0]["status"]); printApprovalStatusText($approvalStatus["status"]);
print "</td>"; print "</td>";
print "<td>".$approvalStatus["indstatus"][0]["comment"]."</td>"; print "<td>".$approvalStatus["comment"]."</td>";
$indUser = $dms->getUser($approvalStatus["indstatus"][0]["userID"]); $indUser = $dms->getUser($approvalStatus["userID"]);
print "<td>".$approvalStatus["indstatus"][0]["date"]." - ". $indUser->getFullname() ."</td>"; print "<td>".$approvalStatus["date"]." - ". $indUser->getFullname() ."</td>";
print "</tr></tbody></table><br>\n"; print "</tr></tbody></table><br>\n";
} }
?> ?>
@ -165,9 +152,9 @@ if ($indApprover) {
</form> </form>
<?php <?php
} }
else if ($grpApprover) { else if ($approvalStatus['type'] == 1) {
if($approvalStatus["grpstatus"][0]["status"]!=0) { if($approvalStatus["status"]!=0) {
print "<table class=\"folderView\"><thead><tr>"; print "<table class=\"folderView\"><thead><tr>";
print "<th>".getMLText("status")."</th>"; print "<th>".getMLText("status")."</th>";
@ -175,36 +162,20 @@ else if ($grpApprover) {
print "<th>".getMLText("last_update")."</th>"; print "<th>".getMLText("last_update")."</th>";
print "</tr></thead><tbody><tr>"; print "</tr></thead><tbody><tr>";
print "<td>"; print "<td>";
printApprovalStatusText($approvalStatus["grpstatus"][0]["status"]); printApprovalStatusText($approvalStatus["status"]);
print "</td>"; print "</td>";
print "<td>".$approvalStatus["grpstatus"][0]["comment"]."</td>"; print "<td>".$approvalStatus["comment"]."</td>";
$indUser = $dms->getUser($approvalStatus["grpstatus"][0]["userID"]); $indUser = $dms->getUser($approvalStatus["userID"]);
print "<td>".$approvalStatus["grpstatus"][0]["date"]." - ". $indUser->getFullname() ."</td>"; print "<td>".$approvalStatus["date"]." - ". $indUser->getFullname() ."</td>";
print "</tr></tbody></table><br>\n"; print "</tr></tbody></table><br>\n";
} }
$grpSelectBox = "";
foreach ($approvalStatus["grpstatus"] as $grp) {
if ($grp["status"]!=-2) {
$g=$dms->getGroup($grpStatus["required"]);
if ($grp["status"] != -2) {
$grpSelectBox .= (strlen($grpSelectBox)==0 ? "": "<option value=''></option>").
"<option value='". $grpStatus["required"] ."'>". $g->getName() ."</option>";
}
}
}
if (strlen($grpSelectBox)>0) {
?> ?>
<form method="POST" action="../op/op.ApproveDocument.php" name="form1" onsubmit="return checkGrpForm();"> <form method="POST" action="../op/op.ApproveDocument.php" name="form1" onsubmit="return checkGrpForm();">
<table> <table>
<tr><td><?php printMLText("comment")?>:</td> <tr><td><?php printMLText("comment")?>:</td>
<td><textarea name="comment" cols="80" rows="4"></textarea> <td><textarea name="comment" cols="80" rows="4"></textarea>
</td></tr> </td></tr>
<tr><td><?php printMLText("approval_group")?>:</td>
<td class='infos' valign='top'><select name="approvalGroup"><?php print $grpSelectBox; ?></select>
</td></tr>
<tr><td><?php printMLText("approval_status")?>:</td> <tr><td><?php printMLText("approval_status")?>:</td>
<td> <td>
<select name="approvalStatus"> <select name="approvalStatus">
@ -214,6 +185,7 @@ else if ($grpApprover) {
</select> </select>
</td></tr> </td></tr>
<tr><td></td><td> <tr><td></td><td>
<input type='hidden' name='approvalGroup' value="<?php echo $approvalStatus['required']; ?>" />
<input type='hidden' name='approvalType' value='grp'/> <input type='hidden' name='approvalType' value='grp'/>
<input type='hidden' name='documentid' value='<?php echo $documentid ?>'/> <input type='hidden' name='documentid' value='<?php echo $documentid ?>'/>
<input type='hidden' name='version' value='<?php echo $version ?>'/> <input type='hidden' name='version' value='<?php echo $version ?>'/>
@ -222,12 +194,6 @@ else if ($grpApprover) {
</form> </form>
<?php <?php
} }
else {
?>
<p><?php printMLText("no_action")?></p>
<?php
}
}
UI::contentContainerEnd(); UI::contentContainerEnd();
UI::htmlEndPage(); UI::htmlEndPage();

View File

@ -46,10 +46,8 @@ if ($document->getAccessMode($user) < M_READ) {
if (!isset($_GET["version"]) || !is_numeric($_GET["version"]) || intval($_GET["version"])<1) { if (!isset($_GET["version"]) || !is_numeric($_GET["version"]) || intval($_GET["version"])<1) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version"));
} }
$version = $_GET["version"]; $version = $_GET["version"];
$content = $document->getContentByVersion($version); $content = $document->getContentByVersion($version);
if (!is_object($content)) { if (!is_object($content)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version"));
} }
@ -59,34 +57,21 @@ $latestContent = $document->getLatestContent();
if ($latestContent->getVersion()!=$version) { if ($latestContent->getVersion()!=$version) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version"));
} }
// verify if document has expired // verify if document has expired
if ($document->hasExpired()){ if ($document->hasExpired()){
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
} }
// retrieve the review status for the current user. $reviews = $latestContent->getReviewStatus();
$reviewStatus = $user->getReviewStatus($documentid, $version); if(!$reviews) {
if (count($reviewStatus["indstatus"]) == 0 && count($reviewStatus["grpstatus"]) == 0) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("no_action")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("no_action"));
} }
$indReviewer = true; foreach($reviews as $review) {
if (count($reviewStatus["indstatus"])==0){ if($review['reviewID'] == $_GET['reviewid']) {
$indReviewer = false; $reviewStatus = $review;
}else if ($reviewStatus["indstatus"][0]["status"]==-2) { break;
$indReviewer = false;
} }
$grpReviewer=false;
foreach ($reviewStatus["grpstatus"] as $grpStatus) {
if (($grpStatus["status"]!=-2)&&(isset($grpStatus["status"]))) {
$grpReviewer=true;
}
}
if (!$indReviewer && !$grpReviewer) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("no_action"));
} }
UI::htmlStartPage(getMLText("document_title", array("documentname" => $document->getName()))); UI::htmlStartPage(getMLText("document_title", array("documentname" => $document->getName())));
@ -95,7 +80,6 @@ UI::pageNavigation($docPathHTML, "view_document");
UI::contentHeading(getMLText("submit_review")); UI::contentHeading(getMLText("submit_review"));
?> ?>
<script language="JavaScript"> <script language="JavaScript">
function checkIndForm() function checkIndForm()
{ {
@ -131,8 +115,8 @@ function checkGrpForm()
UI::contentContainerStart(); UI::contentContainerStart();
// Display the Review form. // Display the Review form.
if ($indReviewer) { if ($reviewStatus['type'] == 0) {
if($reviewStatus["indstatus"][0]["status"]!=0) { if($reviewStatus["status"]!=0) {
print "<table class=\"folderView\"><thead><tr>"; print "<table class=\"folderView\"><thead><tr>";
print "<th>".getMLText("status")."</th>"; print "<th>".getMLText("status")."</th>";
@ -140,11 +124,11 @@ if ($indReviewer) {
print "<th>".getMLText("last_update")."</th>"; print "<th>".getMLText("last_update")."</th>";
print "</tr></thead><tbody><tr>"; print "</tr></thead><tbody><tr>";
print "<td>"; print "<td>";
printReviewStatusText($reviewStatus["indstatus"][0]["status"]); printReviewStatusText($reviewStatus["status"]);
print "</td>"; print "</td>";
print "<td>".$reviewStatus["indstatus"][0]["comment"]."</td>"; print "<td>".$reviewStatus["comment"]."</td>";
$indUser = $dms->getUser($reviewStatus["indstatus"][0]["userID"]); $indUser = $dms->getUser($reviewStatus["userID"]);
print "<td>".$reviewStatus["indstatus"][0]["date"]." - ". $indUser->getFullname() ."</td>"; print "<td>".$reviewStatus["date"]." - ". $indUser->getFullname() ."</td>";
print "</tr></tbody></table><br>"; print "</tr></tbody></table><br>";
} }
?> ?>
@ -168,9 +152,9 @@ if ($indReviewer) {
</form> </form>
<?php <?php
} }
else if ($grpReviewer) { else if ($reviewStatus['type'] == 1) {
if($reviewStatus["grpstatus"][0]["status"]!=0) { if($reviewStatus["status"]!=0) {
print "<table class=\"folderView\"><thead><tr>"; print "<table class=\"folderView\"><thead><tr>";
print "<th>".getMLText("status")."</th>"; print "<th>".getMLText("status")."</th>";
@ -178,37 +162,20 @@ else if ($grpReviewer) {
print "<th>".getMLText("last_update")."</th>"; print "<th>".getMLText("last_update")."</th>";
print "</tr></thead><tbody><tr>"; print "</tr></thead><tbody><tr>";
print "<td>"; print "<td>";
printReviewStatusText($reviewStatus["grpstatus"][0]["status"]); printReviewStatusText($reviewStatus["status"]);
print "</td>"; print "</td>";
print "<td>".$reviewStatus["grpstatus"][0]["comment"]."</td>"; print "<td>".$reviewStatus["comment"]."</td>";
$indUser = $dms->getUser($reviewStatus["grpstatus"][0]["userID"]); $indUser = $dms->getUser($reviewStatus["userID"]);
print "<td>".$reviewStatus["grpstatus"][0]["date"]." - ". $indUser->getFullname() ."</td>"; print "<td>".$reviewStatus["date"]." - ". $indUser->getFullname() ."</td>";
print "</tr></tbody></table><br>\n"; print "</tr></tbody></table><br>\n";
} }
$grpSelectBox = "";
foreach ($reviewStatus["grpstatus"] as $grp) {
if ($grp["status"]!=-2) {
$g=$dms->getGroup($grpStatus["required"]);
if ($grp["status"] != -2) {
$grpSelectBox .= (strlen($grpSelectBox)==0 ? "": "<option value=''></option>").
"<option value='". $grpStatus["required"] ."'>". $g->getName() ."</option>";
}
}
}
if (strlen($grpSelectBox)>0) {
?> ?>
<form method="POST" action="../op/op.ReviewDocument.php" name="form1" onsubmit="return checkGrpForm();"> <form method="POST" action="../op/op.ReviewDocument.php" name="form1" onsubmit="return checkGrpForm();">
<table> <table>
<tr><td><?php printMLText("comment")?>:</td> <tr><td><?php printMLText("comment")?>:</td>
<td><textarea name="comment" cols="80" rows="4"></textarea> <td><textarea name="comment" cols="80" rows="4"></textarea>
</td></tr> </td></tr>
<tr><td><?php printMLText("review_group")?>:</td>
<td><select name="reviewGroup"><?php print $grpSelectBox; ?></select>
</td></tr>
<tr><td><?php printMLText("review_status")?>:</td> <tr><td><?php printMLText("review_status")?>:</td>
<td> <td>
<select name="reviewStatus"> <select name="reviewStatus">
@ -219,6 +186,7 @@ else if ($grpReviewer) {
</td></tr> </td></tr>
<tr><td></td><td> <tr><td></td><td>
<input type='hidden' name='reviewType' value='grp'/> <input type='hidden' name='reviewType' value='grp'/>
<input type='hidden' name='reviewGroup' value='<?php echo $reviewStatus['required']; ?>'/>
<input type='hidden' name='documentid' value='<?php echo $documentid ?>'/> <input type='hidden' name='documentid' value='<?php echo $documentid ?>'/>
<input type='hidden' name='version' value='<?php echo $version ?>'/> <input type='hidden' name='version' value='<?php echo $version ?>'/>
<input type='submit' name='groupReview' value='<?php printMLText("submit_review")?>'/></td></tr> <input type='submit' name='groupReview' value='<?php printMLText("submit_review")?>'/></td></tr>
@ -226,12 +194,6 @@ else if ($grpReviewer) {
</form> </form>
<?php <?php
} }
else {
?>
<p><?php printMLText("no_action")?></p>
<?php
}
}
UI::contentContainerEnd(); UI::contentContainerEnd();
UI::htmlEndPage(); UI::htmlEndPage();