From ba5763286635a6cdfddaeca93a4351d94c0b388a Mon Sep 17 00:00:00 2001 From: cherif Date: Thu, 14 Dec 2023 22:08:11 +0100 Subject: [PATCH] 14/12/2023 - 22h --- .idea/workspace.xml | 26 ++++---- partner_document_mgt.py | 129 +++++++++++++++++++++++++++++++++++----- 2 files changed, 126 insertions(+), 29 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 2cc78ad..55a23e5 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,11 +1,9 @@ - + - - - + @@ -433,7 +431,6 @@ - @@ -458,6 +455,7 @@ - \ No newline at end of file diff --git a/partner_document_mgt.py b/partner_document_mgt.py index 3885c6c..8875327 100644 --- a/partner_document_mgt.py +++ b/partner_document_mgt.py @@ -38,7 +38,8 @@ def Add_Partner_Document(diction): """ Verification des input acceptés """ - field_list = ['token', "nom", "ref_interne", "type_doc", "cible", "sujet",'contenu_doc', 'duplicate'] + field_list = ['token', "nom", "ref_interne", "type_doc", "cible", "sujet",'contenu_doc', 'duplicate', + 'joint_pdf', 'default_version', 'corps_mail'] incom_keys = diction.keys() for val in incom_keys: @@ -84,7 +85,7 @@ def Add_Partner_Document(diction): 3]) + " - Le champ 'ref_interne' fait plus de 255 caractères ") return False, " - Le champ 'ref_interne' fait plus de 255 caractères " - data['ref_interne'] = diction['ref_interne'] + data['ref_interne'] = ref_interne nom = "" if ("nom" in diction.keys()): @@ -96,7 +97,7 @@ def Add_Partner_Document(diction): 3]) + " - Le champ 'nom' fait plus de 255 caractères ") return False, " - Le champ 'nom' fait plus de 255 caractères " - data['nom'] = diction['nom'] + data['nom'] = nom @@ -110,7 +111,7 @@ def Add_Partner_Document(diction): 3]) + " - Le champ 'sujet' fait plus de 255 caractères ") return False, " - Le champ 'sujet' fait plus de 255 caractères " - data['sujet'] = diction['sujet'] + data['sujet'] = sujet cible = "" @@ -123,7 +124,7 @@ def Add_Partner_Document(diction): 3]) + " - Le champ 'cible' fait plus de 255 caractères ") return False, " - Le champ 'cible' fait plus de 255 caractères " - data['cible'] = diction['cible'] + data['cible'] = cible type_doc = "" @@ -136,20 +137,21 @@ def Add_Partner_Document(diction): 3]) + " - Le champ 'type_doc' n'est pas accepté. les valeurs acceptées sont "+str(MYSY_GV.MODELE_DOCUMENT_TYPE)) return False, " - Le champ 'type_doc' n'est pas accepté. les valeurs acceptées sont "+str(MYSY_GV.MODELE_DOCUMENT_TYPE) - data['type_doc'] = diction['type_doc'] + data['type_doc'] = type_doc contenu_doc = "" if ("contenu_doc" in diction.keys()): if diction['contenu_doc']: contenu_doc = diction['contenu_doc'] - if (len(str(sujet)) > 10000): + if (len(str(contenu_doc)) > 10000): mycommon.myprint( str(inspect.stack()[0][ - 3]) + " - Le champ 'contenu_doc' fait plus de 10000 caractère ") + 3]) + " - Le champ 'contenu_doc' fait plus de 10000 caractères ") + + return False, " - Le champ 'contenu_doc' fait plus de 10000 caractères " + data['contenu_doc'] = contenu_doc - return False, " - Le champ 'sujet' fait plus de 10000 caractère " - data['contenu_doc'] = diction['contenu_doc'] duplicate = "0" if ("duplicate" in diction.keys()): @@ -161,6 +163,39 @@ def Add_Partner_Document(diction): data['duplicate'] = duplicate + # ---- + joint_pdf = "0" + if ("joint_pdf" in diction.keys()): + if diction['joint_pdf']: + joint_pdf = diction['joint_pdf'] + if (str(joint_pdf) not in ['0', '1']): + joint_pdf = '0' + + data['joint_pdf'] = joint_pdf + + default_version = "0" + if ("default_version" in diction.keys()): + if diction['default_version']: + default_version = diction['default_version'] + if (str(default_version) not in ['0', '1']): + default_version = '0' + + data['default_version'] = default_version + + corps_mail = "" + if ("corps_mail" in diction.keys()): + if diction['corps_mail']: + corps_mail = diction['corps_mail'] + if (len(str(corps_mail)) > 10000): + mycommon.myprint( + str(inspect.stack()[0][ + 3]) + " - Le champ 'corps_mail' fait plus de 10000 caractères ") + + return False, " - Le champ 'corps_mail' fait plus de 10000 caractères " + data['corps_mail'] = corps_mail + + # --- + # Verifier qu'il n'existe pas un document avec le meme code code interne exist_doc_count = MYSY_GV.dbname['courrier_template'].count_documents({'ref_interne':str(ref_interne), 'valide':'1', @@ -172,6 +207,20 @@ def Add_Partner_Document(diction): mycommon.myprint(str(inspect.stack()[0][3]) + " - Il existe déjà un document avec la meme reference interne ") return False, "- Il existe déjà un document avec la meme reference interne " + + """ + Si le document est une vesion par defaut, il faut alors decoché un eventuel document avec le meme : + - ref_interne + - type_doc + + """ + if( str(diction['default_version']) == "1"): + MYSY_GV.dbname['courrier_template'].update_many({'ref_interne':str(ref_interne), + 'valide':'1', + 'partner_owner_recid':str(my_partner['recid']), + 'type_doc':str(diction['type_doc'])}, + {'$set':{'default_version':'0'}}) + data['valide'] = '1' data['locked'] = '0' data['date_update'] = str(datetime.now()) @@ -202,9 +251,8 @@ def Update_Partner_Document(diction): """ Verification des input acceptés """ - field_list = ['token', "nom", "ref_interne", "type_doc", "cible", "sujet",'contenu_doc', '_id'] - - + field_list = ['token', "nom", "ref_interne", "type_doc", "cible", "sujet",'contenu_doc', '_id', + 'joint_pdf', 'default_version', 'corps_mail'] incom_keys = diction.keys() for val in incom_keys: @@ -332,16 +380,67 @@ def Update_Partner_Document(diction): if (len(str(sujet)) > 10000): mycommon.myprint( str(inspect.stack()[0][ - 3]) + " - Le champ 'contenu_doc' fait plus de 10000 caractère ") + 3]) + " - Le champ 'contenu_doc' fait plus de 10000 caractères ") - return False, " - Le champ 'sujet' fait plus de 10000 caractère " + return False, " - Le champ 'contenu_doc' fait plus de 10000 caractère " data_update['contenu_doc'] = diction['contenu_doc'] + + + + + # ---- + joint_pdf = "0" + if ("joint_pdf" in diction.keys()): + if diction['joint_pdf']: + joint_pdf = diction['joint_pdf'] + if (str(joint_pdf) not in ['0', '1']): + joint_pdf = '0' + + data_update['joint_pdf'] = joint_pdf + + default_version = "0" + if ("default_version" in diction.keys()): + if diction['default_version']: + default_version = diction['default_version'] + if (str(default_version) not in ['0', '1']): + default_version = '0' + + data_update['default_version'] = default_version + + corps_mail = "" + if ("corps_mail" in diction.keys()): + if diction['corps_mail']: + corps_mail = diction['corps_mail'] + if (len(str(corps_mail)) > 10000): + mycommon.myprint( + str(inspect.stack()[0][ + 3]) + " - Le champ 'corps_mail' fait plus de 10000 caractères ") + + return False, " - Le champ 'corps_mail' fait plus de 10000 caractères " + data_update['corps_mail'] = corps_mail + + # --- + data_update['valide'] = '1' data_update['locked'] = '0' data_update['date_update'] = str(datetime.now()) data_update['update_by'] = str(my_partner['_id']) + """ + Si le document est une vesion par defaut, il faut alors decoché un eventuel document avec le meme : + - ref_interne + - type_doc + + """ + if (str(diction['default_version']) == "1"): + MYSY_GV.dbname['courrier_template'].update_many({'ref_interne': str(ref_interne), + 'valide': '1', + 'partner_owner_recid': str(my_partner['recid']), + 'type_doc': str(diction['type_doc'])}, + {'$set': {'default_version': '0'}}) + + """ Clés de mise à jour """