09/04/2024 - 23h50

master
cherif 2024-04-09 23:51:34 +02:00
parent 601af08a93
commit 461fbe59ee
4 changed files with 1383 additions and 84 deletions

View File

@ -4,8 +4,7 @@
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="09/04/2024 - 15h19"> <list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="09/04/2024 - 15h19">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Log/log_file.log" beforeDir="false" afterPath="$PROJECT_DIR$/Log/log_file.log" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Log/log_file.log" beforeDir="false" afterPath="$PROJECT_DIR$/Log/log_file.log" afterDir="false" />
<change beforePath="$PROJECT_DIR$/module_editique.py" beforeDir="false" afterPath="$PROJECT_DIR$/module_editique.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/partner_document_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/partner_document_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/prj_common.py" beforeDir="false" afterPath="$PROJECT_DIR$/prj_common.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/survey_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/survey_mgt.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/survey_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/survey_mgt.py" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
@ -76,13 +75,6 @@
<option name="presentableId" value="Default" /> <option name="presentableId" value="Default" />
<updated>1680804787304</updated> <updated>1680804787304</updated>
</task> </task>
<task id="LOCAL-00213" summary="04/02/2024 - 23h">
<created>1707082428610</created>
<option name="number" value="00213" />
<option name="presentableId" value="LOCAL-00213" />
<option name="project" value="LOCAL" />
<updated>1707082428611</updated>
</task>
<task id="LOCAL-00214" summary="05/02/2024 -23h"> <task id="LOCAL-00214" summary="05/02/2024 -23h">
<created>1707172831686</created> <created>1707172831686</created>
<option name="number" value="00214" /> <option name="number" value="00214" />
@ -419,7 +411,14 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1712669291681</updated> <updated>1712669291681</updated>
</task> </task>
<option name="localTasksCounter" value="262" /> <task id="LOCAL-00262" summary="09/04/2024 - 15h19">
<created>1712676544737</created>
<option name="number" value="00262" />
<option name="presentableId" value="LOCAL-00262" />
<option name="project" value="LOCAL" />
<updated>1712676544738</updated>
</task>
<option name="localTasksCounter" value="263" />
<servers /> <servers />
</component> </component>
<component name="Vcs.Log.Tabs.Properties"> <component name="Vcs.Log.Tabs.Properties">

File diff suppressed because it is too large Load Diff

View File

@ -194,12 +194,12 @@ def Add_Partner_Document(diction):
if ("contenu_doc" in diction.keys()): if ("contenu_doc" in diction.keys()):
if diction['contenu_doc']: if diction['contenu_doc']:
contenu_doc = diction['contenu_doc'] contenu_doc = diction['contenu_doc']
if (len(str(contenu_doc)) > 10000): if (len(str(contenu_doc)) > 20000):
mycommon.myprint( mycommon.myprint(
str(inspect.stack()[0][ str(inspect.stack()[0][
3]) + " - Le champ 'contenu_doc' fait plus de 10000 caractères ") 3]) + " - Le champ 'contenu_doc' fait plus de 20000 caractères ")
return False, " - Le champ 'contenu_doc' fait plus de 10000 caractères " return False, " - Le champ 'contenu_doc' fait plus de 20000 caractères "
data['contenu_doc'] = contenu_doc data['contenu_doc'] = contenu_doc
@ -441,12 +441,12 @@ def Update_Partner_Document(diction):
if ("contenu_doc" in diction.keys()): if ("contenu_doc" in diction.keys()):
if diction['contenu_doc']: if diction['contenu_doc']:
contenu_doc = diction['contenu_doc'] contenu_doc = diction['contenu_doc']
if (len(str(sujet)) > 10000): if (len(str(sujet)) > 20000):
mycommon.myprint( mycommon.myprint(
str(inspect.stack()[0][ str(inspect.stack()[0][
3]) + " - Le champ 'contenu_doc' fait plus de 10000 caractères ") 3]) + " - Le champ 'contenu_doc' fait plus de 20000 caractères ")
return False, " - Le champ 'contenu_doc' fait plus de 10000 caractère " return False, " - Le champ 'contenu_doc' fait plus de 20000 caractère "
data_update['contenu_doc'] = diction['contenu_doc'] data_update['contenu_doc'] = diction['contenu_doc']

