Update co-maintainers when disowning a package

When a user disowns a package, the co-maintainer with the highest
priority automatically becomes the new maintainer. When the package is
disowned by a Trusted User or a Developer, the list of co-maintainers is
cleared.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
This commit is contained in:
Lukas Fleischer 2015-05-22 14:54:49 +02:00
parent 0dcdc23a7f
commit 422d8026da

View file

@ -638,6 +638,24 @@ function pkgbase_adopt ($base_ids, $action=true, $via) {
$q.= "WHERE ID IN (" . implode(",", $base_ids) . ") ";
$dbh->exec($q);
/* Update package co-maintainers when disowning a package. */
if (!$action) {
if (has_credential(CRED_PKGBASE_DISOWN)) {
foreach ($base_ids as $base_id) {
pkgbase_set_comaintainers($base_id, "");
}
} else {
foreach ($base_ids as $base_id) {
$uids = pkgbase_get_comaintainers($base_id);
$q = "UPDATE PackageBases ";
$q.= "SET MaintainerUID = " . $uids[0] . " ";
$q.= "WHERE ID = " . $base_id;
$dbh->exec($q);
}
}
}
if ($action) {
pkgbase_notify($base_ids);
return array(true, __("The selected packages have been adopted."));