diff --git a/pagure/decorators.py b/pagure/decorators.py index 86e3d20..8a17b84 100644 --- a/pagure/decorators.py +++ b/pagure/decorators.py @@ -37,7 +37,7 @@ def has_issue_tracker(function): return check_issue_tracker -def has_trackers(function): +def has_pr_enabled(function): """ Decorator that checks if the current pagure project has the issue tracker active or has PRs function active @@ -47,16 +47,9 @@ def has_trackers(function): @wraps(function) def check_trackers(*args, **kwargs): repo = flask.g.repo - if not repo.settings.get( - "issue_tracker", True - ) and not repo.settings.get("pull_requests", True): - flask.abort(404, "No ticket trackers found for this project") - elif ( - flask.request.method == "POST" - and repo.settings.get("issue_tracker_read_only", False) - and not repo.settings.get("pull_requests", True) - ): - flask.abort(401, "The issue tracker for this project is read-only") + if not repo.settings.get("pull_requests", True): + flask.abort(404, "Pull Requests are not enabled on this project") + return function(*args, **kwargs) return check_trackers diff --git a/pagure/ui/repo.py b/pagure/ui/repo.py index 1ea7dd2..537d84a 100644 --- a/pagure/ui/repo.py +++ b/pagure/ui/repo.py @@ -60,7 +60,7 @@ from pagure.decorators import ( is_repo_admin, is_admin_sess_timedout, has_issue_tracker, - has_trackers, + has_pr_enabled, ) _log = logging.getLogger(__name__) @@ -2799,7 +2799,8 @@ def update_close_status(repo, username=None, namespace=None): methods=["POST"], ) @login_required -@has_trackers +@has_issue_tracker +@has_pr_enabled @is_admin_sess_timedout @is_repo_admin def update_quick_replies(repo, username=None, namespace=None): @@ -3131,7 +3132,8 @@ def view_stats(repo, username=None, namespace=None): @UI_NS.route("///update/tags", methods=["POST"]) @login_required @is_repo_admin -@has_trackers +@has_issue_tracker +@has_pr_enabled def update_tags(repo, username=None, namespace=None): """ Update the tags of a project. """ @@ -3236,7 +3238,8 @@ def update_tags(repo, username=None, namespace=None): @UI_NS.route("/fork////droptag/", methods=["POST"]) @login_required @is_repo_admin -@has_trackers +@has_issue_tracker +@has_pr_enabled def remove_tag(repo, username=None, namespace=None): """ Remove the specified tag, associated with the issues, from the project. """ @@ -3289,7 +3292,8 @@ def remove_tag(repo, username=None, namespace=None): ) @login_required @is_repo_admin -@has_trackers +@has_issue_tracker +@has_pr_enabled def edit_tag(repo, tag, username=None, namespace=None): """ Edit the specified tag associated with the issues of a project. """