def test_should_add_validator_to_form_model_if_not_already_present(self): self.form_model.validators = [MandatoryValidator()] self.form_model.add_validator(UniqueIdExistsValidator) self.assertEquals(len(self.form_model.validators), 2)
def construct_global_registration_form(manager): question1 = HierarchyField(name=ENTITY_TYPE_FIELD_NAME, code=ENTITY_TYPE_FIELD_CODE, label="What is associated subject type?", instruction="Enter a type for the subject") question2 = TextField(name=NAME_FIELD, code=NAME_FIELD_CODE, label="What is the subject's name?", defaultValue="some default value", instruction="Enter a subject name", constraints=[TextLengthConstraint(max=80)], required=False) question3 = ShortCodeField( name=SHORT_CODE_FIELD, code=SHORT_CODE, label="What is the subject's Unique ID Number", defaultValue="some default value", instruction="Enter a id, or allow us to generate it", constraints=[ TextLengthConstraint(max=12), ShortCodeRegexConstraint(reg='^[a-zA-Z0-9]+$') ], required=False) question4 = HierarchyField( name=LOCATION_TYPE_FIELD_NAME, code=LOCATION_TYPE_FIELD_CODE, label="What is the subject's location?", instruction="Enter a region, district, or commune", required=False) question5 = GeoCodeField(name=GEO_CODE_FIELD_NAME, code=GEO_CODE, label="What is the subject's GPS co-ordinates?", instruction="Enter lat and long. Eg 20.6, 47.3", required=False) question6 = TelephoneNumberField( name=MOBILE_NUMBER_FIELD, code=MOBILE_NUMBER_FIELD_CODE, label="What is the mobile number associated with the subject?", defaultValue="some default value", instruction="Enter the subject's number", constraints=(_create_constraints_for_mobile_number()), required=True) question7 = TextField(name=EMAIL_FIELD, code=EMAIL_FIELD, label="What is the subject's email", defaultValue="", instruction="Enter email id", constraints=[TextLengthConstraint(max=50)], required=False) question8 = BooleanField(name=IS_DATASENDER_FIELD_CODE, code=IS_DATASENDER_FIELD_CODE, label="Am I a data sender", defaultValue=True, required=False) form_model = EntityFormModel( manager, name=GLOBAL_REGISTRATION_FORM_CODE, form_code=REGISTRATION_FORM_CODE, fields=[ question1, question2, question3, question4, question5, question6, question7, question8 ], is_registration_model=True, entity_type=["registration"], validators=[ MandatoryValidator(), MobileNumberValidationsForReporterRegistrationValidator() ]) return form_model