From b8db6426d203de0b9b36133ae7ad690811f21d3e Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Feb 25 2019 16:15:51 +0000 Subject: When loading blocking or depending tickets restricts the list of tickets Instead of loading the entire list of issues, use the user's input to restrict the tickets to the ones containing the identifier given. Fixes https://pagure.io/pagure/issue/2081 Signed-off-by: Pierre-Yves Chibon --- diff --git a/pagure/api/issue.py b/pagure/api/issue.py index 7835460..c0707e4 100644 --- a/pagure/api/issue.py +++ b/pagure/api/issue.py @@ -521,6 +521,7 @@ def api_view_issues(repo, username=None, namespace=None): status = flask.request.args.get("status", None) tags = flask.request.args.getlist("tags") tags = [tag.strip() for tag in tags if tag.strip()] + search_id = flask.request.args.get("query_id", None) priority_key = None if priority: @@ -560,6 +561,7 @@ def api_view_issues(repo, username=None, namespace=None): "priority": priority_key, "order": order, "no_milestones": no_stones, + "search_id": search_id, } if status is not None: diff --git a/pagure/templates/issue.html b/pagure/templates/issue.html index 6bffda5..9adda95 100644 --- a/pagure/templates/issue.html +++ b/pagure/templates/issue.html @@ -1107,7 +1107,6 @@ $(".comment_and_close_action").click(function(event){ ); } - var _block_loaded = false; $('.mainform #blocking').selectize({ plugins: ['remove_button'], valueField: 'id', @@ -1124,20 +1123,18 @@ $(".comment_and_close_action").click(function(event){ }, create: false, load: function(query, callback) { - if (_block_loaded){ + if (!query){ callback(); return; }; var _url = "{{ url_for('api_ns.api_view_issues', repo=repo.name, username=username, - namespace=repo.namespace) }}"; + namespace=repo.namespace) }}" + "?query_id=" + query; _get_issues(_url, callback); - _block_loaded = true; } }); - var _dep_loaded = false; $('.mainform #depending').selectize({ plugins: ['remove_button'], valueField: 'id', @@ -1154,16 +1151,15 @@ $(".comment_and_close_action").click(function(event){ }, create: false, load: function(query, callback) { - if (_dep_loaded){ + if (!query){ callback(); return; }; var _url = "{{ url_for('api_ns.api_view_issues', repo=repo.name, username=username, - namespace=repo.namespace) }}"; + namespace=repo.namespace) }}" + "?query_id=" + query; _get_issues(_url, callback); - _dep_loaded = true; } });