diff rhodecode/controllers/admin/repos.py @ 3154:0226b6d6b2b5 beta

Use common function for generation of grid data - admin grid now has dedicated edit button, and uses changeset_cache - some small improvements to grid - all other datatables use this
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 09 Jan 2013 01:59:43 +0100
parents 144128efc6ab
children cd50d1b5f35b 11b005b2d5e8
line wrap: on
line diff
--- a/rhodecode/controllers/admin/repos.py	Tue Jan 08 20:42:48 2013 +0100
+++ b/rhodecode/controllers/admin/repos.py	Wed Jan 09 01:59:43 2013 +0100
@@ -135,40 +135,10 @@
                         .order_by(func.lower(Repository.repo_name))\
                         .all()
 
-        repos_data = []
-        total_records = len(c.repos_list)
-
-        _tmpl_lookup = rhodecode.CONFIG['pylons.app_globals'].mako_lookup
-        template = _tmpl_lookup.get_template('data_table/_dt_elements.html')
-
-        quick_menu = lambda repo_name: (template.get_def("quick_menu")
-                                        .render(repo_name, _=_, h=h, c=c))
-        repo_lnk = lambda name, rtype, private, fork_of: (
-            template.get_def("repo_name")
-            .render(name, rtype, private, fork_of, short_name=False,
-                    admin=True, _=_, h=h, c=c))
-
-        repo_actions = lambda repo_name: (template.get_def("repo_actions")
-                                       .render(repo_name, _=_, h=h, c=c))
-
-        for repo in c.repos_list:
-            repos_data.append({
-                "menu": quick_menu(repo.repo_name),
-                "raw_name": repo.repo_name.lower(),
-                "name": repo_lnk(repo.repo_name, repo.repo_type,
-                                 repo.private, repo.fork),
-                "desc": repo.description,
-                "owner": repo.user.username,
-                "action": repo_actions(repo.repo_name),
-            })
-
-        c.data = json.dumps({
-            "totalRecords": total_records,
-            "startIndex": 0,
-            "sort": "name",
-            "dir": "asc",
-            "records": repos_data
-        })
+        repos_data = RepoModel().get_repos_as_dict(repos_list=c.repos_list,
+                                                   admin=True)
+        #json used to render the grid
+        c.data = json.dumps(repos_data)
 
         return render('admin/repos/repos.html')