def manage_addField(self, id, title, fieldname, REQUEST=None): """Add a new field to the form. id -- the id of the field to add title -- the title of the field to add; this will be used in displays of the field on forms fieldname -- the name of the field (meta_type) to add Result -- empty string """ title = string.strip(title) if not title: title = id # title is always required, use id if not provided # get the field class we want to add field_class = FieldRegistry.get_field_class(fieldname) # create field instance field = field_class(id, title=title, description="") # add the field to the form id = self._setObject(id, field) # respond to add_and_edit button if necessary add_and_edit(self, id, REQUEST) return ''
def initialize(context): """Initialize the Formulator product. """ # register field classes FieldRegistry.registerField(StandardFields.StringField, 'www/StringField.gif') FieldRegistry.registerField(StandardFields.CheckBoxField, 'www/CheckBoxField.gif') FieldRegistry.registerField(StandardFields.IntegerField, 'www/IntegerField.gif') FieldRegistry.registerField(StandardFields.TextAreaField, 'www/TextAreaField.gif') FieldRegistry.registerField(StandardFields.RawTextAreaField, 'www/TextAreaField.gif') FieldRegistry.registerField(StandardFields.LinesField, 'www/LinesField.gif') FieldRegistry.registerField(StandardFields.ListField, 'www/ListField.gif') FieldRegistry.registerField(StandardFields.MultiListField, 'www/MultiListField.gif') FieldRegistry.registerField(StandardFields.RadioField, 'www/RadioField.gif') FieldRegistry.registerField(StandardFields.MultiCheckBoxField, 'www/MultiCheckBoxField.gif') FieldRegistry.registerField(StandardFields.PasswordField, 'www/PasswordField.gif') FieldRegistry.registerField(StandardFields.EmailField, 'www/EmailField.gif') FieldRegistry.registerField(StandardFields.PatternField, 'www/PatternField.gif') FieldRegistry.registerField(StandardFields.FloatField, 'www/FloatField.gif') FieldRegistry.registerField(StandardFields.DateTimeField, 'www/DateTimeField.gif') FieldRegistry.registerField(StandardFields.FileField, 'www/FileField.gif') FieldRegistry.registerField(StandardFields.LinkField, 'www/LinkField.gif') FieldRegistry.registerField(StandardFields.LabelField, 'www/LabelField.gif') # some helper fields FieldRegistry.registerField(HelperFields.ListTextAreaField) FieldRegistry.registerField(HelperFields.MethodField) FieldRegistry.registerField(HelperFields.TALESField) # obsolete field (same as helper; useable but not addable) FieldRegistry.registerField(StandardFields.RangedIntegerField, 'www/RangedIntegerField.gif') # register help for the product context.registerHelp() # register field help for all fields FieldRegistry.registerFieldHelp(context) # register the form itself context.registerClass( Form.ZMIForm, constructors = (Form.manage_addForm, Form.manage_add), icon = 'www/Form.gif') # make Dummy Fields into real fields FieldRegistry.initializeFields() # do initialization of Form class to make fields addable Form.initializeForm(FieldRegistry)
def get_real_field(self): """Get an actual field for this property. """ return apply(FieldRegistry.get_field_class(self.desired_meta_class), (self.id,), self.kw)
def get_real_field(self): """Get an actual field for this property. """ return apply(FieldRegistry.get_field_class(self.desired_meta_class), (self.id, ), self.kw)