Size: a a a

Django [ru] #STAY HOME

2019 February 24

DN

Denis Nikolaev in Django [ru] #STAY HOME
ну и форма
источник

DN

Denis Nikolaev in Django [ru] #STAY HOME
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

ḃ̵͇͠ā̵̙͐k̸̬͗a̵̝͔͊t̸̛̙ȓ̸̭͖o̶̗̯̐ū̵̘͒b̷̬̕l̶͒̏ė̷̯̑ in Django [ru] #STAY HOME
Denis Nikolaev
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

Black Eyes in Django [ru] #STAY HOME
о есть что почитать теперь
источник

D

Dmitry in Django [ru] #STAY HOME
транслит в коде, мммм....
источник

A

Andrey in Django [ru] #STAY HOME
Не читаемо
источник

BE

Black Eyes in Django [ru] #STAY HOME
Dmitry
транслит в коде, мммм....
типа clean_usluga_to ?)))
источник

D

Dmitry in Django [ru] #STAY HOME
да там всё прекрасно
источник

A

Andrey in Django [ru] #STAY HOME
Мне не нравится русские буквы, getText
источник

DN

Denis Nikolaev in Django [ru] #STAY HOME
5 сек, сейчас отфоратирую
источник

A

Andrey in Django [ru] #STAY HOME
Но если не предполагается перевод - пофиг
источник

DN

Denis Nikolaev in Django [ru] #STAY HOME
блин хз, как его сюда выгрузить, чтобы он полегче читался
источник

D

Dmitry in Django [ru] #STAY HOME
pastebin
источник

A

Andrey in Django [ru] #STAY HOME
Denis Nikolaev
блин хз, как его сюда выгрузить, чтобы он полегче читался
В шапке закреплено сообщение
источник

A

Andrey in Django [ru] #STAY HOME
Придумал идею входного бота:
В шапке ссылка на faq,
В конце его пароль, который запрашивает бот: прочитай текст по ссылке и введи пароль
источник

DN

Denis Nikolaev in Django [ru] #STAY HOME
источник

DN

Denis Nikolaev in Django [ru] #STAY HOME
так?
источник

DN

Denis Nikolaev in Django [ru] #STAY HOME
источник

DN

Denis Nikolaev in Django [ru] #STAY HOME
источник

D

Dmitry in Django [ru] #STAY HOME
для phone есть хорошие батарейки, на phonenumberfield
источник