from django.template.loader import get_template from django.utils.translation import ugettext_lazy as _ class RequestNotifiable(object): MAIL_CATEGORY = 'Request' SLUG_NOTIFICATION = 'notification' SLUG_RESPONSE = 'response' def __init__(self, *args, **kwargs): super(RequestNotifiable, self).__init__(*args, **kwargs) def get_mail_template(self, **kwargs): return None # return MailTemplate.objects.filter(**kwargs).first() def send_request_notification(self, context): """ :param context :param template_path string: :return None: """ notification = self.get_mail_template( slug=self.SLUG_NOTIFICATION, ) kwargs = { 'subject': _('New contact us request'), 'message': get_template('contact_us/contact_email_notification.html').template.source, } if not notification: kwargs.update({ 'name': 'Admin notification', 'slug': self.SLUG_NOTIFICATION, 'num_of_retries': 3, 'is_html': True }) # MailTemplate.objects.create(**kwargs) else: notification.subject = kwargs.get('subject') notification.message = kwargs.get('message') notification.save() # send_db_mail( # self.SLUG_NOTIFICATION, # context.get('recipients'), # context.get('subject'), # context.get('context'), # from_email=context.get('from_email', tuple()), # bcc=context.get('bcc', tuple()), # files=context.get('files', tuple()), # send_at_date=context.get('send_at_date'), # retry=True, # retry_delay=300, # max_retries=3, # use_celery=celery_supported() # )