Projet

Général

Profil

0001-cartads-cs-give-a-tracking-code-to-paper-files-36821.patch

Frédéric Péters, 09 octobre 2019 22:39

Télécharger (2,69 ko)

Voir les différences:

Subject: [PATCH] cartads cs: give a tracking code to paper files (#36821)

 passerelle/apps/cartads_cs/models.py | 13 ++++++++++---
 tests/test_cartads_cs.py             |  1 +
 2 files changed, 11 insertions(+), 3 deletions(-)
passerelle/apps/cartads_cs/models.py
20 20
from ftplib import FTP
21 21
import json
22 22
import os
23
import random
23 24
import re
24 25
from xml.etree import ElementTree as etree
25 26
import zipfile
......
703 704
        if name_id:
704 705
            dossier.subscribers.add(CartaDSSubscriber.objects.get_or_create(name_id=name_id)[0])
705 706
        self.add_job('pack', dossier_id=dossier.id)
706
        return {'err': 0, 'dossier_id': dossier.id}
707
        return {'err': 0, 'dossier_id': dossier.id, 'tracking_code': dossier.tracking_code}
707 708

  
708 709
    def pack(self, dossier_id):
709 710
        dossier = CartaDSDossier.objects.get(id=dossier_id)
......
1054 1055
            dossier.type_dossier_id = infos['CoTypeDossier']
1055 1056
            dossier.commune_id = self.get_commune_id(infos['Commune'])
1056 1057
            dossier.formdata_url = formdata_url
1058
            CHARS = 'BCDFGHJKLMNPQRSTVWXZ'
1059
            r = random.SystemRandom()
1060
            dossier.tracking_code = 'A-' + ''.join([r.choice(CHARS) for x in range(8)])
1057 1061
            dossier.save()
1058 1062

  
1059 1063
        dossier.subscribers.add(CartaDSSubscriber.objects.get_or_create(name_id=name_id)[0])
1060
        return {'err': 0, 'dossier_id': dossier.id, 'formdata_url': dossier.formdata_url}
1061

  
1064
        return {'err': 0,
1065
                'dossier_id': dossier.id,
1066
                'formdata_url': dossier.formdata_url,
1067
                'tracking_code': dossier.tracking_code,
1068
               }
1062 1069

  
1063 1070
    @endpoint(perm='can_access',
1064 1071
              description=_('Unsubscribe from dossier'),
tests/test_cartads_cs.py
595 595
        assert dossier.commune_id == '2'
596 596
        assert dossier.type_dossier_id == 'PC'
597 597
        assert dossier.formdata_url == 'https://etc.'
598
        assert dossier.tracking_code == resp.json['tracking_code']
598 599

  
599 600
    # existing
600 601
    with mock.patch('passerelle.apps.cartads_cs.models.CartaDSCS.soap_client') as client:
601
-