From 904a94dbc41c9386221a19c3bd54614f22e8feb0 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Nov 16 2018 09:49:40 +0000 Subject: Include contributors and groups in the people watching bugs in bugzilla Basically we were only including the POC and people who set their watch access correctly, but contributors are supposed to be looking at issues by default, they can then opt-out using 'unwatch'. Groups were simply entirely ignored while they are present also in the list of watchers. Signed-off-by: Pierre-Yves Chibon --- diff --git a/scripts/pagure_bz.py b/scripts/pagure_bz.py index f44b759..91ae8ee 100644 --- a/scripts/pagure_bz.py +++ b/scripts/pagure_bz.py @@ -68,8 +68,41 @@ def main(args): namespace, package, admin = entry output[namespace][package] = set([admin]) - # Add the explicit watchers + # Add the contributors + query = session.query( + model.Project.namespace, model.Project.name, model.User.user, + ).filter( + model.Project.id == model.ProjectUser.project_id + ).filter( + model.ProjectUser.user_id == model.User.id + ).filter( + model.Project.parent_id == None + ).filter( + model.Project.is_fork == False + ) + + for entry in query.all(): + namespace, package, contributor = entry + output[namespace][package].add(contributor) + + # Add groups + query = session.query( + model.Project.namespace, model.Project.name, model.PagureGroup.group_name, + ).filter( + model.Project.id == model.ProjectGroup.project_id + ).filter( + model.ProjectGroup.group_id == model.PagureGroup.id + ).filter( + model.Project.parent_id == None + ).filter( + model.Project.is_fork == False + ) + + for entry in query.all(): + namespace, package, group = entry + output[namespace][package].add('@%s' % group) + # Add or remove the watchers depending on their settings query = session.query( model.Project.namespace, model.Project.name, model.User.user, model.Watcher.watch_issues,