comparison 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
comparison
equal deleted inserted replaced
3153:8046d1979674 3154:0226b6d6b2b5
133 133
134 c.repos_list = Repository.query()\ 134 c.repos_list = Repository.query()\
135 .order_by(func.lower(Repository.repo_name))\ 135 .order_by(func.lower(Repository.repo_name))\
136 .all() 136 .all()
137 137
138 repos_data = [] 138 repos_data = RepoModel().get_repos_as_dict(repos_list=c.repos_list,
139 total_records = len(c.repos_list) 139 admin=True)
140 140 #json used to render the grid
141 _tmpl_lookup = rhodecode.CONFIG['pylons.app_globals'].mako_lookup 141 c.data = json.dumps(repos_data)
142 template = _tmpl_lookup.get_template('data_table/_dt_elements.html')
143
144 quick_menu = lambda repo_name: (template.get_def("quick_menu")
145 .render(repo_name, _=_, h=h, c=c))
146 repo_lnk = lambda name, rtype, private, fork_of: (
147 template.get_def("repo_name")
148 .render(name, rtype, private, fork_of, short_name=False,
149 admin=True, _=_, h=h, c=c))
150
151 repo_actions = lambda repo_name: (template.get_def("repo_actions")
152 .render(repo_name, _=_, h=h, c=c))
153
154 for repo in c.repos_list:
155 repos_data.append({
156 "menu": quick_menu(repo.repo_name),
157 "raw_name": repo.repo_name.lower(),
158 "name": repo_lnk(repo.repo_name, repo.repo_type,
159 repo.private, repo.fork),
160 "desc": repo.description,
161 "owner": repo.user.username,
162 "action": repo_actions(repo.repo_name),
163 })
164
165 c.data = json.dumps({
166 "totalRecords": total_records,
167 "startIndex": 0,
168 "sort": "name",
169 "dir": "asc",
170 "records": repos_data
171 })
172 142
173 return render('admin/repos/repos.html') 143 return render('admin/repos/repos.html')
174 144
175 @HasPermissionAnyDecorator('hg.admin', 'hg.create.repository') 145 @HasPermissionAnyDecorator('hg.admin', 'hg.create.repository')
176 def create(self): 146 def create(self):