summaryrefslogtreecommitdiffstats
path: root/web/lib
diff options
context:
space:
mode:
authorLukas Fleischer <lfleischer@archlinux.org>2015-08-30 16:32:34 +0200
committerLukas Fleischer <lfleischer@archlinux.org>2015-08-30 16:51:14 +0200
commit57db4814a47d2a40d4b74e3ae0df261bbfeb45b8 (patch)
tree0b79b818d11046864cf6a0dc5f8864bcc8962e5f /web/lib
parente1a258bd832c3ba76b5f898cbd068c5bdf4eb4dc (diff)
downloadaur-57db4814a47d2a40d4b74e3ae0df261bbfeb45b8.tar.gz
aur-57db4814a47d2a40d4b74e3ae0df261bbfeb45b8.tar.xz
Allow users to unflag packages they flagged themselves
Sometimes, a user accidentally flags a package out-of-date. Allow users to unflag packages that they flagged themselves, thereby providing a way to undo these actions. Implements FS#46145. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
Diffstat (limited to 'web/lib')
-rw-r--r--web/lib/pkgbasefuncs.inc.php3
-rw-r--r--web/lib/pkgfuncs.inc.php2
2 files changed, 3 insertions, 2 deletions
diff --git a/web/lib/pkgbasefuncs.inc.php b/web/lib/pkgbasefuncs.inc.php
index df1ae186..24d3393f 100644
--- a/web/lib/pkgbasefuncs.inc.php
+++ b/web/lib/pkgbasefuncs.inc.php
@@ -150,6 +150,7 @@ function pkgbase_get_details($base_id) {
$q.= "PackageBases.OutOfDateTS, PackageBases.SubmittedTS, ";
$q.= "PackageBases.ModifiedTS, PackageBases.SubmitterUID, ";
$q.= "PackageBases.MaintainerUID, PackageBases.PackagerUID, ";
+ $q.= "PackageBases.FlaggerUID, ";
$q.= "(SELECT COUNT(*) FROM PackageRequests ";
$q.= " WHERE PackageRequests.PackageBaseID = PackageBases.ID ";
$q.= " AND PackageRequests.Status = 0) AS RequestCount ";
@@ -370,7 +371,7 @@ function pkgbase_unflag($base_ids) {
$maintainers = array_merge(pkgbase_maintainer_uids($base_ids), pkgbase_get_comaintainer_uids($base_ids));
if (!has_credential(CRED_PKGBASE_UNFLAG, $maintainers)) {
- $q.= "AND MaintainerUID = " . $uid;
+ $q.= "AND (MaintainerUID = " . $uid . " OR FlaggerUID = " . $uid. ")";
}
$result = $dbh->exec($q);
diff --git a/web/lib/pkgfuncs.inc.php b/web/lib/pkgfuncs.inc.php
index f4034718..d760429e 100644
--- a/web/lib/pkgfuncs.inc.php
+++ b/web/lib/pkgfuncs.inc.php
@@ -435,7 +435,7 @@ function pkg_get_details($id=0) {
$q.= "PackageBases.Popularity, PackageBases.OutOfDateTS, ";
$q.= "PackageBases.SubmittedTS, PackageBases.ModifiedTS, ";
$q.= "PackageBases.SubmitterUID, PackageBases.MaintainerUID, ";
- $q.= "PackageBases.PackagerUID, ";
+ $q.= "PackageBases.PackagerUID, PackageBases.FlaggerUID, ";
$q.= "(SELECT COUNT(*) FROM PackageRequests ";
$q.= " WHERE PackageRequests.PackageBaseID = Packages.PackageBaseID ";
$q.= " AND PackageRequests.Status = 0) AS RequestCount ";