diff rhodecode/controllers/files.py @ 644:c8bd0e6cc3da beta

some changes for #45. Added warning messages for browsing wrong cs/paths Cleanup of codes
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 02 Nov 2010 23:28:37 +0100
parents ffd07396d315
children 3765f0f479a2
line wrap: on
line diff
--- a/rhodecode/controllers/files.py	Tue Nov 02 22:26:50 2010 +0100
+++ b/rhodecode/controllers/files.py	Tue Nov 02 23:28:37 2010 +0100
@@ -68,24 +68,29 @@
 
 
         try:
-            cur_rev = repo.get_changeset(revision).revision
+            c.changeset = repo.get_changeset(revision)
+            cur_rev = c.changeset.revision
             prev_rev = repo.get_changeset(get_prev_rev(cur_rev)).raw_id
             next_rev = repo.get_changeset(get_next_rev(cur_rev)).raw_id
 
             c.url_prev = url('files_home', repo_name=c.repo_name,
                              revision=prev_rev, f_path=f_path)
             c.url_next = url('files_home', repo_name=c.repo_name,
-                             revision=next_rev, f_path=f_path)
+                         revision=next_rev, f_path=f_path)
 
-            c.changeset = repo.get_changeset(revision)
+            try:
+                c.files_list = c.changeset.get_node(f_path)
+                c.file_history = self._get_history(repo, c.files_list, f_path)
 
-            c.cur_rev = c.changeset.raw_id
-            c.rev_nr = c.changeset.revision
-            c.files_list = c.changeset.get_node(f_path)
-            c.file_history = self._get_history(repo, c.files_list, f_path)
+            except RepositoryError, e:
+                h.flash(str(e), category='warning')
+                redirect(h.url('files_home', repo_name=repo_name, revision=revision))
 
-        except (RepositoryError, ChangesetError):
-            c.files_list = None
+        except RepositoryError, e:
+            h.flash(str(e), category='warning')
+            redirect(h.url('files_home', repo_name=repo_name, revision='tip'))
+
+
 
         return render('files/files.html')