def _process(self): field_data = snakify_keys(request.json['fieldData']) form_field = RegistrationFormField(parent_id=self.section.id, registration_form=self.regform) _fill_form_field_with_data(form_field, field_data) db.session.add(form_field) db.session.flush() return jsonify(view_data=form_field.view_data)
def _process(self): field_data = snakify_keys(request.json['fieldData']) del field_data['input_type'] form_field = RegistrationFormText(parent_id=self.section.id, registration_form=self.regform) _fill_form_field_with_data(form_field, field_data, set_data=False) db.session.add(form_field) db.session.flush() return jsonify(view_data=form_field.view_data)
def _process_PATCH(self): field_data = snakify_keys(request.json['fieldData']) if (self.field.type == RegistrationFormItemType.field_pd and self.field.personal_data_type.is_required and not field_data['is_required']): raise BadRequest elif self.field.input_type != field_data['input_type']: raise BadRequest _fill_form_field_with_data(self.field, field_data) return jsonify(view_data=self.field.view_data)
def _stay_dates_valid(form, field): if not field.data: return data = snakify_keys(field.data) try: arrival_date = data["arrival_date"] departure_date = data["departure_date"] except KeyError: raise ValidationError(_("Arrival/departure date is missing")) if _to_date(arrival_date) > _to_date(departure_date): raise ValidationError(_("Arrival date can't be set after the departure date."))
def _stay_dates_valid(form, field): if not field.data: return data = snakify_keys(field.data) if not data.get('is_no_accommodation'): try: arrival_date = data['arrival_date'] departure_date = data['departure_date'] except KeyError: raise ValidationError(_("Arrival/departure date is missing")) if _to_date(arrival_date) > _to_date(departure_date): raise ValidationError(_("Arrival date can't be set after the departure date."))
def _check_number_of_places(form, field): if not field.data: return if form.modified_registration: old_data = form.modified_registration.data_by_field.get(self.form_item.id) if not old_data or not self.has_data_changed(snakify_keys(field.data), old_data): return item = next((x for x in self.form_item.versioned_data['choices'] if x['id'] == field.data['choice']), None) captions = self.form_item.data['captions'] places_used_dict = self.get_places_used() if (item and item['places_limit'] and (item['places_limit'] < places_used_dict.get(field.data['choice'], 0))): raise ValidationError(_("Not enough rooms in '{0}'").format(captions[item['id']]))
def _process_PATCH(self): field_data = snakify_keys(request.json['fieldData']) del field_data['input_type'] _fill_form_field_with_data(self.field, field_data, set_data=False) return jsonify(view_data=self.field.view_data)
def _process_PATCH(self): field_data = snakify_keys(request.json['fieldData']) field_data.pop('input_type', None) _fill_form_field_with_data(self.field, field_data, is_static_text=True) return jsonify(view_data=self.field.view_data)
def test_snakify_keys(): d = {'sn_case': 2, 'shouldBeSnakeCase': 3, 'snake': 4, 'snake-case': 5, 'inner': {'innerDict': 2}} orig = d.copy() d2 = snakify_keys(d) assert d == orig assert d2 == {'sn_case': 2, 'should_be_snake_case': 3, 'snake': 4, 'snake-case': 5, 'inner': {'inner_dict': 2}}
def test_snakify_keys(): d = {"sn_case": 2, "shouldBeSnakeCase": 3, "snake": 4, "snake-case": 5, "inner": {"innerDict": 2}} orig = d.copy() d2 = snakify_keys(d) assert d == orig assert d2 == {"sn_case": 2, "should_be_snake_case": 3, "snake": 4, "snake-case": 5, "inner": {"inner_dict": 2}}