DN
Size: a a a
DN
DN
class UserForm(BaseForm):
def __init__(self, data, files, **kwargs):
super().__init__(data=data, files=files, instance=kwargs['instance'])
if 'client_id' in kwargs:
self.fields['kontrakt_id'].queryset = IntranetKontrakt.objects.filter(kid=kwargs['client_id'])
self.fields['polz_id'].queryset = IntranetPolzovatel.objects.filter(kid=kwargs['client_id'])
self.fields['kontakt'].queryset = IntranetPolzovatel.objects.filter(kid=kwargs['client_id'])
tip = ModelChoiceField(queryset=IntranetTip.objects.all(), empty_label="Выберите тип", required=True, label="Тип площадки")
rabota_from = ChoiceField(choices=((str(x), x) for x in range(0, 23)), label='Начало рабочего дня')
rabota_to = ChoiceField(choices=((str(x), x) for x in range(0, 23)), label='Конец рабочего дня')
class Meta:
model = IntranetUsers
fields = '__all__'
exclude = ('dogovor',
'phone2',
'phone3',
'kid',
'contact',
'start',
'usluga_from',
'usluga_to',
'email',
'email_ot',
'email_buh',
'time_add',
'contact2',
'contact3',
'kontakt_no')
widgets = {'phone': MultiPhone(),
'city': HiddenInput(),
'kid': HiddenInput(),
'address_primary': TextInput(),
'address': TextInput(),
'contact': HiddenInput(),
'start': HiddenInput(),
'usluga_from': HiddenInput(),
'usluga_to': HiddenInput(),
'email': HiddenInput(),
'email_ot': HiddenInput(),
'email_buh': HiddenInput(),
'time_add': HiddenInput(),
'contact2': HiddenInput(),
'contact3': HiddenInput(),
'kontakt_no': HiddenInput(),
}
def clean_address_primary(self):
val = self.cleaned_data['address_primary']
tokens = val.split(',')
if len(tokens) > 2:
self.cleaned_data['city'] = tokens[1]
return val
def clean_phone(self):
res = ''
for val in self.data.getlist('phone'):
if len(val) == 0:
continue
if len(res) != 0:
res += ';'
res += val
return res
def clean_rabota_from(self):
val = self.cleaned_data['rabota_from']
if val is None:
val = 0
return val
def clean_rabota_to(self):
val = self.cleaned_data['rabota_to']
if val is None:
val = 0
return val
def clean_usluga_from(self):
val = self.cleaned_data['usluga_from']
if val is None:
val = 0
return val
def clean_usluga_to(self):
val = self.cleaned_data['usluga_to']
if val is None:
val = 0
return val
def clean_start(self):
val = self.cleaned_data['start']
if val is None:
val = 0
return val
def clean_kontakt_no(self):
val = self.cleaned_data['kontakt_no']
if val is None:
val = 0
return val
def clean_kontrakt_id(self):
val = self.cleaned_data['kontrakt_id']
if val is None:
val = 0
return val
b
class IntranetUsers(models.Model):
PROF = (
('Да', 'Да'),
('Нет', 'Нет'),
)
id = models.AutoField(unique=True, primary_key=True)
city = models.CharField(max_length=255, null=True, blank=True, verbose_name='Город')
tip = models.ForeignKey('IntranetTip', on_delete=models.CASCADE, db_column='tip', verbose_name='Тип площадки')
address_primary = models.TextField(blank=True, verbose_name='Адрес')
address = models.TextField(blank=True, verbose_name='Комментарии к адресу')
phone = models.CharField(max_length=255, null=True, blank=True, verbose_name='Телефон')
rabota_from = models.IntegerField(blank=True, verbose_name='Начало рабочего дня')
contact = models.CharField(max_length=255, null=True, blank=True, verbose_name='Пользователь')
rabota_to = models.IntegerField(blank=True, verbose_name='Конец рабочего дня')
usluga_from = models.IntegerField(blank=True, null=True, verbose_name='Начало предоставления услуги')
usluga_to = models.IntegerField(blank=True, null=True, verbose_name='Конец предоставления услуги')
dogovor = models.CharField(max_length=255, blank=True, verbose_name='Номер договора')
start = models.IntegerField(blank=True, null=True, verbose_name='Старт?')
email = models.EmailField(max_length=255, null=True, blank=True, verbose_name='Почта')
email_ot = models.EmailField(max_length=255, null=True, blank=True, verbose_name='Почта для отчетов')
email_buh = models.EmailField(max_length=255, null=True, blank=True, verbose_name='Почта бухгалтерии')
prof = models.CharField(max_length=3, choices=PROF, default='Нет', verbose_name='Проводится профилактика?')
time_add = models.IntegerField(blank=True, null=True, verbose_name='Время добавления')
kid = models.IntegerField()
phone2 = models.CharField(max_length=255, null=True, blank=True, verbose_name='Дополнительный телефон')
phone3 = models.CharField(max_length=255, null=True, blank=True, verbose_name='Дополнительный телефон 2')
contact2 = models.CharField(max_length=255, null=True, blank=True, verbose_name='Дополнительный контакт')
contact3 = models.CharField(max_length=255, null=True, blank=True, verbose_name='Дополнительный контакт 2')
name = models.CharField(max_length=255, blank=True, verbose_name='Дополнительное название')
politika = models.CharField(max_length=20, null=True, blank=True, verbose_name='Политика лицензирования')
kontakt_no = models.IntegerField(blank=True, null=True, verbose_name='Номер контакта?')
komm = models.TextField(blank=True, verbose_name='Комментарий')
kontrakt_id = models.ForeignKey('IntranetKontrakt', on_delete=models.CASCADE, db_column='kontrakt_id', verbose_name='Контракт')
polz_id = models.ForeignKey('IntranetPolzovatel', related_name="contact_user", on_delete=models.CASCADE, db_column='polz_id', verbose_name='Контактный сотрудник', blank=True, null=True)
kontakt = models.ForeignKey('IntranetPolzovatel', related_name="license_user", on_delete=models.CASCADE, db_column='kontakt', verbose_name='Контакт для лицензирования', blank=True, null=True)
class Meta:
managed = True
db_table = 'intranet_users'
def __str__(self):
city = ''
if self.city:
if RepresentsInt(self.city):
tmp = IntranetCity.objects.get(pk=self.city)
if tmp is not None:
city = tmp.name
else:
city = self.city
if self.name != '':
return u'{0}'.format(city + ' - ' + self.tip.name + ' - ' + self.name)
else:
return u'{0}'.format(city + ' - ' + self.tip.name)
BE
D
A
BE
D
A
DN
A
DN
D
A
A
DN
D