28/10/2023 - 16h

master
cherif 2023-10-28 20:02:54 +02:00
parent dc22633d75
commit e527e2df5d
8 changed files with 1771 additions and 20 deletions

View File

@ -1,10 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="23/10/2023 - 13h"> <list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="23/10/2023 - 16h">
<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$/Inscription_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/Inscription_mgt.py" 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$/Session_Formation.py" beforeDir="false" afterPath="$PROJECT_DIR$/Session_Formation.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/base_specific_fields.py" beforeDir="false" afterPath="$PROJECT_DIR$/base_specific_fields.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/base_specific_fields.py" beforeDir="false" afterPath="$PROJECT_DIR$/base_specific_fields.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/class_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/class_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/partner_client.py" beforeDir="false" afterPath="$PROJECT_DIR$/partner_client.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/prj_common.py" beforeDir="false" afterPath="$PROJECT_DIR$/prj_common.py" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -74,13 +79,6 @@
<option name="presentableId" value="Default" /> <option name="presentableId" value="Default" />
<updated>1680804787304</updated> <updated>1680804787304</updated>
</task> </task>
<task id="LOCAL-00088" summary="28/08/23 - 20h30">
<created>1693250192837</created>
<option name="number" value="00088" />
<option name="presentableId" value="LOCAL-00088" />
<option name="project" value="LOCAL" />
<updated>1693250192838</updated>
</task>
<task id="LOCAL-00089" summary="28/08/23 - 19h30"> <task id="LOCAL-00089" summary="28/08/23 - 19h30">
<created>1693331416912</created> <created>1693331416912</created>
<option name="number" value="00089" /> <option name="number" value="00089" />
@ -417,7 +415,14 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1698059598790</updated> <updated>1698059598790</updated>
</task> </task>
<option name="localTasksCounter" value="137" /> <task id="LOCAL-00137" summary="23/10/2023 - 16h">
<created>1698067991140</created>
<option name="number" value="00137" />
<option name="presentableId" value="LOCAL-00137" />
<option name="project" value="LOCAL" />
<updated>1698067991141</updated>
</task>
<option name="localTasksCounter" value="138" />
<servers /> <servers />
</component> </component>
<component name="Vcs.Log.Tabs.Properties"> <component name="Vcs.Log.Tabs.Properties">
@ -432,7 +437,6 @@
</option> </option>
</component> </component>
<component name="VcsManagerConfiguration"> <component name="VcsManagerConfiguration">
<MESSAGE value="25/09/2023 - 12h40" />
<MESSAGE value="25/09/2023 - 16h40" /> <MESSAGE value="25/09/2023 - 16h40" />
<MESSAGE value="26/09/23 - 19h" /> <MESSAGE value="26/09/23 - 19h" />
<MESSAGE value="26/09/23 - 23h" /> <MESSAGE value="26/09/23 - 23h" />
@ -457,6 +461,7 @@
<MESSAGE value="22/10/2023 - 18h00" /> <MESSAGE value="22/10/2023 - 18h00" />
<MESSAGE value="22/10/2023 - 22h" /> <MESSAGE value="22/10/2023 - 22h" />
<MESSAGE value="23/10/2023 - 13h" /> <MESSAGE value="23/10/2023 - 13h" />
<option name="LAST_COMMIT_MESSAGE" value="23/10/2023 - 13h" /> <MESSAGE value="23/10/2023 - 16h" />
<option name="LAST_COMMIT_MESSAGE" value="23/10/2023 - 16h" />
</component> </component>
</project> </project>

View File

