comparison pylons_app/controllers/branches.py @ 331:fdf9f6ee5217

Implemented permissions into hg app, secured admin controllers, templates and repository specific controllers
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 29 Jun 2010 20:45:03 +0200
parents 7ec4463b6e53
children 174785aa5dc4
comparison
equal deleted inserted replaced
330:c961b78ff0a0 331:fdf9f6ee5217
20 """ 20 """
21 Created on April 21, 2010 21 Created on April 21, 2010
22 branches controller for pylons 22 branches controller for pylons
23 @author: marcink 23 @author: marcink
24 """ 24 """
25 from pylons import tmpl_context as c 25 from pylons import tmpl_context as c, request
26 from pylons_app.lib.auth import LoginRequired 26 from pylons_app.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
27 from pylons_app.lib.base import BaseController, render 27 from pylons_app.lib.base import BaseController, render
28 from pylons_app.model.hg_model import HgModel 28 from pylons_app.model.hg_model import HgModel
29 import logging 29 import logging
30
31 log = logging.getLogger(__name__) 30 log = logging.getLogger(__name__)
32 31
33 class BranchesController(BaseController): 32 class BranchesController(BaseController):
34 33
35 @LoginRequired() 34 @LoginRequired()
35 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write', 'repository.admin')
36 def __before__(self): 36 def __before__(self):
37 super(BranchesController, self).__before__() 37 super(BranchesController, self).__before__()
38 38
39 def index(self): 39 def index(self):
40 hg_model = HgModel() 40 hg_model = HgModel()
41 c.repo_info = hg_model.get_repo(c.repo_name) 41 c.repo_info = hg_model.get_repo(c.repo_name)
42 c.repo_branches = {} 42 c.repo_branches = {}
43 for name, hash in c.repo_info.branches.items(): 43 for name, hash_ in c.repo_info.branches.items():
44 c.repo_branches[name] = c.repo_info.get_changeset(hash) 44 c.repo_branches[name] = c.repo_info.get_changeset(hash_)
45 45
46 return render('branches/branches.html') 46 return render('branches/branches.html')