Exemplo n.º 1
0
 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
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
 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
Exemplo n.º 4
0
 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)
Exemplo n.º 5
0
 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))
Exemplo n.º 6
0
 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))
Exemplo n.º 7
0
 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))
Exemplo n.º 8
0
 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)
Exemplo n.º 9
0
 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)
Exemplo n.º 10
0
 def _set_active(self, instance, session=None):
     FieldSet.rebind(self, instance, session or self.session, self.data)
Exemplo n.º 11
0
 def _set_active(self, instance, session=None):
     FieldSet.rebind(self, instance, session or self.session, self.data)