Update pdf_generator.py
Browse files- pdf_generator.py +7 -19
pdf_generator.py
CHANGED
|
@@ -32,26 +32,14 @@ def generate_pdf(contract_type, is_free, author_type, author_info,
|
|
| 32 |
additional_rights, remuneration, is_exclusive):
|
| 33 |
"""
|
| 34 |
Génère un PDF du contrat avec des champs interactifs.
|
| 35 |
-
Version optimisée pour une génération plus rapide.
|
| 36 |
-
|
| 37 |
-
Args:
|
| 38 |
-
contract_type (list): Liste des types de contrats sélectionnés
|
| 39 |
-
is_free (bool): True si la cession est gratuite, False sinon
|
| 40 |
-
author_type (str): Type d'auteur ("Personne physique" ou "Personne morale")
|
| 41 |
-
author_info (dict): Informations sur l'auteur
|
| 42 |
-
work_description (str): Description de l'œuvre
|
| 43 |
-
image_description (str): Description de l'image
|
| 44 |
-
supports (list): Liste des supports sélectionnés
|
| 45 |
-
additional_rights (list): Liste des droits supplémentaires sélectionnés
|
| 46 |
-
remuneration (str): Modalités de rémunération
|
| 47 |
-
is_exclusive (bool): True si la cession est exclusive, False sinon
|
| 48 |
-
|
| 49 |
-
Returns:
|
| 50 |
-
str: Chemin vers le fichier PDF généré
|
| 51 |
"""
|
| 52 |
# Conversion des paramètres
|
| 53 |
is_free_bool = (is_free == "Gratuite")
|
| 54 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 55 |
|
| 56 |
# Ajouter les supports par défaut
|
| 57 |
final_supports = ensure_default_supports(supports)
|
|
@@ -59,11 +47,11 @@ def generate_pdf(contract_type, is_free, author_type, author_info,
|
|
| 59 |
# Créer un nom de fichier temporaire pour le PDF
|
| 60 |
output_filename = create_temp_file(prefix="contrat_cession_", suffix=".pdf")
|
| 61 |
|
| 62 |
-
# Générer le contenu du contrat
|
| 63 |
contract_elements = ContractBuilder.build_contract_elements(
|
| 64 |
contract_type, is_free_bool, author_type, author_info,
|
| 65 |
work_description, image_description, final_supports,
|
| 66 |
-
|
| 67 |
)
|
| 68 |
|
| 69 |
# Créer un document PDF avec moins d'options pour accélérer la génération
|
|
|
|
| 32 |
additional_rights, remuneration, is_exclusive):
|
| 33 |
"""
|
| 34 |
Génère un PDF du contrat avec des champs interactifs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
"""
|
| 36 |
# Conversion des paramètres
|
| 37 |
is_free_bool = (is_free == "Gratuite")
|
| 38 |
+
# L'exclusivité n'est possible que si la cession est onéreuse
|
| 39 |
+
is_exclusive_bool = bool(is_exclusive) and not is_free_bool
|
| 40 |
+
|
| 41 |
+
# Filtrer les droits supplémentaires si la cession est gratuite
|
| 42 |
+
final_additional_rights = [] if is_free_bool else additional_rights
|
| 43 |
|
| 44 |
# Ajouter les supports par défaut
|
| 45 |
final_supports = ensure_default_supports(supports)
|
|
|
|
| 47 |
# Créer un nom de fichier temporaire pour le PDF
|
| 48 |
output_filename = create_temp_file(prefix="contrat_cession_", suffix=".pdf")
|
| 49 |
|
| 50 |
+
# Générer le contenu du contrat avec les paramètres mis à jour
|
| 51 |
contract_elements = ContractBuilder.build_contract_elements(
|
| 52 |
contract_type, is_free_bool, author_type, author_info,
|
| 53 |
work_description, image_description, final_supports,
|
| 54 |
+
final_additional_rights, remuneration, is_exclusive_bool
|
| 55 |
)
|
| 56 |
|
| 57 |
# Créer un document PDF avec moins d'options pour accélérer la génération
|