mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
Remember user ID when flagging package bases
Add a new FlaggerUID field to the database and use it to store the user ID of the account who recently flagged a package out-of-date. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
This commit is contained in:
parent
57250a1641
commit
e1a258bd83
3 changed files with 12 additions and 2 deletions
|
@ -84,6 +84,7 @@ CREATE TABLE PackageBases (
|
||||||
OutOfDateTS BIGINT UNSIGNED NULL DEFAULT NULL,
|
OutOfDateTS BIGINT UNSIGNED NULL DEFAULT NULL,
|
||||||
SubmittedTS BIGINT UNSIGNED NOT NULL,
|
SubmittedTS BIGINT UNSIGNED NOT NULL,
|
||||||
ModifiedTS BIGINT UNSIGNED NOT NULL,
|
ModifiedTS BIGINT UNSIGNED NOT NULL,
|
||||||
|
FlaggerUID BIGINT UNSIGNED NULL DEFAULT NULL, -- who flagged the package out-of-date?
|
||||||
SubmitterUID INTEGER UNSIGNED NULL DEFAULT NULL, -- who submitted it?
|
SubmitterUID INTEGER UNSIGNED NULL DEFAULT NULL, -- who submitted it?
|
||||||
MaintainerUID INTEGER UNSIGNED NULL DEFAULT NULL, -- User
|
MaintainerUID INTEGER UNSIGNED NULL DEFAULT NULL, -- User
|
||||||
PackagerUID INTEGER UNSIGNED NULL DEFAULT NULL, -- Last packager
|
PackagerUID INTEGER UNSIGNED NULL DEFAULT NULL, -- Last packager
|
||||||
|
@ -93,6 +94,7 @@ CREATE TABLE PackageBases (
|
||||||
INDEX (SubmitterUID),
|
INDEX (SubmitterUID),
|
||||||
INDEX (MaintainerUID),
|
INDEX (MaintainerUID),
|
||||||
INDEX (PackagerUID),
|
INDEX (PackagerUID),
|
||||||
|
FOREIGN KEY (FlaggerUID) REFERENCES Users(ID) ON DELETE SET NULL,
|
||||||
-- deleting a user will cause packages to be orphaned, not deleted
|
-- deleting a user will cause packages to be orphaned, not deleted
|
||||||
FOREIGN KEY (SubmitterUID) REFERENCES Users(ID) ON DELETE SET NULL,
|
FOREIGN KEY (SubmitterUID) REFERENCES Users(ID) ON DELETE SET NULL,
|
||||||
FOREIGN KEY (MaintainerUID) REFERENCES Users(ID) ON DELETE SET NULL,
|
FOREIGN KEY (MaintainerUID) REFERENCES Users(ID) ON DELETE SET NULL,
|
||||||
|
|
|
@ -7,3 +7,11 @@ ALTER TABLE PackageComments
|
||||||
ADD COLUMN EditedUsersID INTEGER UNSIGNED NULL DEFAULT NULL,
|
ADD COLUMN EditedUsersID INTEGER UNSIGNED NULL DEFAULT NULL,
|
||||||
ADD FOREIGN KEY (EditedUsersID) REFERENCES Users(ID) ON DELETE SET NULL;
|
ADD FOREIGN KEY (EditedUsersID) REFERENCES Users(ID) ON DELETE SET NULL;
|
||||||
----
|
----
|
||||||
|
|
||||||
|
2. Add a field to store the ID of the last user who flagged a package
|
||||||
|
out-of-date:
|
||||||
|
|
||||||
|
----
|
||||||
|
ALTER TABLE PackageBases
|
||||||
|
ADD COLUMN FlaggerUID BIGINT UNSIGNED NULL DEFAULT NULL;
|
||||||
|
----
|
||||||
|
|
|
@ -328,15 +328,15 @@ function pkgbase_flag($base_ids) {
|
||||||
return array(false, __("You did not select any packages to flag."));
|
return array(false, __("You did not select any packages to flag."));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$uid = uid_from_sid($_COOKIE['AURSID']);
|
||||||
$dbh = DB::connect();
|
$dbh = DB::connect();
|
||||||
|
|
||||||
$q = "UPDATE PackageBases SET";
|
$q = "UPDATE PackageBases SET";
|
||||||
$q.= " OutOfDateTS = UNIX_TIMESTAMP()";
|
$q.= " OutOfDateTS = UNIX_TIMESTAMP(), FlaggerUID = " . $uid;
|
||||||
$q.= " WHERE ID IN (" . implode(",", $base_ids) . ")";
|
$q.= " WHERE ID IN (" . implode(",", $base_ids) . ")";
|
||||||
$q.= " AND OutOfDateTS IS NULL";
|
$q.= " AND OutOfDateTS IS NULL";
|
||||||
$dbh->exec($q);
|
$dbh->exec($q);
|
||||||
|
|
||||||
$uid = uid_from_sid($_COOKIE['AURSID']);
|
|
||||||
foreach ($base_ids as $base_id) {
|
foreach ($base_ids as $base_id) {
|
||||||
notify(array('flag', $uid, $base_id));
|
notify(array('flag', $uid, $base_id));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue