11/07/2024 - 13h14

master
cherif 2024-07-11 13:14:50 +02:00
parent e818512ffe
commit a4df7a0358
8 changed files with 1926 additions and 29 deletions

View File

@ -1,14 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="wwssdssd">
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="wwssdssddd">
<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$/Session_Formation.py" beforeDir="false" afterPath="$PROJECT_DIR$/Session_Formation.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/class_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/class_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/survey_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/survey_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ela_factures_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/ela_factures_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/emargement.py" beforeDir="false" afterPath="$PROJECT_DIR$/emargement.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/module_editique.py" beforeDir="false" afterPath="$PROJECT_DIR$/module_editique.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/partner_invoice.py" beforeDir="false" afterPath="$PROJECT_DIR$/partner_invoice.py" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -78,13 +79,6 @@
<option name="presentableId" value="Default" />
<updated>1680804787304</updated>
</task>
<task id="LOCAL-00298" summary="14/05/2024 - 21h30">
<created>1715714868339</created>
<option name="number" value="00298" />
<option name="presentableId" value="LOCAL-00298" />
<option name="project" value="LOCAL" />
<updated>1715714868342</updated>
</task>
<task id="LOCAL-00299" summary="sds">
<created>1715795512375</created>
<option name="number" value="00299" />
@ -421,7 +415,14 @@
<option name="project" value="LOCAL" />
<updated>1720553186264</updated>
</task>
<option name="localTasksCounter" value="347" />
<task id="LOCAL-00347" summary="wwssdssddd">
<created>1720630401945</created>
<option name="number" value="00347" />
<option name="presentableId" value="LOCAL-00347" />
<option name="project" value="LOCAL" />
<updated>1720630401947</updated>
</task>
<option name="localTasksCounter" value="348" />
<servers />
</component>
<component name="Vcs.Log.Tabs.Properties">
@ -463,7 +464,6 @@
</option>
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="sss" />
<MESSAGE value="01/06/2024 - 14h30" />
<MESSAGE value="qsdsq" />
<MESSAGE value="qsdsqsqdsq" />
@ -488,6 +488,7 @@
<MESSAGE value="wwssd" />
<MESSAGE value="wwssdss" />
<MESSAGE value="wwssdssd" />
<option name="LAST_COMMIT_MESSAGE" value="wwssdssd" />
<MESSAGE value="wwssdssddd" />
<option name="LAST_COMMIT_MESSAGE" value="wwssdssddd" />
</component>
</project>

View File

@ -313,6 +313,20 @@ def AddStagiairetoClass(diction):
mydata['facture_client_rattachement_id'] = ""
"""
11/07/2024 - si j'ai un client_client, mais pas de client facturé, alors on fait : client_facturé = client_client
"""
if (len(str(mydata['facture_client_rattachement_id']).strip()) <= 1 and len(str(mydata['client_rattachement_id']).strip()) > 3):
mydata['facture_client_rattachement_id'] = str(mydata['client_rattachement_id'])
"""
11/07/2024 - si j'ai un client facture , mais pas de client_client, alors on fait : client_client = client_facturé
"""
if (len(str(mydata['client_rattachement_id']).strip()) <= 1 and len(
str(mydata['facture_client_rattachement_id']).strip()) > 3):
mydata['client_rattachement_id'] = str(mydata['facture_client_rattachement_id'])
if ("financeur_rattachement_id" in diction.keys()):
if diction['financeur_rattachement_id']:
@ -335,13 +349,14 @@ def AddStagiairetoClass(diction):
if ("tuteur1_civilite" not in diction.keys()):
mydata['tuteur1_civilite'] = ""
elif (val['tuteur1_civilite'] not in MYSY_GV.CIVILITE):
elif (diction['tuteur1_civilite'] not in MYSY_GV.CIVILITE):
# la civilité n'est pas une de celle autorisée, alors je renvoie vide
mydata['tuteur1_civilite'] = ""
if ("tuteur2_civilite" not in diction.keys()):
mydata['tuteur2_civilite'] = ""
elif (val['tuteur2_civilite'] not in MYSY_GV.CIVILITE):
elif (diction['tuteur2_civilite'] not in MYSY_GV.CIVILITE):
# la civilité n'est pas une de celle autorisée, alors je renvoie vide
mydata['tuteur2_civilite'] = ""
@ -402,7 +417,7 @@ def AddStagiairetoClass(diction):
mydata['date_update'] = datetime.now().strftime("%d/%m/%Y, %H:%M:%S")
mydata['date_update'] = datetime.now().strftime("%d/%m/%Y %H:%M:%S")
mydata['update_by'] = str(connected_user_id)
mydata['valide'] = "1"
mydata['locked'] = "0"
@ -3309,6 +3324,7 @@ def AddStagiairetoClass_mass_for_many_session(file=None, Folder=None, diction=No
Gestion du client de rattachement/
Avec l'email et le nom, on va aller récupérer l'_id du client
"""
has_client_client = ""
client_rattachement_email = ""
if ("client_rattachement_email" in df.keys()):
if (str(df['client_rattachement_email'].values[n]) and str(df['client_rattachement_email'].values[n]) != "nan"):
@ -3341,6 +3357,7 @@ def AddStagiairetoClass_mass_for_many_session(file=None, Folder=None, diction=No
if( local_client_retval_data is not None ):
mydata['client_rattachement_id'] = str(local_client_retval_data['_id'])
has_client_client = str(local_client_retval_data['_id'])
# /!\ : Par defaut, ont que le client de facturation = au client principale. comme ca
# Si il y un client de facturation plus bas, on l'ecrase
@ -3349,7 +3366,10 @@ def AddStagiairetoClass_mass_for_many_session(file=None, Folder=None, diction=No
""""
Gestion du client facturer/
Avec l'email et le nom, on va aller récupérer l'_id du client
"""
has_client_facture = ""
facture_client_rattachement_email = ""
if ("facture_client_rattachement_email" in df.keys()):
if (str(df['facture_client_rattachement_email'].values[n]) and str(
@ -3389,6 +3409,22 @@ def AddStagiairetoClass_mass_for_many_session(file=None, Folder=None, diction=No
local_client_retval_data = MYSY_GV.dbname['partner_client'].find_one(local_client_retval_qry)
if (local_client_retval_data is not None):
mydata['facture_client_rattachement_id'] = str(local_client_retval_data['_id'])
has_client_facture = str(local_client_retval_data['_id'])
"""
11/07/2024 - /!\ Si je n'ai pas de client facturé mais que j'ai un client (classique),
alors on fait : client_facturé = client_normal
"""
if( len(str(has_client_facture).strip()) <= 1 and len(str(has_client_client).strip()) > 3 ):
mydata['facture_client_rattachement_id'] = str(has_client_client)
"""
11/07/2024 - /!\ Si j'ai un client facturé, mais pas un client normal, alors on fait :
client_client = client_facture
"""
if (len(str(has_client_client).strip()) <= 1 and len(str(has_client_facture).strip()) > 3):
mydata['client_rattachement_id'] = str(has_client_facture)
mydata['status'] = str(df['status'].values[n]).strip()
@ -3403,7 +3439,6 @@ def AddStagiairetoClass_mass_for_many_session(file=None, Folder=None, diction=No
local_price = str(df['prix'].values[n]).strip()
local_status, new_price = mycommon.IsFloat(local_price)
if( local_status is False ):
@ -4139,7 +4174,7 @@ def Evaluation_Class(diction):
return False, " La note d'evaluation est incorrecte "
mydata = {}
mydata['eval_date'] = str(datetime.now().strftime("%d/%m/%Y, %H:%M:%S"))
mydata['eval_date'] = str(datetime.now().strftime("%d/%m/%Y %H:%M:%S"))
mydata['eval_note'] = str(diction['eval_note']).strip()
mydata['eval_status'] = "1"
mydata['eval_eval'] = str(diction['eval_eval']).strip()
@ -12907,7 +12942,7 @@ def Update_Emargement_QR_Code_From_Inscription_No_Token(file_img=None, Folder=No
# Mettre à jour de l'emargement
data_update = {}
now = str(datetime.now().strftime("%d/%m/%Y, %H:%M:%S"))
now = str(datetime.now().strftime("%d/%m/%Y %H:%M:%S"))
data_update['date_update'] = now
data_update['statut'] = "2"
data_update['date_emargement'] = now

File diff suppressed because it is too large Load Diff

View File

@ -11415,7 +11415,7 @@ def Invoice_Create_Secure_E_Document(diction):
Order_header_data['client_email'] = Order_header_client_data['email']
# Ajout d'un parametre pour le data time du jour de l'edition (c'est une data static qui peut servir pour l'horodatage
Order_header_data['current_date_time'] = str(datetime.now().strftime("%d/%m/%Y, %H:%M:%S"))
Order_header_data['current_date_time'] = str(datetime.now().strftime("%d/%m/%Y %H:%M:%S"))
# Recuperation des details de lignes de : partner_invoice_line
filt_class_partner_recid = {'partner_owner_recid': str(my_partner['recid'])}

View File

@ -828,7 +828,7 @@ def createOrder(diction):
new_data['date_update'] = str(now)
new_data['order_date'] = str(now.strftime("%d/%m/%Y, %H:%M:%S"))
new_data['order_date'] = str(now.strftime("%d/%m/%Y %H:%M:%S"))
new_data['order_id'] = "MySy_00"+str(mycommon.create_order_id())

View File

@ -543,6 +543,21 @@ def UpdateUserEmargementDate(diction):
return "Err_Connexion", " La session de connexion n'est pas valide"
"""
Verifier que l'emargement est valide
"""
is_valide_emargement = MYSY_GV.dbname['emargement'].count_documents({'_id':ObjectId(str(diction['_id'])), 'valide':'1',
'locked':'0', 'partner_owner_recid':str(partner_recid)})
if( is_valide_emargement != 1):
mycommon.myprint(
str(inspect.stack()[0][3]) + " L'identifiant de l'emargement est invalide ")
return False, " L'identifiant de l'emargement est invalide "
is_valide_emargement_data = MYSY_GV.dbname['emargement'].find_one(
{'_id': ObjectId(str(diction['_id'])), 'valide': '1',
'locked': '0', 'partner_owner_recid': str(partner_recid)})
is_present = ""
if ("is_present" in diction.keys()):
@ -551,7 +566,7 @@ def UpdateUserEmargementDate(diction):
mydata = {}
now = str(datetime.now().strftime("%d/%m/%Y, %H:%M:%S"))
now = str(datetime.now().strftime("%d/%m/%Y %H:%M:%S"))
mydata['date_update'] = now
if (is_present == "1"):
@ -560,16 +575,18 @@ def UpdateUserEmargementDate(diction):
mydata['is_present'] = False
mydata['statut'] = "2"
mydata['date_emargement'] = now
mydata['update_by'] = str(my_partner['_id'])
query_key = {}
query_key['_id'] = ObjectId(str(diction['_id']))
query_key['partner_owner_recid'] = str(partner_recid)
print(" #### query_key = ", query_key)
print(" #### mydata = ", mydata)
#print(" #### query_key = ", query_key)
#print(" #### mydata = ", mydata)
coll_emargement = MYSY_GV.dbname['emargement']
local_ret_val = coll_emargement.find_one_and_update(

View File

@ -996,7 +996,7 @@ def Init_And_Update_courrier_template_tracking(diction):
"""
# Mise à jour du courrier_template pour mettre 'tracked':'1'
update_data = {}
update_data['date_update'] = datetime.now().strftime("%d/%m/%Y, %H:%M:%S")
update_data['date_update'] = datetime.now().strftime("%d/%m/%Y %H:%M:%S")
update_data['update_by'] = str(my_partner['_id'])
update_data['tracked'] = "1"
@ -1064,7 +1064,7 @@ def Init_And_Update_courrier_template_tracking_With_Partner_Data(my_partner):
"""
# Mise à jour du courrier_template pour mettre 'tracked':'1'
update_data = {}
update_data['date_update'] = datetime.now().strftime("%d/%m/%Y, %H:%M:%S")
update_data['date_update'] = datetime.now().strftime("%d/%m/%Y %H:%M:%S")
update_data['update_by'] = str(my_partner['_id'])
update_data['tracked'] = "1"

View File

@ -1614,7 +1614,7 @@ def GerneratePDF_Partner_Invoice(diction):
Order_header_data['client_email'] = Order_header_client_data['email']
# Ajout d'un parametre pour le data time du jour de l'edition (c'est une data static qui peut servir pour l'horodatage
Order_header_data['current_date_time'] = str(datetime.now().strftime("%d/%m/%Y, %H:%M:%S") )
Order_header_data['current_date_time'] = str(datetime.now().strftime("%d/%m/%Y %H:%M:%S") )
# Recuperation des details de lignes de : partner_invoice_line
@ -1917,7 +1917,7 @@ def Send_Partner_Invoice_By_Email(diction):
Order_header_data['client_email'] = Order_header_client_data['email']
# Ajout d'un parametre pour le data time du jour de l'edition (c'est une data static qui peut servir pour l'horodatage
Order_header_data['current_date_time'] = str(datetime.now().strftime("%d/%m/%Y, %H:%M:%S"))
Order_header_data['current_date_time'] = str(datetime.now().strftime("%d/%m/%Y %H:%M:%S"))
# Recuperation des details de lignes de : partner_order_line
filt_class_partner_recid = {'partner_owner_recid': str(my_partner['recid'])}