def process_form( self, instance, field, form, empty_marker=None, emptyReturnsMarker=None, ): """process the form data and return it.""" result = TypesWidget.process_form( self, instance, field, form, empty_marker, emptyReturnsMarker, ) if result is empty_marker: return result value, kwargs = result # The widget always returns a empty item (strange) when we use the # multival option. # Remove the empty items manually if type(value) is list: value = [item for item in value if item] return value, kwargs
def isVisible(self, instance, mode='view'): """ """ try: if instance.isTemporary(): return 'invisible' except: pass return TypesWidget.isVisible(self, instance, mode)
def isVisible(self, instance, mode="view"): """ """ try: if instance.isTemporary(): return "invisible" except: pass return TypesWidget.isVisible(self, instance, mode)
def process_form(self, instance, field, form, empty_marker=None, emptyReturnsMarker=None,): """process the form data and return it.""" result = TypesWidget.process_form (self, instance, field, form, empty_marker, emptyReturnsMarker, ) if result is empty_marker: return result value, kwargs = result # The widget always returns a empty item (strange) when we use the multival option. # Remove the empty items manually if type(value) is types.ListType: value = [item for item in value if item] return value, kwargs
def process_form(self, instance, field, form, empty_marker=None, emptyReturnsMarker=False): """ Manipulate form input data Data coming from widget code goes through process_form before stored to field. For example, radio button cells need to be propeply changed from checked values to one chosen id for saving. """ value = TypesWidget.process_form(self, instance, field, form, empty_marker, emptyReturnsMarker) if value == None or value == empty_marker or len(value) == 0: return value newData = value[0] # Column code hook to form data and manipulate # it propeply where TypesWidget.process_form doesn't # have required functionality for columnId in getattr(self, 'columns', {}).keys(): columnDefinition = self.getColumnDefinition(field, columnId) newData = columnDefinition.processCellData(form, newData, instance, field, columnId) # Clean up the last empty row (automatically inseted) # if auto_insert is enabled if self.isAutoInsertEnabled() and len(newData) > 1: lastRow = newData[len(newData) - 1] hasContent = False for val in lastRow.values(): if val != None and val != "": hasContent = True if not hasContent: newData = newData[:-1] return (newData, value[1])
def process_form(self, instance, field, form, **kw): sourceName = form.get('%s.sourceName' % field.getName()) if not sourceName: raise Exception('we need to set the source') field.setSourceName(instance, sourceName) configView = field.getSource(instance).configurationView config = instance.unrestrictedTraverse( '%s/%s' % (configView, field.getName())) form_shadow = form.copy() config.form_instance.update() form.update(form_shadow) # Extract your own form fields from the request changes = config.form_instance.applyChanges() # XXX: Handle changes = None and # config.formErrorsMessage being set == ERROR return TypesWidget.process_form(self, instance, field, form, **kw)
def process_form(self, instance, field, form, empty_marker=None, emptyReturnsMarker=False): """ Manipulate form input data Data coming from widget code goes through process_form before stored to field. For example, radio button cells need to be propeply changed from checked values to one chosen id for saving. """ value = TypesWidget.process_form(self, instance, field, form, empty_marker, emptyReturnsMarker) if value == None or len(value) == 0: return value newData = value[0] # Column code hook to form data and manipulate # it propeply where TypesWidget.process_form doesn't # have required functionality for columnId in getattr(self, 'columns', {}).keys(): columnDefinition = self.getColumnDefinition(field, columnId) newData = columnDefinition.processCellData(form, newData, instance, field, columnId) # Clean up the last empty row (automatically inseted) # if auto_insert is enabled if self.isAutoInsertEnabled() and len(newData) > 1: lastRow = newData[len(newData) - 1] hasContent = False for val in lastRow.values(): if val != None and val != "": hasContent = True if not hasContent: newData = newData[:-1] return (newData, value[1])