def endre_kontakt_action_strategy(soknad, action, data): if data is None: abort(400, __error__=['Data mangler']) validator = BaseValidator(data) validator.validate_is_defined('person_id', label="Kontaktperson") validator.validate_is_norwegian_phone_number("telefon", label="Telefonnummer") validator.validate_is_email('epost', label='Epost') person_id = data.get('person_id', None) if person_id is not None and not is_person_member_of_organisation(soknad.organisation_id, person_id): validator.add_error('person_id', 'Ugyldig person') if validator.has_errors(): abort(400, __error__=validator.errors) soknad.person_id = person_id soknad.epost = data.get('epost') soknad.telefon = data.get('telefon') SoknadRepo.save(soknad)