changeset 2631:f597cfb492f9 beta

Added quick links for editing permissions for users from permission overview
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 18 Jul 2012 22:07:46 +0200
parents f79320e47e99
children 5535389f1959 5f21a9dcb09d
files rhodecode/config/routing.py rhodecode/controllers/admin/repos_groups.py rhodecode/model/repo.py rhodecode/model/repos_group.py rhodecode/templates/admin/users/user_edit.html
diffstat 5 files changed, 25 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/config/routing.py	Wed Jul 18 19:09:12 2012 +0200
+++ b/rhodecode/config/routing.py	Wed Jul 18 22:07:46 2012 +0200
@@ -158,8 +158,7 @@
                   action="delete", conditions=dict(method=["DELETE"],
                                                    function=check_int))
         m.connect("edit_repos_group", "/repos_groups/{id}/edit",
-                  action="edit", conditions=dict(method=["GET"],
-                                                 function=check_int))
+                  action="edit", conditions=dict(method=["GET"],))
         m.connect("formatted_edit_repos_group",
                   "/repos_groups/{id}.{format}/edit",
                   action="edit", conditions=dict(method=["GET"],
--- a/rhodecode/controllers/admin/repos_groups.py	Wed Jul 18 19:09:12 2012 +0200
+++ b/rhodecode/controllers/admin/repos_groups.py	Wed Jul 18 22:07:46 2012 +0200
@@ -301,13 +301,12 @@
         """GET /repos_groups/id/edit: Form to edit an existing item"""
         # url('edit_repos_group', id=ID)
 
-        id_ = int(id)
-
-        c.repos_group = RepoGroup.get(id_)
-        defaults = self.__load_data(id_)
+        c.repos_group = ReposGroupModel()._get_repos_group(id)
+        defaults = self.__load_data(c.repos_group.group_id)
 
         # we need to exclude this group from the group list for editing
-        c.repo_groups = filter(lambda x: x[0] != id_, c.repo_groups)
+        c.repo_groups = filter(lambda x: x[0] != c.repos_group.group_id,
+                               c.repo_groups)
 
         return htmlfill.render(
             render('admin/repos_groups/repos_groups_edit.html'),
--- a/rhodecode/model/repo.py	Wed Jul 18 19:09:12 2012 +0200
+++ b/rhodecode/model/repo.py	Wed Jul 18 22:07:46 2012 +0200
@@ -53,7 +53,7 @@
         return self._get_instance(UsersGroup, users_group,
                                   callback=UsersGroup.get_by_group_name)
 
-    def __get_repos_group(self, repos_group):
+    def _get_repos_group(self, repos_group):
         return self._get_instance(RepoGroup, repos_group,
                                   callback=RepoGroup.get_by_group_name)
 
@@ -210,7 +210,7 @@
 
         owner = self._get_user(owner)
         fork_of = self._get_repo(fork_of)
-        repos_group = self.__get_repos_group(repos_group)
+        repos_group = self._get_repos_group(repos_group)
         try:
 
             # repo name is just a name of repository
--- a/rhodecode/model/repos_group.py	Wed Jul 18 19:09:12 2012 +0200
+++ b/rhodecode/model/repos_group.py	Wed Jul 18 22:07:46 2012 +0200
@@ -45,7 +45,7 @@
         return self._get_instance(UsersGroup, users_group,
                                   callback=UsersGroup.get_by_group_name)
 
-    def __get_repos_group(self, repos_group):
+    def _get_repos_group(self, repos_group):
         return self._get_instance(RepoGroup, repos_group,
                                   callback=RepoGroup.get_by_group_name)
 
@@ -133,7 +133,7 @@
         try:
             new_repos_group = RepoGroup()
             new_repos_group.group_description = group_description
-            new_repos_group.parent_group = self.__get_repos_group(parent)
+            new_repos_group.parent_group = self._get_repos_group(parent)
             new_repos_group.group_name = new_repos_group.get_new_name(group_name)
 
             self.sa.add(new_repos_group)
@@ -202,7 +202,7 @@
             raise
 
     def delete(self, repos_group):
-        repos_group = self.__get_repos_group(repos_group)
+        repos_group = self._get_repos_group(repos_group)
         try:
             self.sa.delete(repos_group)
             self.__delete_group(repos_group)
@@ -221,7 +221,7 @@
         :param perm: Instance of Permission, or permission_name
         """
 
-        repos_group = self.__get_repos_group(repos_group)
+        repos_group = self._get_repos_group(repos_group)
         user = self._get_user(user)
         permission = self._get_perm(perm)
 
@@ -247,7 +247,7 @@
         :param user: Instance of User, user_id or username
         """
 
-        repos_group = self.__get_repos_group(repos_group)
+        repos_group = self._get_repos_group(repos_group)
         user = self._get_user(user)
 
         obj = self.sa.query(UserRepoGroupToPerm)\
@@ -267,7 +267,7 @@
             or users group name
         :param perm: Instance of Permission, or permission_name
         """
-        repos_group = self.__get_repos_group(repos_group)
+        repos_group = self._get_repos_group(repos_group)
         group_name = self.__get_users_group(group_name)
         permission = self._get_perm(perm)
 
@@ -295,7 +295,7 @@
         :param group_name: Instance of UserGroup, users_group_id,
             or users group name
         """
-        repos_group = self.__get_repos_group(repos_group)
+        repos_group = self._get_repos_group(repos_group)
         group_name = self.__get_users_group(group_name)
 
         obj = self.sa.query(UsersGroupRepoGroupToPerm)\
--- a/rhodecode/templates/admin/users/user_edit.html	Wed Jul 18 19:09:12 2012 +0200
+++ b/rhodecode/templates/admin/users/user_edit.html	Wed Jul 18 22:07:46 2012 +0200
@@ -169,6 +169,7 @@
                     <tr>
                     <th class="left">${_('Name')}</th>
                     <th class="left">${_('Permission')}</th>
+                    <th class="left">${_('Edit Permission')}</th>
                 </thead>
                 <tbody>
                 %for k in c.perm_user.permissions[section]:
@@ -195,7 +196,16 @@
                             %else:
                              <span class="perm_tag ${_perm}">${section_perm}</span>
                             %endif
-                         </td>
+                        </td>
+                        <td>
+                            %if section == 'repositories':
+                                <a href="${h.url('edit_repo',repo_name=k,anchor='permissions_manage')}">${_('edit')}</a>
+                            %elif section == 'repositories_groups':
+                                <a href="${h.url('edit_repos_group',id=k,anchor='permissions_manage')}">${_('edit')}</a>
+                            %else:
+                                --
+                            %endif                        
+                        </td>
                     </tr>
                 %endfor
                 </tbody>