[aur-dev] [PATCH 4/5] Remember whether a request has been accepted

Lukas Fleischer archlinux at cryptocrack.de
Fri Jul 4 05:28:24 EDT 2014


Store whether a package request is accepted or rejected and display the
reason of each closed request in the request list.

Signed-off-by: Lukas Fleischer <archlinux at cryptocrack.de>
---
 web/lib/pkgreqfuncs.inc.php     | 16 ++++++++++++----
 web/template/pkgreq_results.php | 12 ++++++++++--
 2 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/web/lib/pkgreqfuncs.inc.php b/web/lib/pkgreqfuncs.inc.php
index 8266c67..53cf328 100644
--- a/web/lib/pkgreqfuncs.inc.php
+++ b/web/lib/pkgreqfuncs.inc.php
@@ -30,11 +30,11 @@ function pkgreq_list($offset, $limit) {
 	$q.= "PackageRequests.MergeBaseName AS MergeInto, ";
 	$q.= "RequestTypes.Name AS Type, PackageRequests.Comments, ";
 	$q.= "Users.Username AS User, PackageRequests.RequestTS, ";
-	$q.= "PackageRequests.Status ";
+	$q.= "PackageRequests.Status, PackageRequests.Status = 0 AS Open ";
 	$q.= "FROM PackageRequests INNER JOIN RequestTypes ON ";
 	$q.= "RequestTypes.ID = PackageRequests.ReqTypeID ";
 	$q.= "INNER JOIN Users ON Users.ID = PackageRequests.UsersID ";
-	$q.= "ORDER BY Status ASC, RequestTS DESC ";
+	$q.= "ORDER BY Open DESC, RequestTS DESC ";
 	$q.= "LIMIT " . $limit . " OFFSET " . $offset;
 
 	return $dbh->query($q)->fetchAll();
@@ -164,7 +164,14 @@ function pkgreq_close($id, $reason, $comments) {
 	global $AUR_LOCATION;
 	global $AUR_REQUEST_ML;
 
-	if ($reason != 'accepted' && $reason != 'rejected') {
+	switch ($reason) {
+	case 'accepted':
+		$status = 2;
+		break;
+	case 'rejected':
+		$status = 3;
+		break;
+	default:
 		return array(false, __("Invalid reason."));
 	}
 
@@ -175,7 +182,8 @@ function pkgreq_close($id, $reason, $comments) {
 		return array(false, __("Only TUs and developers can close requests."));
 	}
 
-	$q = "UPDATE PackageRequests SET Status = 1 WHERE ID = " . intval($id);
+	$q = "UPDATE PackageRequests SET Status = " . intval($status) . " ";
+	$q.= "WHERE ID = " . intval($id);
 	$dbh->exec($q);
 
 	/*
diff --git a/web/template/pkgreq_results.php b/web/template/pkgreq_results.php
index b5e1177..261a1f7 100644
--- a/web/template/pkgreq_results.php
+++ b/web/template/pkgreq_results.php
@@ -45,8 +45,8 @@
 			<td>
 			<a href="<?= get_uri('/account/') . htmlspecialchars($row['User'], ENT_QUOTES) ?>" title="<?= __('View account information for %s', htmlspecialchars($row['User'])) ?>"><?= htmlspecialchars($row['User']) ?></a>
 			</td>
-			<td<?php if ($row['Status'] == 0 && time() - intval($row['RequestTS']) > $REQUEST_IDLE_TIME): ?> class="flagged"<?php endif; ?>><?= gmdate("Y-m-d H:i", intval($row['RequestTS'])) ?></td>
-			<?php if ($row['Status'] == 0): ?>
+			<td<?php if ($row['Open'] && time() - intval($row['RequestTS']) > $REQUEST_IDLE_TIME): ?> class="flagged"<?php endif; ?>><?= gmdate("Y-m-d H:i", intval($row['RequestTS'])) ?></td>
+			<?php if ($row['Open']): ?>
 			<td>
 				<?php if ($row['BaseID']): ?>
 				<?php if ($row['Type'] == 'deletion'): ?>
@@ -66,7 +66,15 @@
 				<a href="<?= get_pkgreq_route() . '/' . intval($row['ID']) ?>/close/"><?= __('Close') ?></a>
 			</td>
 			<?php else: ?>
+			<?php if ($row['Status'] == 1): ?>
 			<td><?= __("Closed") ?></td>
+			<?php elseif ($row['Status'] == 2): ?>
+			<td><?= __("Accepted") ?></td>
+			<?php elseif ($row['Status'] == 3): ?>
+			<td><?= __("Rejected") ?></td>
+			<?php else: ?>
+			<td><?= __("unknown") ?></td>
+			<?php endif; ?>
 			<?php endif; ?>
 		</tr>
 		<?php endwhile; ?>
-- 
2.0.1



More information about the aur-dev mailing list