@@ -23,7 +26,11 @@ if (has_credential(CRED_PKGBASE_DISOWN, $maintainer_uids)): ?>
- 0 && !has_credential(CRED_PKGBASE_DISOWN)): ?>
+
+
+ = __("By selecting the checkbox, you confirm that you want to no longer be a package co-maintainer.") ?>
+ 0 && !has_credential(CRED_PKGBASE_DISOWN)): ?>
= __('By selecting the checkbox, you confirm that you want to disown the package and transfer ownership to %s%s%s.',
'', $comaintainers[0], ''); ?>
@@ -40,7 +47,7 @@ if (has_credential(CRED_PKGBASE_DISOWN, $maintainer_uids)): ?>
-
" />
+
" />
diff --git a/web/lib/pkgbasefuncs.inc.php b/web/lib/pkgbasefuncs.inc.php
index ff1bc901..16f95dac 100644
--- a/web/lib/pkgbasefuncs.inc.php
+++ b/web/lib/pkgbasefuncs.inc.php
@@ -1158,11 +1158,12 @@ function pkgbase_get_comaintainer_uids($base_ids) {
*
* @param int $base_id The package base ID to update the co-maintainers of
* @param array $users Array of co-maintainer user names
+ * @param boolean $override Override credential check if true
*
* @return array Tuple of success/failure indicator and error message
*/
-function pkgbase_set_comaintainers($base_id, $users) {
- if (!has_credential(CRED_PKGBASE_EDIT_COMAINTAINERS, array(pkgbase_maintainer_uid($base_id)))) {
+function pkgbase_set_comaintainers($base_id, $users, $override=false) {
+ if (!$override && !has_credential(CRED_PKGBASE_EDIT_COMAINTAINERS, array(pkgbase_maintainer_uid($base_id)))) {
return array(false, __("You are not allowed to manage co-maintainers of this package base."));
}
@@ -1213,3 +1214,10 @@ function pkgbase_set_comaintainers($base_id, $users) {
return array(true, __("The package base co-maintainers have been updated."));
}
+
+function pkgbase_remove_comaintainer($base_id, $uid) {
+ $uname = username_from_id($uid);
+ $names = pkgbase_get_comaintainers($base_id);
+ $names = array_diff($names, array($uname));
+ return pkgbase_set_comaintainers($base_id, $names, true);
+}
diff --git a/web/template/pkgbase_actions.php b/web/template/pkgbase_actions.php
index d3f05921..5eee5478 100644
--- a/web/template/pkgbase_actions.php
+++ b/web/template/pkgbase_actions.php
@@ -41,7 +41,7 @@