changeset 1161:f3c25bbd9148 beta

added proper groups names in add repo from settings
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 19 Mar 2011 22:10:10 +0100
parents 6e70fcca8de8
children 76c5b69c1b27
files rhodecode/controllers/admin/repos.py rhodecode/controllers/admin/settings.py
diffstat 2 files changed, 15 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/controllers/admin/repos.py	Sat Mar 19 20:38:21 2011 +0100
+++ b/rhodecode/controllers/admin/repos.py	Sat Mar 19 22:10:10 2011 +0100
@@ -127,7 +127,8 @@
         defaults = c.repo_info.get_dict()
         group, repo_name = c.repo_info.groups_and_repo
         defaults['repo_name'] = repo_name
-        defaults['repo_group'] = getattr(group[-1] if group else None, 'group_id', None)
+        defaults['repo_group'] = getattr(group[-1] if group else None,
+                                         'group_id', None)
 
         #fill owner
         if c.repo_info.user:
--- a/rhodecode/controllers/admin/settings.py	Sat Mar 19 20:38:21 2011 +0100
+++ b/rhodecode/controllers/admin/settings.py	Sat Mar 19 22:10:10 2011 +0100
@@ -319,10 +319,21 @@
     @HasPermissionAnyDecorator('hg.admin', 'hg.create.repository')
     def create_repository(self):
         """GET /_admin/create_repository: Form to create a new item"""
+
+        c.repo_groups = [('', '')]
+        parents_link = lambda k:h.literal('&raquo;'.join(
+                                    map(lambda k:k.group_name,
+                                        k.parents + [k])
+                                    )
+                                )
+
+        c.repo_groups.extend([(x.group_id, parents_link(x)) for \
+                                            x in self.sa.query(Group).all()])
+        c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups)
+
         new_repo = request.GET.get('repo', '')
         c.new_repo = repo_name_slug(new_repo)
-        c.repo_groups = [('', '')]
-        c.repo_groups.extend([(x.group_id, x.group_name) for x in self.sa.query(Group).all()])
+
         return render('admin/repos/repo_add_create_repository.html')
 
     def get_hg_ui_settings(self):