From 98058a03a28f01e492a8301eebde4c2c40a02b3d Mon Sep 17 00:00:00 2001 From: Nicolas ROCHE Date: Thu, 26 Sep 2019 15:34:57 +0200 Subject: [PATCH] wcs: use wcs category order in backoffice submission cell (#29187) --- combo/apps/wcs/models.py | 20 ++++++ .../combo/wcs/backoffice_submission.html | 3 +- tests/test_wcs.py | 63 +++++++++++++++---- 3 files changed, 71 insertions(+), 15 deletions(-) diff --git a/combo/apps/wcs/models.py b/combo/apps/wcs/models.py index c3053363..474f3ba8 100644 --- a/combo/apps/wcs/models.py +++ b/combo/apps/wcs/models.py @@ -557,4 +557,24 @@ class BackofficeSubmissionCell(WcsDataBaseCell): for formdef in site_formdefs['data']: if not 'category' in formdef: formdef['category'] = _('Misc') + + # group formdef by categories, keeping the w.c.s. categories order + for site_formdefs in context['all_formdefs'].values(): + category_names = [] + tmp_categories = {} + for formdef in site_formdefs['data']: + category_name = formdef['category'] + + # remind first seen category order + if category_name not in category_names: + category_names.append(category_name) + tmp_categories[category_name] = [] + site_formdefs['formdefs_by_category'] = [] + + tmp_categories[category_name].append(formdef) + for category_name in category_names: + site_formdefs['formdefs_by_category'].append({ + 'grouper': category_name, + 'list': tmp_categories[category_name] + }) return context diff --git a/combo/apps/wcs/templates/combo/wcs/backoffice_submission.html b/combo/apps/wcs/templates/combo/wcs/backoffice_submission.html index 83e431b7..bcd0dd01 100644 --- a/combo/apps/wcs/templates/combo/wcs/backoffice_submission.html +++ b/combo/apps/wcs/templates/combo/wcs/backoffice_submission.html @@ -5,8 +5,7 @@