# HG changeset patch # User Marcin Kuzminski # Date 1340221325 -7200 # Node ID fddd8e3fc1579998c588a43aa67f66a7d83cf78f # Parent 9766f0baf5c5606301732860641b90fab6011a65 use get_or_404 where possible diff -r 9766f0baf5c5 -r fddd8e3fc157 rhodecode/controllers/admin/repos_groups.py --- a/rhodecode/controllers/admin/repos_groups.py Wed Jun 20 21:12:56 2012 +0200 +++ b/rhodecode/controllers/admin/repos_groups.py Wed Jun 20 21:42:05 2012 +0200 @@ -75,7 +75,7 @@ """ self.__load_defaults() - repo_group = RepoGroup.get(group_id) + repo_group = RepoGroup.get_or_404(group_id) data = repo_group.get_dict() @@ -277,12 +277,9 @@ """GET /repos_groups/id: Show a specific item""" # url('repos_group', id=ID) - c.group = RepoGroup.get(id) + c.group = RepoGroup.get_or_404(id) - if c.group: - c.group_repos = c.group.repositories.all() - else: - return redirect(url('home')) + c.group_repos = c.group.repositories.all() #overwrite our cached list with current filter gr_filter = c.group_repos diff -r 9766f0baf5c5 -r fddd8e3fc157 rhodecode/controllers/admin/users.py --- a/rhodecode/controllers/admin/users.py Wed Jun 20 21:12:56 2012 +0200 +++ b/rhodecode/controllers/admin/users.py Wed Jun 20 21:42:05 2012 +0200 @@ -172,9 +172,8 @@ def edit(self, id, format='html'): """GET /users/id/edit: Form to edit an existing item""" # url('edit_user', id=ID) - c.user = User.get(id) - if not c.user: - return redirect(url('users')) + c.user = User.get_or_404(id) + if c.user.username == 'default': h.flash(_("You can't edit this user"), category='warning') return redirect(url('users')) diff -r 9766f0baf5c5 -r fddd8e3fc157 rhodecode/controllers/pullrequests.py --- a/rhodecode/controllers/pullrequests.py Wed Jun 20 21:12:56 2012 +0200 +++ b/rhodecode/controllers/pullrequests.py Wed Jun 20 21:42:05 2012 +0200 @@ -198,11 +198,8 @@ repo_model = RepoModel() c.users_array = repo_model.get_users_js() c.users_groups_array = repo_model.get_users_groups_js() - c.pull_request = PullRequest.get(pull_request_id) + c.pull_request = PullRequest.get_or_404(pull_request_id) - # valid ID - if not c.pull_request: - raise HTTPNotFound cc_model = ChangesetCommentsModel() cs_model = ChangesetStatusModel() _cs_statuses = cs_model.get_statuses(c.pull_request.org_repo, diff -r 9766f0baf5c5 -r fddd8e3fc157 rhodecode/model/db.py --- a/rhodecode/model/db.py Wed Jun 20 21:12:56 2012 +0200 +++ b/rhodecode/model/db.py Wed Jun 20 21:42:05 2012 +0200 @@ -35,6 +35,7 @@ from sqlalchemy.orm import relationship, joinedload, class_mapper, validates from sqlalchemy.exc import DatabaseError from beaker.cache import cache_region, region_invalidate +from webob.exc import HTTPNotFound from pylons.i18n.translation import lazy_ugettext as _ @@ -51,6 +52,7 @@ from rhodecode.model.meta import Base, Session + URL_SEP = '/' log = logging.getLogger(__name__) @@ -142,6 +144,14 @@ return cls.query().get(id_) @classmethod + def get_or_404(cls, id_): + if id_: + res = cls.query().get(id_) + if not res: + raise HTTPNotFound + return res + + @classmethod def getAll(cls): return cls.query().all()