comparison pylons_app/controllers/repos.py @ 309:29370bb76fa6

first permissions commit: added permission managment on repository edit. Changed db rmissions, validators.
author Marcin Kuzminski <marcin@python-works.com>
date Fri, 25 Jun 2010 02:09:33 +0200
parents 32d6c955218c
children 15e96b5a2685
comparison
equal deleted inserted replaced
308:248642ed1912 309:29370bb76fa6
105 _form = RepoForm(edit=True)() 105 _form = RepoForm(edit=True)()
106 try: 106 try:
107 form_result = _form.to_python(dict(request.POST)) 107 form_result = _form.to_python(dict(request.POST))
108 repo_model.update(id, form_result) 108 repo_model.update(id, form_result)
109 invalidate_cache('cached_repo_list') 109 invalidate_cache('cached_repo_list')
110 h.flash(_('Repository updated succesfully'), category='success') 110 h.flash(_('Repository %s updated succesfully' % id), category='success')
111 111
112 except formencode.Invalid as errors: 112 except formencode.Invalid as errors:
113 c.repo_info = repo_model.get(id) 113 c.repo_info = repo_model.get(id)
114 errors.value.update({'user':c.repo_info.user.username})
114 c.form_errors = errors.error_dict 115 c.form_errors = errors.error_dict
115 return htmlfill.render( 116 return htmlfill.render(
116 render('admin/repos/repo_edit.html'), 117 render('admin/repos/repo_edit.html'),
117 defaults=errors.value, 118 defaults=errors.value,
118 encoding="UTF-8") 119 encoding="UTF-8")
164 ' please run the application again' 165 ' please run the application again'
165 ' in order to rescan repositories') % id, category='error') 166 ' in order to rescan repositories') % id, category='error')
166 167
167 return redirect(url('repos')) 168 return redirect(url('repos'))
168 defaults = c.repo_info.__dict__ 169 defaults = c.repo_info.__dict__
169 defaults.update({'user':c.repo_info.user.username}) 170 defaults.update({'user':c.repo_info.user.username})
171
172 for p in c.repo_info.repo2perm:
173 defaults.update({'perm_%s' % p.user.username:
174 p.permission.permission_name})
175
170 return htmlfill.render( 176 return htmlfill.render(
171 render('admin/repos/repo_edit.html'), 177 render('admin/repos/repo_edit.html'),
172 defaults=defaults, 178 defaults=defaults,
173 encoding="UTF-8", 179 encoding="UTF-8",
174 force_defaults=False 180 force_defaults=False