Mercurial > kallithea
diff kallithea/controllers/changelog.py @ 4363:7ad20e8f16bd
redirect: don't redirect on error - it is better to have clear error messages and stable and meaningful URLs
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Fri, 18 Jul 2014 19:22:01 +0200 |
parents | 42bc65838fd1 |
children | 0111c18298a0 |
line wrap: on
line diff
--- a/kallithea/controllers/changelog.py Fri Jul 18 19:21:56 2014 +0200 +++ b/kallithea/controllers/changelog.py Fri Jul 18 19:22:01 2014 +0200 @@ -71,12 +71,10 @@ super(ChangelogController, self).__before__() c.affected_files_cut_off = 60 - def __get_cs_or_redirect(self, rev, repo, redirect_after=True, - partial=False): + @staticmethod + def __get_cs(rev, repo): """ - Safe way to get changeset if error occur it redirects to changeset with - proper message. If partial is set then don't do redirect raise Exception - instead + Safe way to get changeset. If error occur fail with error message. :param rev: revision to fetch :param repo: repo instance @@ -85,18 +83,12 @@ try: return c.db_repo_scm_instance.get_changeset(rev) except EmptyRepositoryError, e: - if not redirect_after: - return None h.flash(h.literal(_('There are no changesets yet')), - category='warning') - redirect(url('changelog_home', repo_name=repo.repo_name)) - + category='error') except RepositoryError, e: log.error(traceback.format_exc()) - h.flash(safe_str(e), category='warning') - if not partial: - redirect(h.url('changelog_home', repo_name=repo.repo_name)) - raise HTTPBadRequest() + h.flash(safe_str(e), category='error') + raise HTTPBadRequest() @LoginRequired() @HasRepoPermissionAnyDecorator('repository.read', 'repository.write', @@ -136,7 +128,7 @@ except (NodeDoesNotExistError, ChangesetError): #this node is not present at tip ! try: - cs = self.__get_cs_or_redirect(revision, repo_name) + cs = self.__get_cs(revision, repo_name) collection = cs.get_file_history(f_path) except RepositoryError, e: h.flash(safe_str(e), category='warning')