Mercurial > kallithea
comparison rhodecode/model/repo.py @ 735:dbec976d9975 beta
added action loggers to following repositories,
refactoring of repo_model get functions
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Mon, 22 Nov 2010 15:49:04 +0100 |
parents | b9bbc0d6e9f3 |
children | 89b9037d68b7 |
comparison
equal
deleted
inserted
replaced
734:49eb69d78988 | 735:dbec976d9975 |
---|---|
40 def __init__(self): | 40 def __init__(self): |
41 self.sa = Session() | 41 self.sa = Session() |
42 | 42 |
43 def get(self, repo_id, cache=False): | 43 def get(self, repo_id, cache=False): |
44 repo = self.sa.query(Repository)\ | 44 repo = self.sa.query(Repository)\ |
45 .filter(Repository.repo_name == repo_id) | 45 .filter(Repository.repo_id == repo_id) |
46 | 46 |
47 if cache: | 47 if cache: |
48 repo = repo.options(FromCache("sql_cache_short", | 48 repo = repo.options(FromCache("sql_cache_short", |
49 "get_repo_%s" % repo)) | 49 "get_repo_%s" % repo_id)) |
50 return repo.scalar() | 50 return repo.scalar() |
51 | |
52 | |
53 def get_by_repo_name(self, repo_name, cache=False): | |
54 repo = self.sa.query(Repository)\ | |
55 .filter(Repository.repo_name == repo_name) | |
56 | |
57 if cache: | |
58 repo = repo.options(FromCache("sql_cache_short", | |
59 "get_repo_%s" % repo_name)) | |
60 return repo.scalar() | |
51 | 61 |
52 def get_users_js(self): | 62 def get_users_js(self): |
53 | 63 |
54 users = self.sa.query(User).filter(User.active == True).all() | 64 users = self.sa.query(User).filter(User.active == True).all() |
55 u_tmpl = '''{id:%s, fname:"%s", lname:"%s", nname:"%s"},''' | 65 u_tmpl = '''{id:%s, fname:"%s", lname:"%s", nname:"%s"},''' |
63 try: | 73 try: |
64 | 74 |
65 #update permissions | 75 #update permissions |
66 for username, perm in form_data['perms_updates']: | 76 for username, perm in form_data['perms_updates']: |
67 r2p = self.sa.query(RepoToPerm)\ | 77 r2p = self.sa.query(RepoToPerm)\ |
68 .filter(RepoToPerm.user == UserModel().get_by_username(username, cache=False))\ | 78 .filter(RepoToPerm.user == UserModel()\ |
69 .filter(RepoToPerm.repository == self.get(repo_name))\ | 79 .get_by_username(username, cache=False))\ |
80 .filter(RepoToPerm.repository == \ | |
81 self.get_by_repo_name(repo_name))\ | |
70 .one() | 82 .one() |
71 | 83 |
72 r2p.permission_id = self.sa.query(Permission).filter( | 84 r2p.permission_id = self.sa.query(Permission).filter( |
73 Permission.permission_name == | 85 Permission.permission_name == |
74 perm).one().permission_id | 86 perm).one().permission_id |
75 self.sa.add(r2p) | 87 self.sa.add(r2p) |
76 | 88 |
77 #set new permissions | 89 #set new permissions |
78 for username, perm in form_data['perms_new']: | 90 for username, perm in form_data['perms_new']: |
79 r2p = RepoToPerm() | 91 r2p = RepoToPerm() |
80 r2p.repository = self.get(repo_name) | 92 r2p.repository = self.get_by_repo_name(repo_name) |
81 r2p.user = UserModel().get_by_username(username, cache=False) | 93 r2p.user = UserModel().get_by_username(username, cache=False) |
82 | 94 |
83 r2p.permission_id = self.sa.query(Permission).filter( | 95 r2p.permission_id = self.sa.query(Permission).filter( |
84 Permission.permission_name == perm)\ | 96 Permission.permission_name == perm)\ |
85 .one().permission_id | 97 .one().permission_id |
86 self.sa.add(r2p) | 98 self.sa.add(r2p) |
87 | 99 |
88 #update current repo | 100 #update current repo |
89 cur_repo = self.get(repo_name, cache=False) | 101 cur_repo = self.get_by_repo_name(repo_name, cache=False) |
90 | 102 |
91 for k, v in form_data.items(): | 103 for k, v in form_data.items(): |
92 if k == 'user': | 104 if k == 'user': |
93 cur_repo.user_id = v | 105 cur_repo.user_id = v |
94 else: | 106 else: |
170 raise | 182 raise |
171 | 183 |
172 def delete_perm_user(self, form_data, repo_name): | 184 def delete_perm_user(self, form_data, repo_name): |
173 try: | 185 try: |
174 self.sa.query(RepoToPerm)\ | 186 self.sa.query(RepoToPerm)\ |
175 .filter(RepoToPerm.repository == self.get(repo_name))\ | 187 .filter(RepoToPerm.repository \ |
188 == self.get_by_repo_name(repo_name))\ | |
176 .filter(RepoToPerm.user_id == form_data['user_id']).delete() | 189 .filter(RepoToPerm.user_id == form_data['user_id']).delete() |
177 self.sa.commit() | 190 self.sa.commit() |
178 except: | 191 except: |
179 log.error(traceback.format_exc()) | 192 log.error(traceback.format_exc()) |
180 self.sa.rollback() | 193 self.sa.rollback() |
181 raise | 194 raise |
182 | 195 |
183 def delete_stats(self, repo_name): | 196 def delete_stats(self, repo_name): |
184 try: | 197 try: |
185 self.sa.query(Statistics)\ | 198 self.sa.query(Statistics)\ |
186 .filter(Statistics.repository == self.get(repo_name)).delete() | 199 .filter(Statistics.repository == \ |
200 self.get_by_repo_name(repo_name)).delete() | |
187 self.sa.commit() | 201 self.sa.commit() |
188 except: | 202 except: |
189 log.error(traceback.format_exc()) | 203 log.error(traceback.format_exc()) |
190 self.sa.rollback() | 204 self.sa.rollback() |
191 raise | 205 raise |