Mercurial > kallithea
comparison rhodecode/controllers/admin/repos.py @ 1639:95c3e33ef32e
merged upto rev 019026a8cf67
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 02 Nov 2011 22:19:47 +0200 |
parents | 752b0a7b7679 9dae92a65e40 |
children | 6f8f1ab20b7d |
comparison
equal
deleted
inserted
replaced
1637:974d6193b61a | 1639:95c3e33ef32e |
---|---|
24 # along with this program. If not, see <http://www.gnu.org/licenses/>. | 24 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
25 | 25 |
26 import logging | 26 import logging |
27 import traceback | 27 import traceback |
28 import formencode | 28 import formencode |
29 from operator import itemgetter | |
30 from formencode import htmlfill | 29 from formencode import htmlfill |
31 | 30 |
32 from paste.httpexceptions import HTTPInternalServerError | 31 from paste.httpexceptions import HTTPInternalServerError |
33 from pylons import request, response, session, tmpl_context as c, url | 32 from pylons import request, response, session, tmpl_context as c, url |
34 from pylons.controllers.util import abort, redirect | 33 from pylons.controllers.util import abort, redirect |
90 category='error') | 89 category='error') |
91 | 90 |
92 return redirect(url('repos')) | 91 return redirect(url('repos')) |
93 | 92 |
94 c.default_user_id = User.get_by_username('default').user_id | 93 c.default_user_id = User.get_by_username('default').user_id |
95 c.in_public_journal = self.sa.query(UserFollowing)\ | 94 c.in_public_journal = UserFollowing.query()\ |
96 .filter(UserFollowing.user_id == c.default_user_id)\ | 95 .filter(UserFollowing.user_id == c.default_user_id)\ |
97 .filter(UserFollowing.follows_repository == c.repo_info).scalar() | 96 .filter(UserFollowing.follows_repository == c.repo_info).scalar() |
98 | 97 |
99 if c.repo_info.stats: | 98 if c.repo_info.stats: |
100 last_rev = c.repo_info.stats.stat_on_revision | 99 last_rev = c.repo_info.stats.stat_on_revision |
108 c.stats_percentage = 0 | 107 c.stats_percentage = 0 |
109 else: | 108 else: |
110 c.stats_percentage = '%.2f' % ((float((last_rev)) / | 109 c.stats_percentage = '%.2f' % ((float((last_rev)) / |
111 c.repo_last_rev) * 100) | 110 c.repo_last_rev) * 100) |
112 | 111 |
113 defaults = c.repo_info.get_dict() | 112 defaults = RepoModel()._get_defaults(repo_name) |
114 group, repo_name = c.repo_info.groups_and_repo | |
115 defaults['repo_name'] = repo_name | |
116 defaults['repo_group'] = getattr(group[-1] if group else None, | |
117 'group_id', None) | |
118 | |
119 #fill owner | |
120 if c.repo_info.user: | |
121 defaults.update({'user': c.repo_info.user.username}) | |
122 else: | |
123 replacement_user = self.sa.query(User)\ | |
124 .filter(User.admin == True).first().username | |
125 defaults.update({'user': replacement_user}) | |
126 | |
127 #fill repository users | |
128 for p in c.repo_info.repo_to_perm: | |
129 defaults.update({'u_perm_%s' % p.user.username: | |
130 p.permission.permission_name}) | |
131 | |
132 #fill repository groups | |
133 for p in c.repo_info.users_group_to_perm: | |
134 defaults.update({'g_perm_%s' % p.users_group.users_group_name: | |
135 p.permission.permission_name}) | |
136 | |
137 return defaults | 113 return defaults |
138 | 114 |
139 @HasPermissionAllDecorator('hg.admin') | 115 @HasPermissionAllDecorator('hg.admin') |
140 def index(self, format='html'): | 116 def index(self, format='html'): |
141 """GET /repos: All items in the collection""" | 117 """GET /repos: All items in the collection""" |