refactor accounts_ext models fields and forms. add pickupreuqest model

remotes/origin/HEAD
Max Yakovenko 8 years ago
parent 9e10133170
commit 1c2b14820c
  1. 45
      accounts_ext/forms.py
  2. 34
      accounts_ext/models.py

@ -181,51 +181,6 @@ class PasswordResetRequestForm(PasswordResetFormBase):
})
return (u for u in active_users if u.has_usable_password())
def send_mail(self, subject_template_name, email_template_name, context, from_email, to_email,
html_email_template_name=None):
try:
# mail_template = MailTemplate.objects.filter(slug=self.email_slug).first()
kwargs = {
'subject': subject_template_name,
# 'message': get_template(html_email_template_name).templatetags.source
}
if not kwargs:
kwargs = {
'slug': self.email_slug,
'name': email_template_name,
'num_of_retries': 3,
'is_html': True
}
# MailTemplate.objects.create(**kwargs)
else:
pass
# mail_template.subject = kwargs.get('subject', mail_template.subject)
# mail_template.message = kwargs.get('message', mail_template.message)
# mail_template.save()
user = User.active.filter(email__iexact=to_email).first()
first_name = user.profile.first_name or ""
last_name = user.profile.last_name or ""
full_name = first_name + ' ' + last_name
if len(full_name.strip()) != 0:
context.update({'username': full_name})
# send_db_mail(
# self.email_slug,
# to_email,
# subject_template_name,
# context,
# from_email=from_email,
# retry=True,
# retry_delay=300,
# max_retries=3,
# send_at_date=datetime.now(),
# use_celery=celery_supported()
# )
except ObjectDoesNotExist as e:
logger.critical(e)
def clean(self):
return super().clean()
class PasswordResetForm(PasswordChangeFormBase):
field_template = 'bootstrap/field.html'

@ -42,7 +42,7 @@ class UserManager(ActualOnlyManager, BaseUserManager):
def get_queryset(self):
return CaseInsensitiveQuerySet(self.model)
#@TODO: translate into english and use translation
class User(AbstractStatusModel, PermissionsMixin, AbstractBaseUser):
username = models.CharField(_('username'),max_length=255, blank=False, null=False)
email = models.EmailField(
@ -84,14 +84,20 @@ class User(AbstractStatusModel, PermissionsMixin, AbstractBaseUser):
def get_short_name(self):
return self.email
class Meta:
verbose_name = _('пользователь')
verbose_name_plural = _('пользователи')
#@TODO: translate into english and use translation
class Group(GroupBase):
class Meta:
proxy = True
verbose_name = GroupBase._meta.verbose_name
verbose_name_plural = GroupBase._meta.verbose_name_plural
verbose_name = _('группа')
verbose_name_plural = _('группы')
#@TODO: translate into english and use translation
class Profile(AbstractStatusModel):
user = models.OneToOneField(get_user_model(), on_delete=models.CASCADE)
first_name = models.CharField(_('first name'), max_length=100, blank=True, null=True)
@ -112,8 +118,8 @@ class Profile(AbstractStatusModel):
return self.first_name and self.last_name and self.patronymic and self.birthday
class Meta:
verbose_name = _('profile')
verbose_name_plural = _('profiles')
verbose_name = _('профиль')
verbose_name_plural = _('профили')
def __str__(self):
return str(self.user)
@ -126,7 +132,7 @@ COMPANY_STATUS_LIST = (
(COMPANY_STATUS_INDIVIDUAL, _("Individual"))
)
#@TODO: translate into english and use translation
class Company(AbstractStatusModel):
user = models.OneToOneField(get_user_model(), on_delete=models.CASCADE)
company_name = models.CharField(max_length=255, blank=True, null=True)
@ -147,9 +153,21 @@ class Company(AbstractStatusModel):
return self.company_name
class Meta:
verbose_name = _('company')
verbose_name_plural = _('companies')
verbose_name = _('компания')
verbose_name_plural = _('компании')
class PickUpRequest(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, null=True)
points = models.DecimalField(max_digits=8, decimal_places=2, null=True, default=0.00)
requisites = models.CharField(max_length=256, default='')
def __str__(self):
return str(self.user.id)
class Meta:
verbose_name = 'PickUpRequest'
verbose_name_plural = 'PickUpRequests'
@receiver(post_save, sender=get_user_model())
def create_user_profile(sender, instance, created, **kwargs):

Loading…
Cancel
Save