def _on_step_options_changed(self, form_name, step_number): observers = ExtensionPoint(IPlugin) # Get the instance of the specified plugin service = observers.service(form_name) if hasattr(service, 'get_step_values'): # Get the step option values from the plugin instance attrs = service.get_step_values(step_number=step_number) self._update_row_fields(form_name, step_number, attrs) _L().debug('plugin_name=%s step_number=%s attrs=%s', form_name, step_number, attrs)
def on_rows_changed(self, list_, row_ids, rows, attr): for step_number, step in [(i, self[i]) for i in row_ids]: for form_name, uuid_code in self.uuid_mapping.iteritems(): field_set_prefix = self.field_set_prefix % uuid_code if attr.startswith(field_set_prefix): form_step = step.get_row_fields(form_name) observers = ExtensionPoint(IPlugin) service = observers.service(form_name) service.set_step_values(form_step.attrs, step_number=step_number)
def on_row_changed(self, list_, row_id, row, field_name, value): for form_name, uuid_code in self.uuid_mapping.iteritems(): field_set_prefix = self.field_set_prefix % uuid_code if field_name.startswith(field_set_prefix): form_step = row.get_row_fields(form_name) observers = ExtensionPoint(IPlugin) service = observers.service(form_name) try: service.set_step_values(form_step.attrs, step_number=row_id) except ValueError: _L().error('Invalid value. %s', value) self._on_step_options_changed(form_name, row_id)
def on_row_changed(self, list_, row_id, row, field_name, value): for form_name, uuid_code in self.uuid_mapping.iteritems(): field_set_prefix = self.field_set_prefix % uuid_code if field_name.startswith(field_set_prefix): form_step = row.get_row_fields(form_name) observers = ExtensionPoint(IPlugin) service = observers.service(form_name) try: service.set_step_values(form_step.attrs, step_number=row_id) except ValueError: logging.error('Invalid value. %s', value) self._on_step_options_changed(form_name, row_id)