diff 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
line wrap: on
line diff
--- a/pylons_app/controllers/files.py	Sat May 22 01:43:42 2010 +0200
+++ b/pylons_app/controllers/files.py	Sat May 22 01:47:07 2010 +0200
@@ -8,13 +8,15 @@
 from pylons_app.model.hg_model import HgModel
 from vcs.utils import diffs as differ
 from vcs.exceptions import RepositoryError, ChangesetError
+from pylons_app.lib.auth import LoginRequired
         
 log = logging.getLogger(__name__)
 
 class FilesController(BaseController):
+    
+    @LoginRequired()
     def __before__(self):
-        c.repos_prefix = config['repos_name']
-        c.repo_name = get_repo_slug(request)
+        super(FilesController, self).__before__()
 
     def index(self, repo_name, revision, f_path):
         hg_model = HgModel()
@@ -70,6 +72,17 @@
                                                     % f_path.split('/')[-1] 
         return file_node.content
     
+    def annotate(self, repo_name, revision, f_path):
+        hg_model = HgModel()
+        c.repo = hg_model.get_repo(c.repo_name)
+        cs = c.repo.get_changeset(revision)
+        c.file = cs.get_node(f_path)
+        c.file_msg = cs.get_file_message(f_path)
+        c.cur_rev = cs.raw_id
+        c.f_path = f_path
+        c.annotate = cs.get_file_annotate(f_path)
+        return render('files/files_annotate.html')
+      
     def archivefile(self, repo_name, revision, fileformat):
         return '%s %s %s' % (repo_name, revision, fileformat)