Filter out current username from co-maintainers list.

Closes: #8

Signed-off-by: Leonidas Spyropoulos <artafinde@gmail.com>
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
This commit is contained in:
Leonidas Spyropoulos 2021-04-07 09:56:16 +01:00 committed by Kevin Morris
parent cd3e880264
commit 21140e28a8

View file

@ -1189,7 +1189,8 @@ function pkgbase_get_comaintainer_uids($base_ids) {
* @return array Tuple of success/failure indicator and error message
*/
function pkgbase_set_comaintainers($base_id, $users, $override=false) {
if (!$override && !has_credential(CRED_PKGBASE_EDIT_COMAINTAINERS, array(pkgbase_maintainer_uid($base_id)))) {
$maintainer_uid = pkgbase_maintainer_uid($base_id);
if (!$override && !has_credential(CRED_PKGBASE_EDIT_COMAINTAINERS, array($maintainer_uid))) {
return array(false, __("You are not allowed to manage co-maintainers of this package base."));
}
@ -1207,9 +1208,12 @@ function pkgbase_set_comaintainers($base_id, $users, $override=false) {
if (!$uid) {
return array(false, __("Invalid user name: %s", $user));
} elseif ($uid == $maintainer_uid) {
// silently ignore when maintainer == co-maintainer
continue;
} else {
$uids_new[] = $uid;
}
$uids_new[] = $uid;
}
$q = sprintf("SELECT UsersID FROM PackageComaintainers WHERE PackageBaseID = %d", $base_id);