def rebind(self, instances=None, session=None, data=None): """rebind to instances""" if instances is not None: _validate_iterable(instances) FieldSet.rebind(self, self.model, session, data) if instances is not None: self.rows = instances
def __init__(self, model, **kwargs): BaseFieldSet.__init__(self, model, **kwargs) if model is not None and isinstance(model, schema.Document): BaseFieldSet.rebind(self, model.__class__, data=kwargs.get('data', None)) self.doc = model.__class__ self.model = model self._bound_pk = fields._pk(model) else: BaseFieldSet.rebind(self, model, data=kwargs.get('data', None)) self.doc = model values = self.doc._properties.values() values.sort(lambda a, b: cmp(a.creation_counter, b.creation_counter)) for v in values: if getattr(v, 'name'): k = v.name sch = None if isinstance(v, schema.SchemaListProperty): t = fatypes.List sch = v._schema elif isinstance(v, schema.SchemaProperty): t = fatypes.String sch = v._schema else: try: t = getattr(fatypes, v.__class__.__name__.replace('Property','')) except AttributeError: raise NotImplementedError('%s is not mapped to a type for field %s (%s)' % (v.__class__, k, v.__class__.__name__)) self.append(Field(name=k, type=t, schema=sch)) if v.required: self._fields[k].validators.append(validators.required)
def rebind(self, instances=None, session=None, data=None, request=None): """rebind to instances""" if instances is not None: _validate_iterable(instances) FieldSet.rebind(self, self.model, session, data, request) if instances is not None: self.rows = instances
def __init__(self, model, **kwargs): BaseFieldSet.__init__(self, model, **kwargs) BaseFieldSet.rebind(self, model, data=kwargs.get('data', None)) for k, v in model.__dict__.items(): if not k.startswith('_'): descriptor = type(v) t = self._mapping.get(descriptor) if t: self.append(Field(name=k, type=t))
def __init__(self, model, **kwargs): BaseFieldSet.__init__(self, model, **kwargs) BaseFieldSet.rebind(self, model, data=kwargs.get("data", None)) for k, v in model.__dict__.items(): if not k.startswith("_"): descriptor = type(v) t = self._mapping.get(descriptor) if t: self.append(Field(name=k, type=t))
def __init__(self, model, session=None, data=None, prefix=None): self._fields = OrderedDict() self._render_fields = OrderedDict() self.model = self.session = None BaseFieldSet.rebind(self, model, data=data) self.prefix = prefix self.model = model self.readonly = False self.focus = True self._errors = [] focus = True for k, v in model.__dict__.iteritems(): if not k.startswith("_"): descriptor = type(v) t = self._mapping.get(descriptor) if t: self.append(Field(name=k, type=t))
def __init__(self, model, session=None, data=None, prefix=None): self._fields = OrderedDict() self._render_fields = OrderedDict() self.model = self.session = None BaseFieldSet.rebind(self, model, data=data) self.prefix = prefix self.model = model self.readonly = False self.focus = True self._errors = [] focus = True for k, v in model().iteritems(): if not k.startswith('_'): try: t = getattr(fatypes, v.__class__.__name__.replace('Property','')) except AttributeError: raise NotImplementedError('%s is not mapped to a type' % v.__class__) else: self.add(Field(name=k, type=t)) if v.required: self._fields[k].validators.append(validators.required)
def __init__(self, model, session=None, data=None, prefix=None): self._fields = OrderedDict() self._request = None self._render_fields = OrderedDict() if isinstance(model, node.Node): self._original_cls = model.__class__ else: self._original_cls = model self.model = self.session = None BaseFieldSet.rebind(self, model, data=data) self._prefix = prefix self.model = model self.readonly = False self.focus = True self._format = u'%(model)s-%(pk)s-%(name)s' self._errors = [] focus = True for k, v in model.properties(): type = v.__class__.__name__.replace('Property', '') if type == 'Unicode': type = 'String' elif type == 'SetOfNodes': type = 'Set' elif type == 'ListOfGroups': continue elif type == 'ListOfGroupNodes': type = 'List' try: t = getattr(fatypes, type) except AttributeError: raise NotImplementedError('%s is not mapped to a type' % v.__class__) else: self.append(Field(name=k, type=t, prop=v)) field = self[k] field.set(label=v.title) if v.description: field.set(instructions=v.description) if v.required: field.validators.append(validators.required)
def _set_active(self, instance, session=None): FieldSet.rebind(self, instance, session or self.session, self.data)