@ -116,6 +116,7 @@ def AddStagiairetoClass(diction):
""" """
new_price = "-1" # 0 ==> par defaut new_price = "-1" # 0 ==> par defaut
session_partner_owner_recid = ""
for tmp_val in MYSY_GV.dbname['session_formation'].find({"_id":ObjectId(str(session_id)), 'valide':'1' }): for tmp_val in MYSY_GV.dbname['session_formation'].find({"_id":ObjectId(str(session_id)), 'valide':'1' }):
mydata['date_du'] = tmp_val['date_debut'] mydata['date_du'] = tmp_val['date_debut']
mydata['date_au'] = tmp_val['date_fin'] mydata['date_au'] = tmp_val['date_fin']
@ -126,6 +127,9 @@ def AddStagiairetoClass(diction):
new_price = tmp_val['prix_session'] new_price = tmp_val['prix_session']
mydata['price'] = tmp_val['prix_session'] mydata['price'] = tmp_val['prix_session']
if( "partner_owner_recid" in tmp_val.keys() ):
session_partner_owner_recid = tmp_val['partner_owner_recid']
if ("nom" in diction.keys()): if ("nom" in diction.keys()):
@ -237,6 +241,26 @@ def AddStagiairetoClass(diction):
mydata['price'] = '0' mydata['price'] = '0'
"""
Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenaire
"""
# Recuperation des champs spécifiques se trouvant dans le dictionnaire. ils commencent tous par 'my_'
for val in diction.keys():
if (val.startswith('my_')):
if (MYSY_GV.dbname['base_specific_fields'].count_documents(
{'partner_owner_recid': str(session_partner_owner_recid),
'related_collection': 'inscription',
'field_name': str(val),
'valide': '1',
'locked': '0'}) != 1):
mycommon.myprint(str(
inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé ")
return False, " Les informations fournies sont incorrectes"
mydata[str(val)] = diction[str(val)]
#print(" #### mydata = " + str(mydata)) #print(" #### mydata = " + str(mydata))
coll_inscription = MYSY_GV.dbname['inscription'] coll_inscription = MYSY_GV.dbname['inscription']
@ -537,6 +561,21 @@ def UpdateStagiairetoClass(diction):
""" """
mydata['class_internal_url'] = str(local_tmp_session_data['class_internal_url']).strip() mydata['class_internal_url'] = str(local_tmp_session_data['class_internal_url']).strip()
# Recuperation des champs spécifiques se trouvant dans le dictionnaire. ils commencent tous par 'my_'
for val in diction.keys():
if (val.startswith('my_')):
if (MYSY_GV.dbname['base_specific_fields'].count_documents(
{'partner_owner_recid': str(partner_recid),
'related_collection': 'inscription',
'field_name': str(val),
'valide': '1',
'locked': '0'}) != 1):
mycommon.myprint(str(
inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé ")
return False, " Les informations fournies sont incorrectes"
mydata[str(val)] = diction[str(val)]
""" """
Pour gerer la date de validation, differemment d'une simple mise à jour, Pour gerer la date de validation, differemment d'une simple mise à jour,
on récupérer le status actuellement en base, on verifie si le nouveau status != de status en base. on récupérer le status actuellement en base, on verifie si le nouveau status != de status en base.
@ -545,7 +584,7 @@ def UpdateStagiairetoClass(diction):
""" """
coll_inscription = MYSY_GV.dbname['inscription'] coll_inscription = MYSY_GV.dbname['inscription']
print(" #### query_key = ", query_key) #print(" #### query_key = ", query_key)
local_retval = coll_inscription.find_one(query_key) local_retval = coll_inscription.find_one(query_key)

File diff suppressed because it is too large Load Diff

View File

@ -49,7 +49,7 @@ def Add_Update_SessionFormation(diction):
for val in incom_keys: for val in incom_keys:
if val not in field_list and val.startswith('my_') is False: if val not in field_list and val.startswith('my_') is False:
mycommon.myprint(str(inspect.stack()[0][ mycommon.myprint(str(inspect.stack()[0][
3]) + " - Le champ '" + val + "' n'est pas autorisé, Creation partenaire annulée") 3]) + " - Le champ '" + val + "' n'est pas autorisé.")
return False, " Toutes les informations fournies ne sont pas valables" return False, " Toutes les informations fournies ne sont pas valables"
""" """
@ -205,6 +205,25 @@ def Add_Update_SessionFormation(diction):
if ("contenu_ftion" in diction.keys()): if ("contenu_ftion" in diction.keys()):
mydata['contenu_ftion'] = diction['contenu_ftion'] mydata['contenu_ftion'] = diction['contenu_ftion']
"""
Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenaire
"""
# Recuperation des champs spécifiques se trouvant dans le dictionnaire. ils commencent tous par 'my_'
for val in diction.keys():
if (val.startswith('my_')):
if (MYSY_GV.dbname['base_specific_fields'].count_documents(
{'partner_owner_recid': str(partner_recid),
'related_collection': 'session_formation',
'field_name': str(val),
'valide': '1',
'locked': '0'}) != 1):
mycommon.myprint(str(
inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé ")
return False, " Les informations fournies sont incorrectes"
mydata[str(val)] = diction[str(val)]
mydata['date_update'] = str(datetime.now()) mydata['date_update'] = str(datetime.now())
mydata['valide'] = "1" mydata['valide'] = "1"

View File

@ -160,8 +160,8 @@ def Add_specific_field(diction):
if(str(field_name_val_saisie).isalnum() is False ): if(str(field_name_val_saisie).isalnum() is False ):
mycommon.myprint( mycommon.myprint(
str(inspect.stack()[0][3]) + " - La valeur '" + str( str(inspect.stack()[0][3]) + " - La valeur '" + str(
field_name) + "' n'est pas alphanumérique ") field_name_val_saisie) + "' n'est pas alphanumérique ")
return False, " La valeur '" + str(field_name) + "' n'est pas alphanumérique ", return False, " La valeur '" + str(field_name_val_saisie) + "' n'est pas alphanumérique ",
data['field_name'] = field_name data['field_name'] = field_name
@ -609,7 +609,7 @@ def Get_Partner_Object_Specific_Valide_Displayed_Fields(diction):
""" """
Verification des champs obligatoires Verification des champs obligatoires
""" """
field_list_obligatoire = ['token', ] field_list_obligatoire = ['token', 'object_name']
for val in field_list_obligatoire: for val in field_list_obligatoire:
if val not in diction: if val not in diction:
mycommon.myprint( mycommon.myprint(
@ -631,6 +631,7 @@ def Get_Partner_Object_Specific_Valide_Displayed_Fields(diction):
data_cle = {} data_cle = {}
data_cle['partner_owner_recid'] = str(my_partner['recid']) data_cle['partner_owner_recid'] = str(my_partner['recid'])
data_cle['related_collection'] = str(diction['object_name'])
data_cle['valide'] = "1" data_cle['valide'] = "1"
data_cle['locked'] = "0" data_cle['locked'] = "0"
@ -751,7 +752,7 @@ def get_list_specific_field_partner_with_filter(diction):
""" """
Verification des champs obligatoires Verification des champs obligatoires
""" """
field_list_obligatoire = ['token',] field_list_obligatoire = ['token']
for val in field_list_obligatoire: for val in field_list_obligatoire:
if val not in diction: if val not in diction:
mycommon.myprint( mycommon.myprint(

View File

@ -431,6 +431,25 @@ def add_class(diction):
mydata['zone_diffusion'] = {'country':tab_country, 'city':tab_city} mydata['zone_diffusion'] = {'country':tab_country, 'city':tab_city}
"""
Update du 22/10/2023 - Gestion des champs spécifiques ajoutés par le partenaire
"""
# Recuperation des champs spécifiques se trouvant dans le dictionnaire. ils commencent tous par 'my_'
for val in diction.keys():
if (val.startswith('my_')):
if (MYSY_GV.dbname['base_specific_fields'].count_documents(
{'partner_owner_recid': str(user_recid),
'related_collection': 'myclass',
'field_name': str(val),
'valide': '1',
'locked': '0'}) != 1):
mycommon.myprint(str(
inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé ")
return False, " Les informations fournies sont incorrectes"
mydata[str(val)] = diction[str(val)]
mydata['valide'] = '1' mydata['valide'] = '1'
mydata['locked'] = '0' mydata['locked'] = '0'
@ -682,8 +701,8 @@ def update_class(diction):
if ("description" in diction.keys()): if ("description" in diction.keys()):
mydata['description'] = diction['description'] mydata['description'] = diction['description']
print(" #### ",mycommon.cleanhtml(diction['description'])) #print(" #### ",mycommon.cleanhtml(diction['description']))
print(" ### len =", len(mycommon.cleanhtml(diction['description']))) #print(" ### len =", len(mycommon.cleanhtml(diction['description'])))
if (len(mycommon.cleanhtml(diction['description'])) > MYSY_GV.CLASS_ZONE_DESCRIP_LIMIT): if (len(mycommon.cleanhtml(diction['description'])) > MYSY_GV.CLASS_ZONE_DESCRIP_LIMIT):
mycommon.myprint( mycommon.myprint(
@ -948,6 +967,22 @@ def update_class(diction):
''' '''
mydata['date_update'] = str(datetime.now()) mydata['date_update'] = str(datetime.now())
# Recuperation des champs spécifiques se trouvant dans le dictionnaire. ils commencent tous par 'my_'
for val in diction.keys():
if (val.startswith('my_')):
if (MYSY_GV.dbname['base_specific_fields'].count_documents(
{'partner_owner_recid': str(partner_recid),
'related_collection': 'myclass',
'field_name': str(val),
'valide': '1',
'locked': '0'}) != 1):
mycommon.myprint(str(
inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé ")
return False, " Les informations fournies sont incorrectes"
mydata[str(val)] = diction[str(val)]
# A supprimer apres (a reflechir .... me tate) # A supprimer apres (a reflechir .... me tate)
mydata['freeacces'] = '1' mydata['freeacces'] = '1'
mydata['isalaune'] = '1' mydata['isalaune'] = '1'

View File

@ -776,7 +776,7 @@ def Get_Partner_List_Partner_Client(diction):
data_cle['valide'] = "1" data_cle['valide'] = "1"
data_cle['locked'] = "0" data_cle['locked'] = "0"
print(" ### Get_Partner_List_Partner_Client data_cle = ", data_cle) #print(" ### Get_Partner_List_Partner_Client data_cle = ", data_cle)
RetObject = [] RetObject = []
val_tmp = 1 val_tmp = 1

View File

@ -3013,6 +3013,11 @@ def GetAttendeeDetail_perSession(diction):
local_opco = local_Insc_retval['opco'] local_opco = local_Insc_retval['opco']
my_retrun_dict['opco'] = local_opco my_retrun_dict['opco'] = local_opco
# Recuperation des champs spécifiques se trouvant dans le dictionnaire. ils commencent tous par 'my_'
for val in local_Insc_retval.keys():
if (val.startswith('my_')):
my_retrun_dict[str(val)] = local_Insc_retval[str(val)]
local_class_internal_url = "" local_class_internal_url = ""
if ("class_internal_url" in local_Insc_retval.keys()): if ("class_internal_url" in local_Insc_retval.keys()):
local_class_internal_url = local_Insc_retval['class_internal_url'] local_class_internal_url = local_Insc_retval['class_internal_url']