Projet

Général

Profil

0004-handle-rejection-of-incoming-mails-to-be-rebased.patch

Benjamin Dauvergne, 22 mai 2018 09:16

Télécharger (3,05 ko)

Voir les différences:

Subject: [PATCH 4/4] handle rejection of incoming mails (to be rebased)

 welco/sources/mail/utils.py | 13 ++++++++++---
 welco/sources/mail/views.py |  9 ++++++++-
 2 files changed, 18 insertions(+), 4 deletions(-)
welco/sources/mail/utils.py
21 21

  
22 22
class WelcoMaarchCourrier(MaarchCourrier):
23 23
    def __init__(self, url, username, password, grc_status,
24
                 grc_received_status, grc_send_status, batch_size=10):
24
                 grc_received_status, grc_send_status, grc_refused_status,
25
                 batch_size=10):
25 26
        super(WelcoMaarchCourrier, self).__init__(url, username, password)
26 27
        self.grc_status = grc_status
27 28
        self.grc_received_status = grc_received_status
28 29
        self.grc_send_status = grc_send_status
30
        self.grc_refused_status = grc_refused_status
29 31
        self.batch_size = batch_size
30 32

  
31 33
    def get_mails(self):
......
47 49
        mail.external_link = formdata_url_backoffice
48 50
        self.update_external_infos_url([mail], self.grc_send_status)
49 51

  
52
    def set_grc_refused_status(self, mail_pk):
53
        mail = self.Courrier(pk=mail_pk)
54
        self.update_status([mail], self.grc_refused_status)
55

  
50 56

  
51 57
def get_maarch():
52 58
    config = getattr(settings, 'MAARCH_FEED', {})
......
60 66
        username=username,
61 67
        password=password,
62 68
        grc_status=config.get('STATUS_GRC', 'GRC'),
63
        grc_received_status=config.get('STATUS_GRC', 'GRC_TRT'),
64
        grc_send_status=config.get('STATUS_GRC', 'GRCSENT'))
69
        grc_received_status=config.get('STATUS_RECEIVED', 'GRC_TRT'),
70
        grc_send_status=config.get('STATUS_SEND', 'GRCSENT'),
71
        grc_refused_status=config.get('STATUS_REFUSED', 'GRCREFUSED'))
65 72

  
welco/sources/mail/views.py
31 31

  
32 32
from .models import Mail
33 33
from .forms import MailQualificationForm
34
from .utils import get_maarch
34 35

  
35 36
def viewer(request, *args, **kwargs):
36 37
    if not 'file' in request.GET:
......
124 125
@login_required
125 126
@csrf_exempt
126 127
def reject(request, *args, **kwargs):
127
    Mail.objects.filter(id=request.POST['source_pk']).delete()
128
    maarch = get_maarch()
129
    mail = Mail.objects.filter(id=request.POST['source_pk']).first()
130
    if mail:
131
        if maarch and mail.registered_mail_number and mail.registered_mail_number.startswith('maarch-'):
132
            mail_pk = mail.registered_mail_number.split('-', 1)[1]
133
            maarch.set_grc_refused_status(mail_pk)
134
        mail.delete()
128 135
    return HttpResponse()
129 136

  
130 137

  
131
-