feat: Gestion des documents nécessitant des signatures électroniques et

ceux ne nécessitant pas les signatures électroniques [#22]
This commit is contained in:
N3WT DE COMPET
2025-03-02 12:35:53 +01:00
parent 2ac4832985
commit e3879f516b
10 changed files with 103 additions and 69 deletions

View File

@ -19,7 +19,7 @@ def generate_jwt_token(request):
# Récupérer les données de la requête
user_email = request.data.get('user_email')
documents_urls = request.data.get('documents_urls', [])
template_id = request.data.get('template_id') # Récupérer le template_id
id = request.data.get('id') # Récupérer le id
# Vérifier les données requises
if not user_email:
@ -34,7 +34,7 @@ def generate_jwt_token(request):
payload = {
'user_email': user_email,
'documents_urls': documents_urls,
'template_id': template_id, # Ajouter le template_id au payload
'template_id': id, # Ajouter le id au payload
'exp': datetime.datetime.utcnow() + expiration_delta # Temps d'expiration du token
}
@ -54,6 +54,8 @@ def clone_template(request):
# Récupérer les données de la requête
document_id = request.data.get('templateId')
email = request.data.get('email')
is_required = request.data.get('is_required')
print(f'test is required = {is_required}')
# Vérifier les données requises
if not document_id :
@ -74,26 +76,32 @@ def clone_template(request):
data = response.json()
# URL de l'API de DocuSeal pour créer une submission
submission_url = f'https://docuseal.com/api/submissions'
if is_required:
print(f'REQUIRED -> création dune submission')
# URL de l'API de DocuSeal pour créer une submission
submission_url = f'https://docuseal.com/api/submissions'
# Faire la requête pour cloner le template
try:
clone_id = data['id']
response = requests.post(submission_url, json={'template_id':clone_id, 'send_email': False, 'submitters': [{'email': email}]}, headers={
'Content-Type': 'application/json',
'X-Auth-Token': settings.DOCUSEAL_JWT['API_KEY']
})
# Faire la requête pour cloner le template
try:
clone_id = data['id']
response = requests.post(submission_url, json={'template_id':clone_id, 'send_email': False, 'submitters': [{'email': email}]}, headers={
'Content-Type': 'application/json',
'X-Auth-Token': settings.DOCUSEAL_JWT['API_KEY']
})
if response.status_code != status.HTTP_200_OK:
return Response({'error': 'Failed to create submission'}, status=response.status_code)
if response.status_code != status.HTTP_200_OK:
return Response({'error': 'Failed to create submission'}, status=response.status_code)
data = response.json()
data[0]['template_id'] = clone_id
return Response(data[0], status=status.HTTP_200_OK)
except requests.RequestException as e:
return Response({'error': str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
data = response.json()
data[0]['id'] = clone_id
print(f'DATA RESPONSE : {data[0]}')
return Response(data[0], status=status.HTTP_200_OK)
except requests.RequestException as e:
return Response({'error': str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
else :
print(f'NOT REQUIRED -> on ne crée pas de submission')
return Response(data, status=status.HTTP_200_OK)
except requests.RequestException as e:
return Response({'error': str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)