def get_doctypes_schema(userdatas_model): """ Build a form schema for doctypes registration :param obj userdatas_model: An instance of userdatas we're building the form for """ registered = userdatas_model.doctypes_registrations node_schema = SQLAlchemySchemaNode(UserDatasSocialDocTypes) node_schema.widget = deform.widget.MappingWidget( template="clean_mapping.pt" ) node_schema['status'].widget = deform.widget.CheckboxWidget() form_schema = colander.Schema() for index, entry in enumerate(registered): node = node_schema.clone() name = 'node_%s' % index node.name = name node.title = u'' node['status'].title = u'' node['status'].label = entry.doctype.label form_schema.add(node) return form_schema
def get_doctypes_schema(userdatas_model): """ Build a form schema for doctypes registration :param obj userdatas_model: An instance of userdatas we're building the form for """ registered = userdatas_model.doctypes_registrations node_schema = SQLAlchemySchemaNode(UserDatasSocialDocTypes) node_schema.widget = deform.widget.MappingWidget( template="clean_mapping.pt" ) node_schema['status'].widget = deform.widget.CheckboxWidget() form_schema = colander.Schema() for index, entry in enumerate(registered): node = node_schema.clone() name = 'node_%s' % index node.name = name node.title = u'' node['status'].title = u'' node['status'].label = entry.doctype.label form_schema.add(node) return form_schema
def test_clone(self): schema = SQLAlchemySchemaNode(Account, dummy='dummy', dummy2='dummy2') cloned = schema.clone() for attr in ['class_', 'includes', 'excludes', 'overrides']: self.assertEqual(getattr(schema, attr), getattr(cloned, attr)) self.assertEqual(cloned.kwargs, schema.kwargs) self.assertEqual([node.name for node in schema.children], [node.name for node in cloned.children])
def get_doctypes_form_schema(userdatas_model): """ Returns a dynamically built form for doctypes registration """ registrations = userdatas_model.doctypes_registrations node_schema = SQLAlchemySchemaNode(UserDatasSocialDocTypes) appstruct = {} form_schema = colander.Schema() for index, registration in enumerate(registrations): node = node_schema.clone() name = 'node_%s' % index node.name = name node.title = u'' node['status'].title = registration.doctype.label form_schema.add(node) appstruct[name] = node_schema.dictify(registration) return form_schema, appstruct
def get_doctypes_form_schema(userdatas_model): """ Returns a dynamically built form for doctypes registration """ registrations = userdatas_model.doctypes_registrations node_schema = SQLAlchemySchemaNode(UserDatasSocialDocTypes) appstruct = {} form_schema = colander.Schema() for index, registration in enumerate(registrations): node = node_schema.clone() name = 'node_%s' % index node.name = name node.title = u'' node['status'].title = registration.doctype.label form_schema.add(node) appstruct[name] = node_schema.dictify(registration) return form_schema, appstruct