From b5d4a64c0437e671f0273ed564c4f1f6734b86ca Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Nov 27 2017 21:09:20 +0000 Subject: [PATCH 1/3] Simplify the logic used the issues template for the ordering Turns out this was not working in production, likely due to the difference in flask version. Signed-off-by: Pierre-Yves Chibon --- diff --git a/pagure/templates/issues.html b/pagure/templates/issues.html index 2c2ed3a..b1b91f4 100644 --- a/pagure/templates/issues.html +++ b/pagure/templates/issues.html @@ -151,44 +151,56 @@ {% endfor %} -{% set base_url_for = dict( - repo=repo.name, username=username,namespace=repo.namespace, tags=tags, - author=author, assignee=assignee, priority=priority) %} +
- - {% if status and status|lower != 'open' %} - {% else %} - {% endif %} - - {% if not status or status|lower == 'open' %} - {% endif %} From 12b925017284b2708ad19c99226eeb3b346cd8fb Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Nov 27 2017 21:11:43 +0000 Subject: [PATCH 2/3] Fix ordering the issues by author or assignee The solution we had was relying on code added in sqlalchemy 1.0.0 while this is newer than the sqlalchemy version in production. This falls back to older (but also working) code. Signed-off-by: Pierre-Yves Chibon --- diff --git a/pagure/lib/__init__.py b/pagure/lib/__init__.py index 17ccbed..9ee286c 100644 --- a/pagure/lib/__init__.py +++ b/pagure/lib/__init__.py @@ -2551,14 +2551,14 @@ def search_issues( # We must do a LEFT JOIN on model.Issue.assignee because there are # two foreign keys on model.Issue tied to model.User. This tells # SQLAlchemy which foreign key on model.User to order on. - query = query.join(model.User, model.Issue.assignee, isouter=True) + query = query.outerjoin(model.User, model.Issue.assignee) column = model.User.user # If we are ordering by user, then order by reporters' usernames elif order_key == 'user': # We must do a LEFT JOIN on model.Issue.user because there are # two foreign keys on model.Issue tied to model.User. This tells # SQLAlchemy which foreign key on model.User to order on. - query = query.join(model.User, model.Issue.user, isouter=True) + query = query.outerjoin(model.User, model.Issue.user) column = model.User.user elif order_key in model.Issue.__table__.columns.keys(): column = getattr(model.Issue, order_key) From 16c2c052020ebc91d87b7fb6f0c40c0944bff70c Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Nov 27 2017 21:12:30 +0000 Subject: [PATCH 3/3] Fix unit-tests Signed-off-by: Pierre-Yves Chibon --- diff --git a/tests/test_pagure_lib.py b/tests/test_pagure_lib.py index a7a5d73..2d1bfee 100644 --- a/tests/test_pagure_lib.py +++ b/tests/test_pagure_lib.py @@ -5499,7 +5499,8 @@ foo bar 'pull_request_close', 'pull_request_comment', 'pull_request_flag', - 'pull_request_merge' + 'pull_request_merge', + 'pull_request_subscribe', ] )
Issue + Issue {{ 'title' | table_sort_arrow(order_key, order) | safe }}Opened + Opened {{ 'date_created' | table_sort_arrow(order_key, order) | safe }}Closed + Closed {{ 'closed_at' | table_sort_arrow(order_key, order) | safe }}Modified + Modified {{ 'last_updated' | table_sort_arrow(order_key, order) | safe }}Priority + Priority {{ 'priority' | table_sort_arrow(order_key, order) | safe }}Reporter + Reporter {{ 'user' | table_sort_arrow(order_key, order) | safe }}Assignee + Assignee {{ 'assignee' | table_sort_arrow(order_key, order) | safe }}