Allow for adding a comment when closing a request

This allows Trusted Users to optionally add a comment when closing a
request. The comment is included in the notification email that is sent
to the requests mailing list.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
This commit is contained in:
Lukas Fleischer 2014-07-04 11:00:07 +02:00
parent 8a465182ba
commit 4645bcbacb
4 changed files with 20 additions and 6 deletions

View file

@ -105,7 +105,7 @@ if (check_token()) {
$ret = false;
}
} elseif (current_action("do_CloseRequest")) {
list($ret, $output) = pkgreq_close($_POST['reqid'], $_POST['reason']);
list($ret, $output) = pkgreq_close($_POST['reqid'], $_POST['reason'], $_POST['comments']);
}
if (isset($_REQUEST['comment'])) {

View file

@ -540,7 +540,7 @@ function pkgbase_delete ($atype, $base_ids, $merge_base_id, $via) {
$dbh->exec($q);
if ($via) {
pkgreq_close(intval($via), 'accepted');
pkgreq_close(intval($via), 'accepted', '');
}
return array(true, __("The selected packages have been deleted."));
@ -598,7 +598,7 @@ function pkgbase_adopt ($atype, $base_ids, $action=true, $via) {
$dbh->exec($q);
if ($via) {
pkgreq_close(intval($via), 'accepted');
pkgreq_close(intval($via), 'accepted', '');
}
if ($action) {

View file

@ -156,10 +156,11 @@ function pkgreq_file($ids, $type, $merge_into, $comments) {
* @global string $AUR_REQUEST_ML The request notification mailing list
* @param int $id The package request to close
* @param string $reason Whether the request was accepted or rejected
* @param string $comments Comments to be added to the notification email
*
* @return array Tuple of success/failure indicator and error message
*/
function pkgreq_close($id, $reason) {
function pkgreq_close($id, $reason, $comments) {
global $AUR_LOCATION;
global $AUR_REQUEST_ML;
@ -202,8 +203,13 @@ function pkgreq_close($id, $reason) {
*/
$username = username_from_sid($_COOKIE['AURSID']);
$body = "Request #" . intval($id) . " has been " . $reason . " by " .
$username . " [1].\n\n" .
"[1] " . $AUR_LOCATION . get_user_uri($username) . "\n";
$username . " [1]";
if (!empty(trim($comments))) {
$body .= ":\n\n" . $comments . "\n\n";
} else {
$body .= ".\n\n";
}
$body .= "[1] " . $AUR_LOCATION . get_user_uri($username) . "\n";
$body = wordwrap($body, 70);
$headers = "MIME-Version: 1.0\r\n" .
"Content-type: text/plain; charset=UTF-8\r\n";

View file

@ -4,6 +4,10 @@
<?= __('Use this form to close the request for package base %s%s%s.',
'<strong>', htmlspecialchars($pkgbase_name), '</strong>'); ?>
</p>
<p>
<em><?= __('Note') ?>:</em>
<?= __('The comments field can be left empty. However, it is highly recommended to add a comment when rejecting a request.') ?>
</p>
<form action="<?= get_uri('/pkgbase/'); ?>" method="post">
<fieldset>
<input type="hidden" name="reqid" value="<?= $pkgreq_id ?>" />
@ -15,6 +19,10 @@
<option value="rejected"><?= __('Rejected') ?></option>
</select>
</p>
<p>
<label for="id_comments"><?= __("Comments") ?>:</label>
<textarea name="comments" id="id_comments" rows="5" cols="50"></textarea>
</p>
<p>
<input type="submit" class="button" name="do_CloseRequest" value="<?= __("Close Request") ?>" />
</p>