diff options
author | Lukas Fleischer <lfleischer@archlinux.org> | 2016-02-18 08:43:50 +0100 |
---|---|---|
committer | Lukas Fleischer <lfleischer@archlinux.org> | 2016-02-19 18:18:48 +0100 |
commit | 1626d4d2f7a854ae39df31ccde9105b59197d16d (patch) | |
tree | ac71d6a353050ed07baa439db2f2c0679a096d72 | |
parent | 443ccfab6154e866f325ef21522f391c592bec30 (diff) | |
download | aurweb-1626d4d2f7a854ae39df31ccde9105b59197d16d.tar.xz |
notify: Fix notification of request initiator
Reimplement get_request_recipients() such that it always returns the
email addresses of the package base maintainer and the request
initiator, instead of the email address of the user triggering the
request status change.
Fixes FS#48238.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
-rwxr-xr-x | scripts/notify.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/scripts/notify.py b/scripts/notify.py index 2dd8805..25102a2 100755 --- a/scripts/notify.py +++ b/scripts/notify.py @@ -115,11 +115,14 @@ def get_update_recipients(cur, pkgbase_id, uid): return [row[0] for row in cur.fetchall()] -def get_request_recipients(cur, pkgbase_id, uid): - cur.execute('SELECT DISTINCT Users.Email FROM Users ' + +def get_request_recipients(cur, reqid): + cur.execute('SELECT DISTINCT Users.Email FROM PackageRequests ' + 'INNER JOIN PackageBases ' + - 'ON PackageBases.MaintainerUID = Users.ID WHERE ' + - 'Users.ID = %s OR PackageBases.ID = %s', [uid, pkgbase_id]) + 'ON PackageBases.ID = PackageRequests.PackageBaseID ' + + 'INNER JOIN Users ' + + 'ON Users.ID = PackageRequests.UsersID ' + + 'OR Users.ID = PackageBases.MaintainerUID ' + + 'WHERE PackageRequests.ID = %s', [reqid]) return [row[0] for row in cur.fetchall()] @@ -301,7 +304,7 @@ def request_open(cur, uid, reqid, reqtype, pkgbase_id, merge_into=None): user = username_from_id(cur, uid) pkgbase = pkgbase_from_id(cur, pkgbase_id) to = [aur_request_ml] - cc = get_request_recipients(cur, pkgbase_id, uid) + cc = get_request_recipients(cur, reqid) text = get_request_comment(cur, reqid) user_uri = aur_location + '/account/' + user + '/' @@ -333,9 +336,8 @@ def request_open(cur, uid, reqid, reqtype, pkgbase_id, merge_into=None): def request_close(cur, uid, reqid, reason): user = username_from_id(cur, uid) - pkgbase_id = pkgbase_from_pkgreq(cur, reqid) to = [aur_request_ml] - cc = get_request_recipients(cur, pkgbase_id, uid) + cc = get_request_recipients(cur, reqid) text = get_request_closure_comment(cur, reqid) user_uri = aur_location + '/account/' + user + '/' |