0001-cartads-cs-give-a-tracking-code-to-paper-files-36821.patch
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 |
- |