Mercurial > public > src > rhodecode
comparison pylons_app/controllers/files.py @ 191:b68b2246e5a6
Authenticated controller with LoginRequired decorator, and cleaned __before__ (used in baseController now). fixed User for clone url with logged in session user.
Removed login form from admin.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sat, 22 May 2010 01:47:07 +0200 |
parents | 0f7f93df5802 |
children | 1a18994cdc3b |
comparison
equal
deleted
inserted
replaced
190:d8eb7ee27b4c | 191:b68b2246e5a6 |
---|---|
6 from pylons_app.lib.base import BaseController, render | 6 from pylons_app.lib.base import BaseController, render |
7 from pylons_app.lib.utils import get_repo_slug | 7 from pylons_app.lib.utils import get_repo_slug |
8 from pylons_app.model.hg_model import HgModel | 8 from pylons_app.model.hg_model import HgModel |
9 from vcs.utils import diffs as differ | 9 from vcs.utils import diffs as differ |
10 from vcs.exceptions import RepositoryError, ChangesetError | 10 from vcs.exceptions import RepositoryError, ChangesetError |
11 from pylons_app.lib.auth import LoginRequired | |
11 | 12 |
12 log = logging.getLogger(__name__) | 13 log = logging.getLogger(__name__) |
13 | 14 |
14 class FilesController(BaseController): | 15 class FilesController(BaseController): |
16 | |
17 @LoginRequired() | |
15 def __before__(self): | 18 def __before__(self): |
16 c.repos_prefix = config['repos_name'] | 19 super(FilesController, self).__before__() |
17 c.repo_name = get_repo_slug(request) | |
18 | 20 |
19 def index(self, repo_name, revision, f_path): | 21 def index(self, repo_name, revision, f_path): |
20 hg_model = HgModel() | 22 hg_model = HgModel() |
21 c.repo = repo = hg_model.get_repo(c.repo_name) | 23 c.repo = repo = hg_model.get_repo(c.repo_name) |
22 revision = request.POST.get('at_rev', None) or revision | 24 revision = request.POST.get('at_rev', None) or revision |
68 response.content_type = file_node.mimetype | 70 response.content_type = file_node.mimetype |
69 response.content_disposition = 'attachment; filename=%s' \ | 71 response.content_disposition = 'attachment; filename=%s' \ |
70 % f_path.split('/')[-1] | 72 % f_path.split('/')[-1] |
71 return file_node.content | 73 return file_node.content |
72 | 74 |
75 def annotate(self, repo_name, revision, f_path): | |
76 hg_model = HgModel() | |
77 c.repo = hg_model.get_repo(c.repo_name) | |
78 cs = c.repo.get_changeset(revision) | |
79 c.file = cs.get_node(f_path) | |
80 c.file_msg = cs.get_file_message(f_path) | |
81 c.cur_rev = cs.raw_id | |
82 c.f_path = f_path | |
83 c.annotate = cs.get_file_annotate(f_path) | |
84 return render('files/files_annotate.html') | |
85 | |
73 def archivefile(self, repo_name, revision, fileformat): | 86 def archivefile(self, repo_name, revision, fileformat): |
74 return '%s %s %s' % (repo_name, revision, fileformat) | 87 return '%s %s %s' % (repo_name, revision, fileformat) |
75 | 88 |
76 def diff(self, repo_name, f_path): | 89 def diff(self, repo_name, f_path): |
77 hg_model = HgModel() | 90 hg_model = HgModel() |