From 87c6d3208c5921622ffd05eea2bd54fe80a67bd9 Mon Sep 17 00:00:00 2001 From: Thomas NOEL Date: Wed, 27 Sep 2017 19:35:11 +0200 Subject: [PATCH] backoffice: show type and varname of backoffice fields (#19036) --- wcs/admin/workflows.py | 10 ++++++++-- wcs/wf/backoffice_fields.py | 13 +++++++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/wcs/admin/workflows.py b/wcs/admin/workflows.py index 924215ac..f5b60c88 100644 --- a/wcs/admin/workflows.py +++ b/wcs/admin/workflows.py @@ -36,6 +36,7 @@ from qommon.admin.menu import command_icon from qommon import get_logger from wcs.workflows import * +from wcs.fields import get_field_types from wcs.formdef import FormDef from wcs.formdata import Evolution from .fields import FieldDefPage, FieldsDirectory @@ -1483,9 +1484,14 @@ class WorkflowPage(Directory): for field in self.workflow.backoffice_fields_formdef.fields: r += htmltext('
  • %s') % ( field.id, field.label) + try: + type_label = [x[1] for x in get_field_types() if x[0] == field.type][0] + except IndexError: + type_label = _('Unknown') + r += htmltext('

    %s') % type_label if field.varname: - r += htmltext(' [form_var_%s]') % field.varname - r += htmltext('

  • ') + r += htmltext(' - [form_var_%s]') % field.varname + r += htmltext('

    ') r += htmltext('') r += htmltext('') diff --git a/wcs/wf/backoffice_fields.py b/wcs/wf/backoffice_fields.py index c4585a44..de568c93 100644 --- a/wcs/wf/backoffice_fields.py +++ b/wcs/wf/backoffice_fields.py @@ -24,7 +24,7 @@ from qommon import _ from qommon import evalutils from qommon.form import (WidgetListAsTable, CompositeWidget, SingleSelectWidget, ComputedExpressionWidget, PicklableUpload) -from wcs.fields import WidgetField +from wcs.fields import WidgetField, get_field_types from wcs.workflows import (WorkflowStatusItem, register_item_class, NamedAttachmentsSubstitutionProxy) from wcs.wf.profile import FieldNode @@ -40,7 +40,16 @@ class SetBackofficeFieldRowWidget(CompositeWidget): for field in workflow.get_backoffice_fields(): if not issubclass(field.__class__, WidgetField): continue - fields.append((field.id, field.label, field.id)) + try: + type_label = [x[1] for x in get_field_types() if x[0] == field.type][0] + except IndexError: + type_label = _('Unknown') + label = '%s - %s' % (field.label, type_label) + if field.varname: + label += ' - [form_var_%s]' % field.varname + else: + label = field.label + fields.append((field.id, label, field.id)) self.add(SingleSelectWidget, name='field_id', title=_('Field'), value=value.get('field_id'), options=fields, **kwargs) -- 2.14.1