aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Arter <davea@mysociety.org>2019-11-04 14:45:16 +0000
committerDave Arter <davea@mysociety.org>2019-12-09 12:48:12 +0000
commit977f2d023bf5eb3e54f0b00664127b59a26371a5 (patch)
treebd7e5a32fa6d753710acd005a0922433e5b7aee4
parent9f99597cb802c800fcb4e3e06ec153182c004be4 (diff)
Include groups on inspector/admin category dropdown
Shows categories hierarchically, and for categories that appear in multiple groups ensures the correct one is selected based on problem’s category_group extra field.
-rw-r--r--templates/web/base/admin/report-category.html12
-rw-r--r--templates/web/base/report/new/_category_select.html13
-rw-r--r--templates/web/base/report/new/category.html22
3 files changed, 23 insertions, 24 deletions
diff --git a/templates/web/base/admin/report-category.html b/templates/web/base/admin/report-category.html
index 64aa474b9..e76106f7f 100644
--- a/templates/web/base/admin/report-category.html
+++ b/templates/web/base/admin/report-category.html
@@ -1,17 +1,15 @@
[%~ IF NOT select_name %]
[%~ select_name = 'category' %]
[%~ END %]
+[%~ BLOCK category_option ~%]
+<option value="[% cat.category | html %]"[% ' selected' IF problem.category == cat.category %]>[% cat.category_display | html %]</option>
+[%~ END ~%]
+
<select class="form-control" name="[% select_name %]" id="[% select_name %]">
[% IF NOT problem.category OR NOT categories_hash.${problem.category} %]
<optgroup label="[% loc('Existing category') %]">
<option selected value="[% problem.category | html %]">[% (problem.category_display OR '-') | html %]</option>
</optgroup>
[% END %]
- [% IF category_options.size %]
- <optgroup label="[% loc('Available categories') %]">
- [% FOREACH cat IN category_options %]
- <option value="[% cat.category | html %]"[% ' selected' IF problem.category == cat.category %]>[% cat.category_display | html %]</option>
- [% END %]
- </optgroup>
- [% END %]
+ [%~ INCLUDE 'report/new/_category_select.html' ~%]
</select>
diff --git a/templates/web/base/report/new/_category_select.html b/templates/web/base/report/new/_category_select.html
new file mode 100644
index 000000000..d5aa9842b
--- /dev/null
+++ b/templates/web/base/report/new/_category_select.html
@@ -0,0 +1,13 @@
+[%~ IF category_groups.size ~%]
+ [%~ FOREACH group IN category_groups ~%]
+ [% IF group.name %]<optgroup label="[% group.name %]">[% END %]
+ [%~ FOREACH cat IN group.categories ~%]
+ [% INCLUDE category_option %]
+ [%~ END ~%]
+ [% IF group.name %]</optgroup>[% END %]
+ [%~ END =%]
+[%~ ELSE ~%]
+ [%~ FOREACH cat IN category_options ~%]
+ [% INCLUDE category_option %]
+ [%~ END =%]
+[%~ END ~%]
diff --git a/templates/web/base/report/new/category.html b/templates/web/base/report/new/category.html
index 264a08861..961954f33 100644
--- a/templates/web/base/report/new/category.html
+++ b/templates/web/base/report/new/category.html
@@ -8,10 +8,10 @@ END
~%]
[% IF category_options.size OR category_groups.size ~%]
[%~ BLOCK category_option ~%]
- [% cat_op_lc = cat_op.category | lower =%]
- <option value='[% cat_op.category | html %]'[% ' selected' IF report.category == cat_op.category || category_lc == cat_op_lc ~%]
- >[% IF loop.first %][% cat_op.category_display %][% ELSE %][% cat_op.category_display | html %][% END %]
- [%~ IF cat_op.get_extra_metadata('help_text') %] ([% cat_op.get_extra_metadata('help_text') %])[% END ~%]
+ [% cat_lc = cat.category | lower =%]
+ <option value='[% cat.category | html %]'[% ' selected' IF report.category == cat.category || category_lc == cat_lc ~%]
+ >[% IF loop.first %][% cat.category_display %][% ELSE %][% cat.category_display | html %][% END %]
+ [%~ IF cat.get_extra_metadata('help_text') %] ([% cat.get_extra_metadata('help_text') %])[% END ~%]
</option>
[%~ END ~%]
@@ -27,19 +27,7 @@ END
data-body="[% c.user.from_body.name %]" data-prefill="[% prefill_report %]"
[%~ END ~%]
>
- [%~ IF category_groups.size ~%]
- [%~ FOREACH group IN category_groups ~%]
- [% IF group.name %]<optgroup label="[% group.name %]">[% END %]
- [%~ FOREACH cat_op IN group.categories ~%]
- [% INCLUDE category_option %]
- [%~ END ~%]
- [% IF group.name %]</optgroup>[% END %]
- [%~ END =%]
- [%~ ELSE ~%]
- [%~ FOREACH cat_op IN category_options ~%]
- [% INCLUDE category_option %]
- [%~ END =%]
- [%~ END ~%]
+ [%~ INCLUDE 'report/new/_category_select.html' ~%]
</select>
[%~ IF category_groups.size ~%]
<label id="form_subcategory_label" class="hidden">