def recover_pass_activate(self): """ Устанавливается метка в значение True, указывающая на то, что пользователь воспользовался функцией восстановления пароля. Генерируется ключ по которому будет опозноваться пользователь. """ self.recover_pass_active = True self.recover_pass_key = self.generate_recover_pass_key() self.save() from django.core.urlresolvers import reverse from main.func import build_absolute_uri from email_sender.models import EmailSender e = EmailSender() data = { 'site_url': build_absolute_uri(), 'name': self.name, 'password_key_url': build_absolute_uri("%s?key=%s" % (reverse('authorization:recover_password'), self.recover_pass_key)), 'input_password_key_url': build_absolute_uri( reverse('authorization:forgot_password_enter_key')), 'recover_pass_key': self.recover_pass_key } e.create_message_from_template(template_name='forgot_password', data=data) e.send_to(email_addresses=self.email)
def create_message_from_template(self, template_name, data): """ Формарование письма из шаблона и данных """ current_site = get_current_site(None) data['site_url'] = build_absolute_uri() data['domain'] = current_site.domain data['site_name'] = current_site.name data['support_url'] = build_absolute_uri(reverse('feedback:feedback')) data['unsubscribe_url'] = build_absolute_uri( reverse('accounts:notifications')) template = u"%s" % render_to_string( 'emails/' + template_name + '.html', data) from main.simple_parser import SimpleParser sp = SimpleParser(template) self.subject = sp.get("SUBJECT") self.content = sp.get("CONTENT") self.html = sp.get("HTML") return self
def recover_pass_deactivate(self): """ Устанавливается метка в значение False, указывающая на то, что пользователь успешно сменил пароль. """ self.recover_pass_active = False self.save() from main.func import build_absolute_uri from email_sender.models import EmailSender e = EmailSender() data = { 'site_url': build_absolute_uri(), 'name': self.name, } e.create_message_from_template(template_name='change_password', data=data) e.send_to(email_addresses=self.email)
def sent_email(user): token_generator = user_is_active_token_generator activate_relative_url = reverse('authorization:activate', kwargs={ 'uidb64': urlsafe_base64_encode( force_bytes(user.pk)), 'token': token_generator.make_token(user) }) context = { 'name': user.profile.name, 'activate_url': build_absolute_uri(activate_relative_url), } new_email = EmailSender() emails = [ user.email, settings.ADMIN_EMAILS['editor'], ] new_email.create_message_from_template('affirmative_registration', context).send_to(emails)
def get_tickets_url(): return build_absolute_uri(reverse('accounts:tickets'))
def absolute_public_url(self): """ Абсолютный публичный урл на материал или на профиль компании """ return build_absolute_uri(self.public_url)