src/iconolab/mails.py
author Alexandre Segura <mex.zktk@gmail.com>
Wed, 17 May 2017 17:06:07 +0200
changeset 507 1bae3da99830
parent 494 6436836cd043
child 532 a301e0bc677b
permissions -rw-r--r--
Display bookmarked images.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
459
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
     1
from django.conf import settings
494
6436836cd043 Use sites framework to get domain.
Alexandre Segura <mex.zktk@gmail.com>
parents: 459
diff changeset
     2
from django.contrib.sites.models import Site
459
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
     3
from django.core.mail import send_mail
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
     4
from django.core.urlresolvers import reverse
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
     5
494
6436836cd043 Use sites framework to get domain.
Alexandre Segura <mex.zktk@gmail.com>
parents: 459
diff changeset
     6
current_site = Site.objects.get_current()
6436836cd043 Use sites framework to get domain.
Alexandre Segura <mex.zktk@gmail.com>
parents: 459
diff changeset
     7
459
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
     8
class EmailManager():
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
     9
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    10
    VERB_NEW_COMMENT = 'a écrit un commentaire sur votre annotation'
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    11
    VERB_NEW_REPLY = 'a répondu à votre commentaire'
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    12
    VERB_NEW_ANNOTATION = 'a proposé une révision sur votre annotation'
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    13
    VERB_ACCEPTED_REVISION = 'a étudié votre révision'
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    14
    VERB_REQUEST_FOR_CONTRIBUTION = 'a fait un appel à contribution'
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    15
    VERB_REQUEST_FOR_EXPERTISE = 'a fait un appel à expertise'
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    16
494
6436836cd043 Use sites framework to get domain.
Alexandre Segura <mex.zktk@gmail.com>
parents: 459
diff changeset
    17
    def __message_content(self, verb):
6436836cd043 Use sites framework to get domain.
Alexandre Segura <mex.zktk@gmail.com>
parents: 459
diff changeset
    18
        notifications_url = 'http://' + current_site.domain + reverse('user_notifications')
6436836cd043 Use sites framework to get domain.
Alexandre Segura <mex.zktk@gmail.com>
parents: 459
diff changeset
    19
6436836cd043 Use sites framework to get domain.
Alexandre Segura <mex.zktk@gmail.com>
parents: 459
diff changeset
    20
        message  = 'Un utilisateur ' + verb + '\n'
6436836cd043 Use sites framework to get domain.
Alexandre Segura <mex.zktk@gmail.com>
parents: 459
diff changeset
    21
        message += 'Connectez-vous pour voir les notifications\n\n'
6436836cd043 Use sites framework to get domain.
Alexandre Segura <mex.zktk@gmail.com>
parents: 459
diff changeset
    22
        message += notifications_url
6436836cd043 Use sites framework to get domain.
Alexandre Segura <mex.zktk@gmail.com>
parents: 459
diff changeset
    23
6436836cd043 Use sites framework to get domain.
Alexandre Segura <mex.zktk@gmail.com>
parents: 459
diff changeset
    24
        return message
459
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    25
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    26
    def __send_mail(self, recipient, verb):
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    27
        send_mail(
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    28
            'Un utilisateur ' + verb,
494
6436836cd043 Use sites framework to get domain.
Alexandre Segura <mex.zktk@gmail.com>
parents: 459
diff changeset
    29
            self.__message_content(verb),
459
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    30
            settings.CONTACT_EMAIL,
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    31
            [recipient.email]
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    32
        )
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    33
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    34
    def new_comment(self, recipient):
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    35
        self.__send_mail(recipient, self.VERB_NEW_COMMENT)
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    36
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    37
    def new_reply(self, recipient):
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    38
        self.__send_mail(recipient, self.VERB_NEW_REPLY)
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    39
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    40
    def new_revision(self, recipient):
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    41
        self.__send_mail(recipient, self.VERB_NEW_ANNOTATION)
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    42
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    43
    def accepted_revision(self, recipient):
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    44
        self.__send_mail(recipient, self.VERB_ACCEPTED_REVISION)
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    45
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    46
    def request_for_contribution(self, recipient):
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    47
        self.__send_mail(recipient, self.VERB_REQUEST_FOR_CONTRIBUTION)
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    48
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    49
    def request_for_expertise(self, recipient):
99327a255e04 Move EmailManager class to « mails » package.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    50
        self.__send_mail(recipient, self.VERB_REQUEST_FOR_EXPERTISE)