Commits

ejucovy committed a19cd26

don't delete info about users (or groups) who are listed in gitolite.conf but not present in keydir

Comments (0)

Files changed (1)

trac_gitolite/perm_manager.py

             req.redirect(req.href.admin(category, page))
 
         perms = self.read_config()
-        
+
+        users_listed_in_perms = set()
         flattened_perms = set()
+
         for p in perms.values():
             for perm in p:
                 flattened_perms.add(perm)
+                users_listed_in_perms.update(p[perm])
         flattened_perms = list(flattened_perms)
         def sort_perms(perms):
             tail = []
             return perms
         flattened_perms = sort_perms(flattened_perms)
 
-        data = {'repositories': perms, 'permissions': flattened_perms, 'users': list(self.get_users()),
+        data = {'repositories': perms, 'permissions': flattened_perms, 
+                'users': sorted(list(set(self.get_users() + users_listed_in_perms))),
                 'sort_perms': sort_perms}
         return 'admin_repository_permissions.html', data
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.