From f36707ada9eff1293de93dd0ede38ac0fa28c46a Mon Sep 17 00:00:00 2001 From: Michal Kolodziejski Date: Fri, 8 Dec 2017 12:08:12 +0100 Subject: [PATCH] Create single tpl to manage reviewing questions --- .../abstracts/controllers/management.py | 6 +- .../events/papers/controllers/management.py | 10 +- .../events/papers/models/review_questions.py | 2 +- .../management/paper_reviewing_questions.html | 106 ------------------ .../reviewing_questions_management.html} | 24 ++-- 5 files changed, 25 insertions(+), 123 deletions(-) delete mode 100644 indico/modules/events/papers/templates/management/paper_reviewing_questions.html rename indico/modules/events/{abstracts/templates/management/abstract_reviewing_questions.html => templates/reviewing_questions_management.html} (82%) diff --git a/indico/modules/events/abstracts/controllers/management.py b/indico/modules/events/abstracts/controllers/management.py index ef3af0d6cd9..80c83101784 100644 --- a/indico/modules/events/abstracts/controllers/management.py +++ b/indico/modules/events/abstracts/controllers/management.py @@ -161,9 +161,11 @@ def _process(self): class RHManageAbstractReviewingQuestions(RHManageAbstractsBase): def _process(self): - return jsonify_template('events/abstracts/management/abstract_reviewing_questions.html', event=self.event, + actions = {'create': 'abstracts.create_reviewing_question', 'edit': 'abstracts.edit_reviewing_question', + 'delete': 'abstracts.delete_reviewing_question', 'sort': 'abstracts.sort_reviewing_questions'} + return jsonify_template('events/reviewing_questions_management.html', event=self.event, reviewing_questions=self.event.abstract_review_questions, - field_types=get_reviewing_field_types('abstracts')) + field_types=get_reviewing_field_types('abstracts'), actions=actions, args={}) class RHCreateAbstractReviewingQuestion(RHManageAbstractsBase): diff --git a/indico/modules/events/papers/controllers/management.py b/indico/modules/events/papers/controllers/management.py index cf4fa4facf6..c7a3cffb21e 100644 --- a/indico/modules/events/papers/controllers/management.py +++ b/indico/modules/events/papers/controllers/management.py @@ -223,9 +223,13 @@ def _process(self): questions = self.event.cfp.layout_review_questions else: questions = self.event.cfp.content_review_questions - return jsonify_template('events/papers/management/paper_reviewing_questions.html', event=self.event, - review_type=review_type, questions=questions, - field_types=get_reviewing_field_types('papers')) + + actions = {'create': 'papers.create_reviewing_question', 'edit': 'papers.edit_reviewing_question', + 'delete': 'papers.delete_reviewing_question', 'sort': 'papers.sort_reviewing_questions'} + args = {'create': {'review_type': review_type}, 'sort': {'review_type': review_type}} + return jsonify_template('events/reviewing_questions_management.html', event=self.event, + reviewing_questions=questions, actions=actions, + field_types=get_reviewing_field_types('papers'), args=args) class RHReviewingQuestionsActionsBase(RHManagePapersBase): diff --git a/indico/modules/events/papers/models/review_questions.py b/indico/modules/events/papers/models/review_questions.py index 69857d68d18..7d2de46e602 100644 --- a/indico/modules/events/papers/models/review_questions.py +++ b/indico/modules/events/papers/models/review_questions.py @@ -39,7 +39,7 @@ class PaperReviewQuestion(ReviewQuestionMixin, db.Model): @locator_property def locator(self): - return dict(self.event.locator, question_id=self.id) + return dict(self.event.locator, question_id=self.id, review_type=self.type.name) @property def field(self): diff --git a/indico/modules/events/papers/templates/management/paper_reviewing_questions.html b/indico/modules/events/papers/templates/management/paper_reviewing_questions.html deleted file mode 100644 index 3c39094b1d8..00000000000 --- a/indico/modules/events/papers/templates/management/paper_reviewing_questions.html +++ /dev/null @@ -1,106 +0,0 @@ -{% from 'message_box.html' import message_box %} -{% from '_sortable_list.html' import sortable_list %} - -
-
- - {%- trans %}Add new question{% endtrans -%} - - -
- - {% if questions %} - {% call(question) sortable_list(questions, id="reviewing-questions-list", classes='tiles disable-if-locked') %} - - - - - {% endcall %} - {% else %} - {%- call message_box('info') %} - {% if review_type == 'layout' %} - {%- trans %}There are no custom layout reviewing questions yet.{% endtrans %} - {% else %} - {%- trans %}There are no custom content reviewing questions yet.{% endtrans %} - {% endif %} - {%- endcall %} - {% endif %} - -
- -
-
- - diff --git a/indico/modules/events/abstracts/templates/management/abstract_reviewing_questions.html b/indico/modules/events/templates/reviewing_questions_management.html similarity index 82% rename from indico/modules/events/abstracts/templates/management/abstract_reviewing_questions.html rename to indico/modules/events/templates/reviewing_questions_management.html index beddd0b8d89..7049bbef481 100644 --- a/indico/modules/events/abstracts/templates/management/abstract_reviewing_questions.html +++ b/indico/modules/events/templates/reviewing_questions_management.html @@ -7,10 +7,10 @@ {%- trans %}Add new question{% endtrans -%} - {% if reviewing_questions %} + {% if reviewing_questions -%} {% call(reviewing_question) sortable_list(reviewing_questions, id="reviewing-questions-list", classes='tiles disable-if-locked') %} {% endcall %} - {% else %} + {%- else -%} {%- call message_box('info') %} - {%- trans %}There are no custom abstract reviewing questions yet.{% endtrans %} + {%- trans %}There are no reviewing questions yet.{% endtrans %} {%- endcall %} - {% endif %} + {%- endif %}
- +
@@ -88,7 +90,7 @@ ids = $.makeArray(ids); $.ajax({ - url: {{ url_for('.sort_reviewing_questions', event)|tojson }}, + url: {{ url_for(actions.sort, event, **(args.sort|default({})))|tojson }}, method: 'POST', data: { field_ids: ids