18 |
18 |
|
19 |
19 |
from ..qommon import _
|
20 |
20 |
from ..qommon.form import (WidgetListAsTable, CompositeWidget, SingleSelectWidget,
|
21 |
|
ComputedExpressionWidget)
|
|
21 |
ComputedExpressionWidget, StringWidget)
|
22 |
22 |
from wcs.fields import WidgetField
|
23 |
23 |
from wcs.workflows import (WorkflowStatusItem,
|
24 |
24 |
register_item_class)
|
... | ... | |
66 |
66 |
key = 'set-backoffice-fields'
|
67 |
67 |
category = 'formdata-action'
|
68 |
68 |
|
|
69 |
label = None
|
69 |
70 |
fields = None
|
70 |
71 |
|
71 |
72 |
@classmethod
|
72 |
73 |
def is_available(cls, workflow=None):
|
73 |
74 |
return bool(workflow and getattr(workflow.backoffice_fields_formdef, 'fields', None))
|
74 |
75 |
|
|
76 |
def get_line_details(self):
|
|
77 |
return self.label or None
|
|
78 |
|
|
79 |
def get_jump_label(self, target_id):
|
|
80 |
if self.label:
|
|
81 |
return _('Backoffice Data "%s"') % self.label
|
|
82 |
else:
|
|
83 |
return _('Backoffice Data')
|
|
84 |
|
75 |
85 |
def get_parameters(self):
|
76 |
|
return ('fields', 'condition')
|
|
86 |
return ('label', 'fields', 'condition')
|
77 |
87 |
|
78 |
88 |
def add_parameters_widgets(self, form, parameters, prefix='', formdef=None):
|
79 |
89 |
super(SetBackofficeFieldsWorkflowStatusItem, self).add_parameters_widgets(
|
80 |
90 |
form, parameters, prefix=prefix, formdef=formdef)
|
|
91 |
if 'label' in parameters:
|
|
92 |
form.add(StringWidget, '%slabel' % prefix, size=40, title=_('Label'), value=self.label)
|
|
93 |
|
81 |
94 |
if 'fields' in parameters:
|
82 |
95 |
form.add(SetBackofficeFieldsTableWidget, '%sfields' % prefix,
|
83 |
96 |
title=_('Fields Update'), value=self.fields,
|
84 |
|
-
|