Example #1
0
 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)
Example #2
0
 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)
Example #3
0
 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)
Example #4
0
 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."))
Example #5
0
 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."))
Example #6
0
 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']]))
Example #7
0
 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)
Example #8
0
 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)
Example #9
0
 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)
Example #10
0
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}}
Example #11
0
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}}
Example #12
0
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}}