Files
account_store/RoutesApp/forms.py
SDE e5dea6a83c 0.1.8
fix create route form
2023-07-31 22:08:29 +03:00

70 lines
4.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# # coding=utf-8
from django import forms
from django.contrib.auth.forms import AuthenticationForm
from django.utils.translation import gettext_lazy as _
from django.core.exceptions import ValidationError
from .models import *
class RouteForm(forms.ModelForm):
from_address_point_txt = forms.CharField(required=True)
to_address_point_txt = forms.CharField(required=True)
class Meta:
model = Route
exclude = [
'name', 'name_plural', 'order', 'createDT', 'modifiedDT', 'enable', 'json_data',
'receive_msg_by_sms', 'owner', 'owner_type'
]
def clean(self):
# print('check')
cleaned_data = super(RouteForm, self).clean()
try:
if 'from_place' in self.data and self.data['from_place'] not in [item[0] for item in self.fields['from_place'].choices]:
cleaned_data['from_place'] = self.fields['from_place'].choices[0][0]
if 'from_place' in self.errors and self.errors['from_place'].data[0].code == 'invalid_choice':
del self.errors['from_place']
if 'to_place' in self.data and self.data['to_place'] not in [item[0] for item in self.fields['to_place'].choices]:
cleaned_data['to_place'] = self.fields['to_place'].choices[0][0]
if 'to_place' in self.errors and self.errors['to_place'].data[0].code == 'invalid_choice':
del self.errors['to_place']
if 'cargo_type' in self.data and self.data['cargo_type'] not in [item[0] for item in self.fields['cargo_type'].choices]:
cleaned_data['cargo_type'] = self.fields['cargo_type'].choices[0][0]
if 'cargo_type' in self.errors and self.errors['cargo_type'].data[0].code == 'invalid_choice':
del self.errors['cargo_type']
except Exception as e:
print(str(e))
# reg_user = check_authorizationBy_cleaned_data(cleaned_data)
# # print(reg_user)
# if not reg_user:
# raise ValidationError(_(u'Пользователь с введенными регистрационными данными не зарегистрирован. Проверьте правильность ввода e-mail и пароля.'))
# else:
# if not check_activate_by_user(reg_user):
# raise ValidationError(_(u'Указанная учетная запись не была Активирована'))
return cleaned_data
# class RegistrationForm(forms.Form):
# type_transport = forms.ChoiceField(choices=type_transport_choices, initial='avia', required=True, label='Выберите способ перевозки')
# departure_DT = forms.DateTimeField(required=True, label='Дата и время выезда')
# arrival_DT = forms.DateTimeField(required=True, label='Дата и время прибытия')
# from_country = forms.CharField(required=True, label='Пункт выезда')
# to_country = forms.CharField(required=True, label='Пункт приезда')
# # from_city = forms.CharField(required=True)
# # to_city = forms.CharField(required=True)
# from_place = forms.ChoiceField(choices=transfer_location_choices, initial='other', required=True, label='Откуда можете забрать?')
# to_place = forms.ChoiceField(choices=transfer_location_choices, initial='other', required=True, label='Куда можете доставить?')
# cargo_type = forms.ChoiceField(choices=cargo_type_choices, initial='parcel', required=True, label='Могу перевезти')
# weight = forms.IntegerField(required=True, label='Укажите вес до (кг)')
# phone = forms.CharField(required=True, label='Укажите номер для связи')
# add_phone = forms.CharField(required=True, label='Дополнительный номер')
# receive_msg_by_email = forms.BooleanField(initial=False, required=True, label='Получать уведомления по E-mail')
# # receive_msg_by_sms = forms.BooleanField(initial=False, required=True)
# # owner = forms.IntegerField(required=True)