View File

@ -611,6 +611,20 @@ def Create_One_Survey_To_Inscrit(diction):
""" """
Cette fonction permet d'envoyer la demande d'enquete à la personne concerné Cette fonction permet d'envoyer la demande d'enquete à la personne concerné
/!\ : Cette fontion permet d'envoyer toutes les demande d'enquete, que soit :
un questionnaire de positionnement, une demande d'evaluation a chaud,
une demande d'evaluation à froid, ou tout autre.
Le type de courrier à utiliser, le 'courrier_template_type_document_ref_interne' à loger dans tracking history
depende du type d'enquete.
par exemple :
- si survey.survey_type == 'pos' ==> courrier_template_type_document_ref_interne = "QUESTION_POSITIONNEMENT" et
courrier_template.ref_interne = QUESTION_POSITIONNEMENT.
- si survey.survey_type == 'hot_eval' ==> courrier_template_type_document_ref_interne = "EVAL_FORMATION" et
courrier_template.ref_interne = EVAL_FORMATION.
""" """
def Send_Survey_TabIds(diction): def Send_Survey_TabIds(diction):
@ -700,13 +714,38 @@ def Send_Survey_TabIds(diction):
'valide': '1', 'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value']) 'locked': '0'}, {'config_value': 1})['config_value'])
for my_survey_id in tab_my_survey_ids:
# Recuperation des données de l'inscript
qry = { '_id':ObjectId(str(my_survey_id)), 'partner_owner_recid': str(my_partner['recid']),'valide':'1', 'locked':'0'}
local_survey_retval = MYSY_GV.dbname['survey'].find_one(qry)
if(local_survey_retval is None ):
mycommon.myprint(str(inspect.stack()[0][3]) + " L'identifiant de l'inscrit est invalide ")
return False, " L'identifiant de l'inscrit est invalide "
courrier_ref_interne = ""
if ( "survey_type" in local_survey_retval.keys() and local_survey_retval['survey_type'] == "pos"):
courrier_ref_interne = "QUESTION_POSITIONNEMENT"
elif ( "survey_type" in local_survey_retval.keys() and local_survey_retval['survey_type'] == "hot_eval"):
courrier_ref_interne = "EVAL_FORMATION"
else :
mycommon.myprint(str(inspect.stack()[0][3]) + " Le type d'enquete est invalide ")
return False, " Le type d'enquete est invalide "
""" """
Recuperation du modele de courrier (unique) associé à l'envoie des questions de positionnement Recuperation du modele de courrier (unique) associé à l'envoie des questions de positionnement
le principe est de prendre le module du partenaire. si pas de modele du partenaire on le principe est de prendre le module du partenaire. si pas de modele du partenaire on
prend le modele par default prend le modele par default
""" """
courrier_template_model = MYSY_GV.dbname['courrier_template'].count_documents( courrier_template_model = MYSY_GV.dbname['courrier_template'].count_documents(
{'ref_interne': "QUESTION_POSITIONNEMENT", {'ref_interne': str(courrier_ref_interne),
'valide': '1', 'valide': '1',
'locked': '0', 'locked': '0',
'type_doc': 'email', 'type_doc': 'email',
@ -714,7 +753,7 @@ def Send_Survey_TabIds(diction):
) )
if (courrier_template_model == 1): if (courrier_template_model == 1):
courrier_template_data = MYSY_GV.dbname['courrier_template'].find_one( courrier_template_data = MYSY_GV.dbname['courrier_template'].find_one(
{'ref_interne': "QUESTION_POSITIONNEMENT", {'ref_interne': str(courrier_ref_interne),
'valide': '1', 'valide': '1',
'locked': '0', 'locked': '0',
'type_doc': 'email', 'type_doc': 'email',
@ -723,7 +762,7 @@ def Send_Survey_TabIds(diction):
else: else:
courrier_template_model = MYSY_GV.dbname['courrier_template'].count_documents( courrier_template_model = MYSY_GV.dbname['courrier_template'].count_documents(
{'ref_interne': "QUESTION_POSITIONNEMENT", {'ref_interne': str(courrier_ref_interne),
'valide': '1', 'valide': '1',
'locked': '0', 'locked': '0',
'type_doc': 'email', 'type_doc': 'email',
@ -731,7 +770,7 @@ def Send_Survey_TabIds(diction):
) )
if (courrier_template_model == 1): if (courrier_template_model == 1):
courrier_template_data = MYSY_GV.dbname['courrier_template'].find_one( courrier_template_data = MYSY_GV.dbname['courrier_template'].find_one(
{'ref_interne': "QUESTION_POSITIONNEMENT", {'ref_interne': str(courrier_ref_interne),
'valide': '1', 'valide': '1',
'locked': '0', 'locked': '0',
'type_doc': 'email', 'type_doc': 'email',
@ -767,17 +806,6 @@ def Send_Survey_TabIds(diction):
convention_dictionnary_data = local_retval convention_dictionnary_data = local_retval
for my_survey_id in tab_my_survey_ids:
# Recuperation des données de l'inscript
qry = { '_id':ObjectId(str(my_survey_id)), 'partner_owner_recid': str(my_partner['recid']),'valide':'1', 'locked':'0'}
local_survey_retval = MYSY_GV.dbname['survey'].find_one(qry)
if(local_survey_retval is None ):
mycommon.myprint(str(inspect.stack()[0][3]) + " L'identifiant de l'inscrit est invalide ")
return False, " L'identifiant de l'inscrit est invalide "
servey_url = MYSY_GV.CLIENT_URL_BASE + "Survey/" + str(local_survey_retval['_id']) servey_url = MYSY_GV.CLIENT_URL_BASE + "Survey/" + str(local_survey_retval['_id'])
convention_dictionnary_data["servey_url"] = str(servey_url) convention_dictionnary_data["servey_url"] = str(servey_url)
@ -843,12 +871,22 @@ def Send_Survey_TabIds(diction):
qry = {'_id': ObjectId(str(my_survey_id)), 'partner_owner_recid': str(my_partner['recid']), qry = {'_id': ObjectId(str(my_survey_id)), 'partner_owner_recid': str(my_partner['recid']),
'valide': '1', 'locked': '0'} 'valide': '1', 'locked': '0'}
MYSY_GV.dbname['survey'].find_one_and_update(qry, result = MYSY_GV.dbname['survey'].find_one_and_update(qry,
{'$set':{'statut':'1', 'date_update':str(now), {'$set':{'statut':'1', 'date_update':str(now),
'update_by':str(my_partner['_id']), 'update_by':str(my_partner['_id']),
'date_envoi':now}} 'date_envoi':now}}
) )
courrier_ref_interne = ""
if ("survey_type" in result.keys() and result['survey_type'] == "pos"):
courrier_ref_interne = "QUESTION_POSITIONNEMENT"
elif ("survey_type" in result.keys() and result['survey_type'] == "hot_eval"):
courrier_ref_interne = "EVAL_FORMATION"
else:
mycommon.myprint(str(inspect.stack()[0][3]) + " Le type d'enquete est invalide ")
return False, " Le type d'enquete est invalide "
""" """
Apres que l'envoie est fait, on va loguer le traitement dans la collection : courrier_template_tracking_history Apres que l'envoie est fait, on va loguer le traitement dans la collection : courrier_template_tracking_history
@ -869,7 +907,7 @@ def Send_Survey_TabIds(diction):
print(" inscription_data = ", inscription_data) print(" inscription_data = ", inscription_data)
local_status, local_retval = module_editique.Editic_Log_History_Action_From_courrier_template_type_document_ref_interne( local_status, local_retval = module_editique.Editic_Log_History_Action_From_courrier_template_type_document_ref_interne(
my_partner, "QUESTION_POSITIONNEMENT", str(inscription_data['session_id']), 'inscription', my_partner, str(courrier_ref_interne), str(inscription_data['session_id']), 'inscription',
str(local_inscription_id),"") str(local_inscription_id),"")
if (local_status is False): if (local_status is False):
mycommon.myprint( mycommon.myprint(