Пример #1
0
 def get_schema(self, submitted):
     if 'formid' in submitted:
         if submitted['formid'] == 'company':
             schema = get_company_customer_schema()
         else:
             schema = get_individual_customer_schema()
     else:
         excludes = ('company_id',)
         schema = SQLAlchemySchemaNode(Customer, excludes=excludes)
     return schema
Пример #2
0
 def schema(self):
     """
     The getter for our schema property
     """
     if self._schema is None:
         if self.is_company_form():
             self._schema = get_company_customer_schema()
         else:
             self._schema = get_individual_customer_schema()
     return self._schema
Пример #3
0
 def get_schema(self, submitted):
     if 'formid' in submitted:
         if submitted['formid'] == 'company':
             schema = get_company_customer_schema()
         else:
             schema = get_individual_customer_schema()
     else:
         excludes = ('company_id', )
         schema = get_add_edit_customer_schema(excludes=excludes)
     return schema
Пример #4
0
def get_individual_customer_form(request, counter=None):
    """
    Return a form for an individual customer
    :param obj request: Pyramid's request object
    :param obj counter: An iterator for field number generation
    :returns: a deform.Form instance
    """
    schema = get_individual_customer_schema()

    schema = schema.bind(request=request)
    form = Form(schema,
                buttons=(submit_btn, ),
                counter=counter,
                formid='individual')
    form.widget = GridFormWidget(named_grid=INDIVIDUAL_FORM_GRID)
    return form
Пример #5
0
def test_individual_customer_schema():
    from autonomie.forms.customer import get_individual_customer_schema
    schema = get_individual_customer_schema()

    args = {
        "civilite": "M. et Mme",
        "address": u"1 rue Victor Hugo",
        "lastname": "Lastname",
        "zip_code": "21000",
        "city": u"Paris",
    }
    result = schema.deserialize(args)
    assert result['lastname'] == u'Lastname'

    # mandatory fields
    for field in ('lastname', 'civilite'):
        wrong = args.copy()
        wrong.pop(field)
        with pytest.raises(colander.Invalid):
            schema.deserialize(wrong)