21/11/2023 17h15
parent
3fc4dac28b
commit
da094a3759
|
@ -2,13 +2,10 @@
|
|||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="20/11/2023 - 21h00">
|
||||
<change afterPath="$PROJECT_DIR$/base_config_modele_journee.py" 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$/Session_Formation_Sequence.py" beforeDir="false" afterPath="$PROJECT_DIR$/Session_Formation_Sequence.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/agenda.py" beforeDir="false" afterPath="$PROJECT_DIR$/agenda.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/prj_common.py" beforeDir="false" afterPath="$PROJECT_DIR$/prj_common.py" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
|
|
1384
Log/log_file.log
1384
Log/log_file.log
File diff suppressed because it is too large
Load Diff
|
@ -207,6 +207,9 @@ ils laisse le système créer toutes les sequence.
|
|||
Alogo :
|
||||
1 - Si la session est valide, on supprime toutes les sequences existantes pour cette session (y compris les plannings)
|
||||
2 - on prend en entrée le modele de journé à appliquer (heures de la journée, jours de la semaine)
|
||||
3 - Pour chaque ressource rattachée à session, on va aller faire les reservation d'agenda : ATTENTION
|
||||
-> NOTE : On ne va pas ajouté les ressources tout de suite. Apres la creation, on donnera la possiblité de choisir plusieurs (voir toutes)
|
||||
les sequence, puis proposer l'ajout en masse d'une ressource.
|
||||
|
||||
"""
|
||||
|
||||
|
@ -261,9 +264,48 @@ def Create_Automatic_Sequence(diction):
|
|||
str(inspect.stack()[0][3]) + " - L'identifiant de la session n'est pas valide ")
|
||||
return False, "L'identifiant de la session n'est pas valide "
|
||||
|
||||
"""
|
||||
Si le "jounree_modele_id" est vide, cela veut qu'il faut aller chercher le modele par default
|
||||
"""
|
||||
jounree_modele_id = ""
|
||||
if( str(diction['jounree_modele_id']) == "" ):
|
||||
jounree_modele_data = MYSY_GV.dbname['base_config_modele_journee'].find_one({'partner_owner_recid': str(my_partner['recid']),
|
||||
'valide': '1', 'locked':'0', 'default':"1"})
|
||||
|
||||
if( jounree_modele_data is None ):
|
||||
# On ne trouve pas de modele par defaut pour ce client. On va aller le chercher le modele par defaut de MySy
|
||||
jounree_modele_data_mysy = MYSY_GV.dbname['base_config_modele_journee'].find_one(
|
||||
{'partner_owner_recid': "default", 'valide': '1', 'locked': '0', 'default': "1"})
|
||||
|
||||
if( jounree_modele_data_mysy is None ):
|
||||
mycommon.myprint(
|
||||
str(inspect.stack()[0][3]) + " - Aucun modèle de journée n'est configuré dans le système ")
|
||||
return False, " Aucun modèle de journée n'est configuré dans le système "
|
||||
|
||||
|
||||
jounree_modele_id = str(jounree_modele_data_mysy['_id'])
|
||||
|
||||
|
||||
|
||||
else:
|
||||
jounree_modele_id = str(jounree_modele_data['_id'])
|
||||
|
||||
|
||||
else:
|
||||
jounree_modele_id = str(diction['jounree_modele_id'])
|
||||
|
||||
|
||||
|
||||
if (str(jounree_modele_id).strip() == ""):
|
||||
mycommon.myprint(
|
||||
str(inspect.stack()[0][3]) + " - Aucun modèle de journée n'est configuré dans le système (2) ")
|
||||
return False, " Aucun modèle de journée n'est configuré dans le système (2) "
|
||||
|
||||
print(" #### jounree_modele_id = ", jounree_modele_id)
|
||||
|
||||
# Verification de l'existence du modele de journée
|
||||
is_existe_valide_journee_model_id = MYSY_GV.dbname["base_config_modele_journee"].count_documents(
|
||||
{'_id': ObjectId(str(diction['jounree_modele_id'])),
|
||||
{'_id': ObjectId(str(jounree_modele_id)) ,
|
||||
'partner_owner_recid': str(my_partner['recid']),
|
||||
'valide': '1', 'locked':'0'})
|
||||
|
||||
|
@ -275,7 +317,7 @@ def Create_Automatic_Sequence(diction):
|
|||
|
||||
# Recuperation des data
|
||||
is_existe_valide_journee_model_data= MYSY_GV.dbname["base_config_modele_journee"].find_one(
|
||||
{'_id': ObjectId(str(diction['jounree_modele_id'])),
|
||||
{'_id': ObjectId(str(jounree_modele_id)),
|
||||
'partner_owner_recid': str(my_partner['recid']),
|
||||
'valide': '1', 'locked': '0'})
|
||||
|
||||
|
@ -351,7 +393,7 @@ def Create_Automatic_Sequence(diction):
|
|||
liste_jours_travaille_code_day.append(str(jour['day_name']))
|
||||
|
||||
"""
|
||||
/!\ Suppression des sequences qui existe et reservation par rapport à cette session
|
||||
/!\ Suppression des sequences qui existe et reservation dans les agenda par rapport à cette session
|
||||
"""
|
||||
for local_retval in MYSY_GV.dbname['session_formation_sequence'].find({'session_id': str(diction['session_id']),
|
||||
'partner_owner_recid': str(my_partner['recid']),}):
|
||||
|
@ -374,7 +416,6 @@ def Create_Automatic_Sequence(diction):
|
|||
print(single_date.strftime("%A"))
|
||||
|
||||
if( str(single_date.strftime("%A")).lower() in liste_jours_travaille):
|
||||
print(" OK TRAVAILLE")
|
||||
|
||||
# Pour chaque sequence de la journée
|
||||
for local_val in is_existe_valide_journee_model_data['tab_sequence']:
|
||||
|
@ -385,7 +426,7 @@ def Create_Automatic_Sequence(diction):
|
|||
sequence_data['sequence_start'] = str(single_date.strftime("%d/%m/%Y"))+" "+str(local_val['heure_debut']).strip()
|
||||
sequence_data['sequence_end'] = str(single_date.strftime("%d/%m/%Y"))+" "+str(local_val['heure_fin']).strip()
|
||||
|
||||
print(" ### sequence_data = ", sequence_data)
|
||||
#print(" ### sequence_data = ", sequence_data)
|
||||
|
||||
local_status, local_val = Add_Session_Sequence(sequence_data)
|
||||
|
||||
|
@ -393,14 +434,11 @@ def Create_Automatic_Sequence(diction):
|
|||
mycommon.myprint(
|
||||
str(inspect.stack()[0][ 3]) + " WARNING : " + str(local_val))
|
||||
|
||||
|
||||
|
||||
cpt = cpt + 1
|
||||
|
||||
|
||||
else:
|
||||
print(" KO NON TRAVAILLE ")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -529,15 +567,13 @@ def Update_Session_Sequence(diction):
|
|||
str(diction['_id']))}
|
||||
}):
|
||||
|
||||
print(" #### str(retVal['event_start']) = ", str(retVal['sequence_start']))
|
||||
print(" #### str(retVal['event_end']) = ", str(retVal['sequence_end']))
|
||||
|
||||
|
||||
New_retVal_start_date = datetime.strptime(str(retVal['sequence_start']), '%d/%m/%Y %H:%M').strftime(
|
||||
"%d/%m/%Y %H:%M")
|
||||
New_retVal_end_date = datetime.strptime(str(retVal['sequence_end']), '%d/%m/%Y %H:%M').strftime(
|
||||
"%d/%m/%Y %H:%M")
|
||||
print(" ### New_retVal_start_date = ", New_retVal_start_date)
|
||||
print(" ### New_retVal_end_date = ", New_retVal_end_date)
|
||||
|
||||
|
||||
if (datetime.strptime(str(New_retVal_start_date), '%d/%m/%Y %H:%M') <= datetime.strptime(
|
||||
str(date_debut_seq), '%d/%m/%Y %H:%M') and
|
||||
|
|
23
agenda.py
23
agenda.py
|
@ -106,15 +106,15 @@ def Add_Update_Agenda_Event(diction):
|
|||
return False, " L'identifiant du 'related_collection_recid' n'est pas valide "
|
||||
|
||||
|
||||
if (datetime.strptime(str(diction['event_start']), '%d/%m/%Y %H:%M') >= datetime.strptime(str(diction['event_end']),
|
||||
'%d/%m/%Y %H:%M')):
|
||||
if (datetime.strptime(str(diction['event_start'])[0:16], '%Y-%m-%dT%H:%M') >= datetime.strptime(str(diction['event_end'])[0:16],
|
||||
'%Y-%m-%dT%H:%M')):
|
||||
mycommon.myprint(
|
||||
str(inspect.stack()[0][
|
||||
3]) + " La date de fin de séquence " + str(
|
||||
diction['event_end']) + " doit être postérieure à la date de début de séquence " + str(
|
||||
3]) + " La date de fin " + str(
|
||||
diction['event_end']) + " doit être postérieure à la date de début " + str(
|
||||
diction['event_end']) + " ")
|
||||
return False, " La date de fin de séquence " + str(
|
||||
diction['event_end']) + " doit être postérieure à la date de début de séquence " + str(diction['event_end']) + " "
|
||||
return False, " La date de fin " + str(
|
||||
diction['event_end']) + " doit être postérieure à la date de début " + str(diction['event_end']) + " "
|
||||
|
||||
|
||||
|
||||
|
@ -244,6 +244,16 @@ def Add_Update_Agenda_Event_Stagiaire(diction):
|
|||
str(inspect.stack()[0][3]) + " - L'identifiant du 'related_collection_recid' n'est pas valide ")
|
||||
return False, " L'identifiant du 'related_collection_recid' n'est pas valide "
|
||||
|
||||
if (datetime.strptime(str(diction['event_start'])[0:16], '%Y-%m-%dT%H:%M') >= datetime.strptime(str(diction['event_end'])[0:16],
|
||||
'%Y-%m-%dT%H:%M')):
|
||||
mycommon.myprint(
|
||||
str(inspect.stack()[0][
|
||||
3]) + " La date de fin " + str(
|
||||
diction['event_end']) + " doit être postérieure à la date de début " + str(
|
||||
diction['event_end']) + " ")
|
||||
return False, " La date de fin " + str(
|
||||
diction['event_end']) + " doit être postérieure à la date de début " + str(diction['event_end']) + " "
|
||||
|
||||
|
||||
mydata = {}
|
||||
mydata['related_collection'] = str(diction['related_collection'])
|
||||
|
@ -358,6 +368,7 @@ def get_Agenda_Event_List(diction):
|
|||
'partner_owner_recid':str(my_partner['recid']), 'valide':'1', 'locked':'0'}
|
||||
|
||||
|
||||
print(" ### qry = ", qry)
|
||||
|
||||
for New_retVal in MYSY_GV.dbname['agenda'].find({'related_collection':str(diction['related_collection']), 'related_collection_recid':str(diction['related_collection_recid']),
|
||||
'partner_owner_recid':str(my_partner['recid']), 'valide':'1', 'locked':'0'}):
|
||||
|
|
Loading…
Reference in New Issue