From ba665f3c99af6be7a819f03e8bfa9fb2610a0681 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Feb 05 2020 16:26:41 +0000 Subject: Order the user and groups names in the access lists When re-generating all the JSON representation of the tickets or PR in their corresponding git repo, if the order varies, we end up re-generating JSON blob for a similar content. By keep the order of the user and group names sorted, we ensure that we will not re-generate JSON blob for no reasons (at least for these fields). Signed-off-by: Pierre-Yves Chibon --- diff --git a/pagure/lib/model.py b/pagure/lib/model.py index d2b43b1..103bfc9 100644 --- a/pagure/lib/model.py +++ b/pagure/lib/model.py @@ -972,9 +972,15 @@ class Project(BASE): """ Return a dictionary with all user access """ return { - "admin": self.get_project_users(access="admin", combine=False), - "commit": self.get_project_users(access="commit", combine=False), - "ticket": self.get_project_users(access="ticket", combine=False), + "admin": sorted( + self.get_project_users(access="admin", combine=False) + ), + "commit": sorted( + self.get_project_users(access="commit", combine=False) + ), + "ticket": sorted( + self.get_project_users(access="ticket", combine=False) + ), } @property @@ -1002,9 +1008,18 @@ class Project(BASE): """ Return a dictionary with all group access """ return { - "admin": self.get_project_groups(access="admin", combine=False), - "commit": self.get_project_groups(access="commit", combine=False), - "ticket": self.get_project_groups(access="ticket", combine=False), + "admin": sorted( + self.get_project_groups(access="admin", combine=False), + key=lambda x: x.group_name, + ), + "commit": sorted( + self.get_project_groups(access="commit", combine=False), + key=lambda x: x.group_name, + ), + "ticket": sorted( + self.get_project_groups(access="ticket", combine=False), + key=lambda x: x.group_name, + ), } def lock(self, ltype):