Mercurial > kallithea
comparison pylons_app/controllers/settings.py @ 537:48be953851fc
extended user logs to create/delete/fork repositories for auditing
some spelling corrections
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sat, 02 Oct 2010 02:56:39 +0200 |
parents | a08f610e545e |
children |
comparison
equal
deleted
inserted
replaced
536:39203995f2c4 | 537:48be953851fc |
---|---|
26 from pylons import tmpl_context as c, request, url | 26 from pylons import tmpl_context as c, request, url |
27 from pylons.controllers.util import redirect | 27 from pylons.controllers.util import redirect |
28 from pylons.i18n.translation import _ | 28 from pylons.i18n.translation import _ |
29 from pylons_app.lib.auth import LoginRequired, HasRepoPermissionAllDecorator | 29 from pylons_app.lib.auth import LoginRequired, HasRepoPermissionAllDecorator |
30 from pylons_app.lib.base import BaseController, render | 30 from pylons_app.lib.base import BaseController, render |
31 from pylons_app.lib.utils import invalidate_cache | 31 from pylons_app.lib.utils import invalidate_cache, action_logger |
32 from pylons_app.model.forms import RepoSettingsForm, RepoForkForm | 32 from pylons_app.model.forms import RepoSettingsForm, RepoForkForm |
33 from pylons_app.model.repo_model import RepoModel | 33 from pylons_app.model.repo_model import RepoModel |
34 import formencode | 34 import formencode |
35 import logging | 35 import logging |
36 import pylons_app.lib.helpers as h | 36 import pylons_app.lib.helpers as h |
77 _form = RepoSettingsForm(edit=True, old_data={'repo_name':repo_name})() | 77 _form = RepoSettingsForm(edit=True, old_data={'repo_name':repo_name})() |
78 try: | 78 try: |
79 form_result = _form.to_python(dict(request.POST)) | 79 form_result = _form.to_python(dict(request.POST)) |
80 repo_model.update(repo_name, form_result) | 80 repo_model.update(repo_name, form_result) |
81 invalidate_cache('cached_repo_list') | 81 invalidate_cache('cached_repo_list') |
82 h.flash(_('Repository %s updated succesfully' % repo_name), | 82 h.flash(_('Repository %s updated successfully' % repo_name), |
83 category='success') | 83 category='success') |
84 changed_name = form_result['repo_name'] | 84 changed_name = form_result['repo_name'] |
85 except formencode.Invalid as errors: | 85 except formencode.Invalid as errors: |
86 c.repo_info = repo_model.get(repo_name) | 86 c.repo_info = repo_model.get(repo_name) |
87 c.users_array = repo_model.get_users_js() | 87 c.users_array = repo_model.get_users_js() |
119 ' in order to rescan repositories') % repo_name, | 119 ' in order to rescan repositories') % repo_name, |
120 category='error') | 120 category='error') |
121 | 121 |
122 return redirect(url('hg_home')) | 122 return redirect(url('hg_home')) |
123 try: | 123 try: |
124 action_logger(self.hg_app_user, 'user_deleted_repo', | |
125 repo_name, '', self.sa) | |
124 repo_model.delete(repo) | 126 repo_model.delete(repo) |
125 invalidate_cache('cached_repo_list') | 127 invalidate_cache('cached_repo_list') |
126 h.flash(_('deleted repository %s') % repo_name, category='success') | 128 h.flash(_('deleted repository %s') % repo_name, category='success') |
127 except Exception: | 129 except Exception: |
128 h.flash(_('An error occured during deletion of %s') % repo_name, | 130 h.flash(_('An error occurred during deletion of %s') % repo_name, |
129 category='error') | 131 category='error') |
130 | 132 |
131 return redirect(url('hg_home')) | 133 return redirect(url('hg_home')) |
132 | 134 |
133 def fork(self, repo_name): | 135 def fork(self, repo_name): |
156 form_result.update({'repo_name':repo_name}) | 158 form_result.update({'repo_name':repo_name}) |
157 repo_model.create_fork(form_result, c.hg_app_user) | 159 repo_model.create_fork(form_result, c.hg_app_user) |
158 h.flash(_('fork %s repository as %s task added') \ | 160 h.flash(_('fork %s repository as %s task added') \ |
159 % (repo_name, form_result['fork_name']), | 161 % (repo_name, form_result['fork_name']), |
160 category='success') | 162 category='success') |
161 | 163 action_logger(self.hg_app_user, 'user_forked_repo', |
164 repo_name, '', self.sa) | |
162 except formencode.Invalid as errors: | 165 except formencode.Invalid as errors: |
163 c.new_repo = errors.value['fork_name'] | 166 c.new_repo = errors.value['fork_name'] |
164 r = render('settings/repo_fork.html') | 167 r = render('settings/repo_fork.html') |
165 | 168 |
166 return htmlfill.render( | 169 return htmlfill.render( |