Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class UserProfile(models.Model):
- user = models.OneToOneField(User, primary_key=True, verbose_name='Пользователь')
- patronimyc = models.CharField('Отчество', max_length=17)
- gender = models.CharField('Пол',
- max_length=8,
- choices=GENDER_CHOICES_USER_PROFILE,
- default=EMPTY)
- work = models.ForeignKey(Hospital, verbose_name='Место работы', default=EMPTY, null=True, blank=True, on_delete=models.SET_DEFAULT)
- curing_form = models.ForeignKey(CuringForm, verbose_name='Форма лечения', default=EMPTY, null=True, blank=True, on_delete=models.SET_DEFAULT)
- position = models.ForeignKey(Position, verbose_name='Должность', default=EMPTY, related_name='+', null=True, blank=True, on_delete=models.SET_DEFAULT)
- category = models.ForeignKey(Category, verbose_name='Категория', default=Category.objects.get(name="2-новый пустой профиль"), null=True, blank=True, on_delete=models.SET_DEFAULT)
- speciality = models.ForeignKey(Speciality, verbose_name='Специальность', default=EMPTY, null=True, blank=True, on_delete=models.SET_DEFAULT)
- area = models.ForeignKey(Area, verbose_name='Область', default=EMPTY, null=True, blank=True, on_delete=models.SET_DEFAULT)
- city = models.ForeignKey(City, verbose_name='Город', default=EMPTY, null=True, blank=True, on_delete=models.SET_DEFAULT)
- age = models.IntegerField('Возраст', default=0)
- date_of_birth = models.DateField('Дата рождения', default=datetime.date(1970, 1, 1), null=True, blank=True)
- main_phone = models.CharField('Моб. телефон 1', max_length=13, blank=True)
- secondary_phone = models.CharField('Моб. телефон 2', max_length=13, blank=True)
- work_phone = models.CharField('Рабочий телефон', max_length=13, blank=True)
- bed_quantity = models.IntegerField('Кол-во койко-мест', default=0)
- patient_quantity = models.IntegerField('Кол-во пациентов в месяц', default=0)
- district = models.CharField('Район', max_length=60, default=EMPTY)
- house = models.CharField('Дом', max_length=50, default=EMPTY)
- flat = models.IntegerField('Квартира', default=0)
- index = models.IntegerField('Индекс', default=0)
- score = models.IntegerField('Баллы', default=0)
- total_score = models.IntegerField('Баллов за всё время', default=0)
- total_exchange = models.IntegerField('Баллов обменяно за всё время', default=0)
- user_agreed = models.BooleanField('Согласие пользователя', default=False)
- def __str__(self):
- return self.user.username
- def save(self, update_groups=False, *args, **kwargs):
- if not update_groups:
- return super(UserProfile, self).save(*args, **kwargs)
- if self.work_phone and len(self.work_phone) < 7:
- self.work_phone = City.objects.get(name=self.city).phone_prefix + self.work_phone
- super(UserProfile, self).save(*args, **kwargs)
- user_groups = UserFilter.objects.all()
- for group in user_groups:
- if self in group.get_filtered_user_queryset():
- group.users.add(self)
- group.save()
- from polls.models import Poll, UsersPoll
- polls = Poll.objects.filter(user_group=group)
- for poll in polls:
- try:
- UsersPoll.objects.get(poll=poll, user=self)
- except ObjectDoesNotExist:
- UsersPoll.objects.create(poll=poll,
- user=self,
- date_assigned=timezone.now(),
- date_passed=timezone.now(),
- passed=False)
- from history.models import PollHistory, UserHistory
- for history in PollHistory.objects.filter(user_group=group):
- try:
- UserHistory.objects.get(poll=history, user=self)
- except ObjectDoesNotExist:
- UserHistory.objects.create(poll=history,
- user=self)
- return super(UserProfile, self).save(*args, **kwargs)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement