08/11/2023 - 23h

master
cherif 2023-11-08 23:00:31 +01:00
parent 0202fe0369
commit 74c7fee2e3
4 changed files with 1920 additions and 6 deletions

View File

@ -4,7 +4,8 @@
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="30/10/23 - 16h">
<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$/base_specific_fields.py" beforeDir="false" afterPath="$PROJECT_DIR$/base_specific_fields.py" 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" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />

File diff suppressed because it is too large Load Diff

View File

@ -934,7 +934,7 @@ Recuperation de la liste avec des filter du type like
def GetAllValideSessionPartner_List_filter_like(diction):
try:
field_list = ['token','class_title', 'code_session', 'class_external_code']
field_list = ['token','class_title', 'code_session', 'class_external_code', 'session_start_date', 'session_end_date']
incom_keys = diction.keys()
for val in incom_keys:
if val not in field_list and val.startswith('my_') is False:
@ -977,6 +977,24 @@ def GetAllValideSessionPartner_List_filter_like(diction):
if ("code_session" in diction.keys()):
filt_code_session = {'code_session': {'$regex': str(diction['code_session']), "$options": "i"}}
filt_session_start_date = ""
if ("session_start_date" in diction.keys()):
filt_session_start_date = str(diction['session_start_date'])[0:10]
local_status = mycommon.CheckisDate(filt_session_start_date)
if (local_status is False):
mycommon.myprint(str(inspect.stack()[0][3]) + " Le filtre : 'date de debut de session' n'est pas au format jj/mm/aaaa.")
return False, " Le filtre : 'date de debut de session' n'est pas au format jj/mm/aaaa."
filt_session_end_date = ""
if ("session_end_date" in diction.keys()):
filt_session_end_date = str(diction['session_end_date'])[0:10]
local_status = mycommon.CheckisDate(filt_session_end_date)
if (local_status is False):
mycommon.myprint(str(
inspect.stack()[0][3]) + " Le filtre : 'date de fin de session' n'est pas au format jj/mm/aaaa.")
return False, " Le filtre : 'date de fin de session' n'est pas au format jj/mm/aaaa."
coll_session = MYSY_GV.dbname['session_formation']
query = [ {'$match':{ '$and' : [ filt_code_session,{'partner_owner_recid':str(my_partner['recid'])}] }} ,
@ -992,11 +1010,12 @@ def GetAllValideSessionPartner_List_filter_like(diction):
}
]
print("#### GetAllValideSessionPartner_List_filter_likequery = ", query)
#print("#### GetAllValideSessionPartner_List_filter_likequery = ", query)
RetObject = []
cpt = 1
for retVal in MYSY_GV.dbname['session_formation'].aggregate(query):
if( 'myclass_collection' in retVal.keys() and len(retVal['myclass_collection']) > 0 ):
val = {}
val['id'] = str(cpt)
cpt = cpt + 1
@ -1092,8 +1111,34 @@ def GetAllValideSessionPartner_List_filter_like(diction):
val['taux_remplissage'] = str(taux_remplissage)
if (filt_session_start_date and filt_session_end_date):
# Si on a un filtre sur la date debut et de fin de session
if ((datetime.strptime(str(retVal['date_debut'][0:10]).strip(), '%d/%m/%Y') >= datetime.strptime(
str(filt_session_start_date).strip(), '%d/%m/%Y'))
and
(datetime.strptime(str(retVal['date_fin'][0:10]).strip(),
'%d/%m/%Y') <= datetime.strptime(str(filt_session_end_date).strip(),
'%d/%m/%Y'))
):
RetObject.append(mycommon.JSONEncoder().encode(val))
RetObject.append(mycommon.JSONEncoder().encode(val))
elif (filt_session_start_date):
# Si on a un filtre uniquement sur la date de debut de session
if ((datetime.strptime(str(retVal['date_debut'][0:10]).strip(), '%d/%m/%Y') >= datetime.strptime(
str(filt_session_start_date).strip(), '%d/%m/%Y'))):
RetObject.append(mycommon.JSONEncoder().encode(val))
elif (filt_session_end_date):
# Si on a un filtre uniquement sur la date de fin session
if ((datetime.strptime(str(retVal['date_fin'][0:10]).strip(), '%d/%m/%Y') <= datetime.strptime(
str(filt_session_end_date).strip(), '%d/%m/%Y'))):
RetObject.append(mycommon.JSONEncoder().encode(val))
else:
RetObject.append(mycommon.JSONEncoder().encode(val))
return True, RetObject

View File

@ -2283,7 +2283,8 @@ def get_partner_class(diction):
{'partner_owner_recid':user_recid} ,
filt_external_code, filt_title, filt_internal_url]},
):
#mycommon.myprint(str(retVal))
#print(" #### retVal = ", retVal)
if ("title" not in retVal.keys()):
retVal['title'] = ""
@ -2335,7 +2336,7 @@ def get_partner_class(diction):
RetObject.append(JSONEncoder().encode(user))
val_tmp = val_tmp + 1
print(str(RetObject))
print("##### str(RetObject) = ", str(RetObject))
return True, RetObject