[aur-dev] [PATCH] Store co-maintainer priorities

Lukas Fleischer lfleischer at archlinux.org
Fri May 22 15:33:40 UTC 2015


In addition to saving the list of package co-maintainers, also save
their order. This makes it possible to define a "primary" co-maintainer.

Signed-off-by: Lukas Fleischer <lfleischer at archlinux.org>
---
 schema/aur-schema.sql        | 1 +
 upgrading/4.0.0.txt          | 1 +
 web/lib/pkgbasefuncs.inc.php | 7 +++++--
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/schema/aur-schema.sql b/schema/aur-schema.sql
index 9c647d8..5641d0d 100644
--- a/schema/aur-schema.sql
+++ b/schema/aur-schema.sql
@@ -281,6 +281,7 @@ CREATE TABLE PackageComments (
 CREATE TABLE PackageComaintainers (
 	UsersID INTEGER UNSIGNED NOT NULL,
 	PackageBaseID INTEGER UNSIGNED NOT NULL,
+	Priority INTEGER UNSIGNED NOT NULL,
 	INDEX (UsersID),
 	INDEX (PackageBaseID),
 	FOREIGN KEY (UsersID) REFERENCES Users(ID) ON DELETE CASCADE,
diff --git a/upgrading/4.0.0.txt b/upgrading/4.0.0.txt
index 023dec0..9a4a807 100644
--- a/upgrading/4.0.0.txt
+++ b/upgrading/4.0.0.txt
@@ -26,6 +26,7 @@ UPDATE PackageBases SET PackagerUID = NULL;
 CREATE TABLE PackageComaintainers (
 	UsersID INTEGER UNSIGNED NOT NULL,
 	PackageBaseID INTEGER UNSIGNED NOT NULL,
+	Priority INTEGER UNSIGNED NOT NULL,
 	INDEX (UsersID),
 	INDEX (PackageBaseID),
 	FOREIGN KEY (UsersID) REFERENCES Users(ID) ON DELETE CASCADE,
diff --git a/web/lib/pkgbasefuncs.inc.php b/web/lib/pkgbasefuncs.inc.php
index 3e4b572..50cb47e 100644
--- a/web/lib/pkgbasefuncs.inc.php
+++ b/web/lib/pkgbasefuncs.inc.php
@@ -967,7 +967,8 @@ function pkgbase_get_comaintainers($base_id) {
 	$dbh = DB::connect();
 	$q = "SELECT UserName FROM PackageComaintainers ";
 	$q .= "INNER JOIN Users ON Users.ID = PackageComaintainers.UsersID ";
-	$q .= "WHERE PackageComaintainers.PackageBaseID = " . intval($base_id);
+	$q .= "WHERE PackageComaintainers.PackageBaseID = " . intval($base_id) . " ";
+	$q .= "ORDER BY Priority ASC";
 	$result = $dbh->query($q);
 
 	if ($result) {
@@ -1012,9 +1013,11 @@ function pkgbase_set_comaintainers($base_id, $users) {
 	$q = sprintf("DELETE FROM PackageComaintainers WHERE PackageBaseID = %d", $base_id);
 	$dbh->exec($q);
 
+	$i = 1;
 	foreach ($uids as $uid) {
-		$q = sprintf("INSERT INTO PackageComaintainers (PackageBaseID, UsersID) VALUES (%d, %d)", $base_id, $uid);
+		$q = sprintf("INSERT INTO PackageComaintainers (PackageBaseID, UsersID, Priority) VALUES (%d, %d, %d)", $base_id, $uid, $i);
 		$dbh->exec($q);
+		$i++;
 	}
 
 	return array(true, __("The package base co-maintainers have been updated."));
-- 
2.4.1


More information about the aur-dev mailing list