def validate_customer_project_phase(form, value): """ Validate that customer project and phase are linked :param obj form: The form object :param dict value: The submitted values """ customer_id = value['customer_id'] project_id = value['project_id'] phase_id = value.get('phase_id') if phase_id and not Project.check_phase_id(project_id, phase_id): exc = colander.Invalid(form, u"Projet et dossier ne correspondent pas") exc['phase_id'] = u"Ne correspond pas au projet ci-dessus" raise exc if not Customer.check_project_id(customer_id, project_id): exc = colander.Invalid(form, u"Client et projet ne correspondent pas") exc['project_id'] = u"Ne correspond pas au client ci-dessus" raise exc
def test_check_phase_id(project, phase): from autonomie.models.project import Project assert Project.check_phase_id(project.id, phase.id)