master
cherif 2024-05-31 12:12:42 +02:00
parent 724178d44e
commit e9e51b90fa
6 changed files with 1672 additions and 9 deletions

View File

@ -2,12 +2,12 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="qsdsqqsdsq">
<change afterPath="$PROJECT_DIR$/groupe_inscrit_mgt.py" 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$/Job_Cron.py" beforeDir="false" afterPath="$PROJECT_DIR$/Job_Cron.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$/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" />
<change beforePath="$PROJECT_DIR$/metier_formation_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/metier_formation_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/note_evaluation_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/note_evaluation_mgt.py" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@ -2437816,3 +2437816,636 @@ INFO:werkzeug:127.0.0.1 - - [30/May/2024 16:52:50] "POST /myclass/api/GetTableau
INFO:werkzeug:127.0.0.1 - - [30/May/2024 16:52:50] "POST /myclass/api/GetAllClassStagiaire/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [30/May/2024 16:52:50] "POST /myclass/api/Get_Session_Sequence_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [30/May/2024 16:52:50] "POST /myclass/api/Get_List_object_owner_collection_Stored_Files/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:32:42.513106 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 09:32:42.514102 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 09:32:42.514102 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 09:32:42.515097 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 09:32:42.515097 : ++ LMS_BAS_URL mysy-training.com/ ++
INFO:werkzeug:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://localhost:5001
INFO:werkzeug:Press CTRL+C to quit
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 09:32:58.349107 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 09:32:58.349107 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 09:32:58.349107 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 09:32:58.349107 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 09:32:58.349107 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:root:2024-05-31 09:33:47.695570 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:47.697566 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:47.698563 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:47.701565 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:47.859260 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:47.861267 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:47] "POST /myclass/api/get_List_domaine_formation/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:47] "POST /myclass/api/get_List_domaine_formation/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:47] "POST /myclass/api/Get_Suggested_Fr_Cities/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:47] "POST /myclass/api/Get_Suggested_Fr_Cities/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:48] "POST /myclass/api/Get_Suggested_Word/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:48] "POST /myclass/api/Get_Suggested_Word/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:48.178506 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:48.180511 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:48.182506 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:48.184501 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:48] "POST /myclass/api/get_all_class/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:48] "POST /myclass/api/get_all_class/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:48.822757 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:48.823746 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:48.824757 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:48] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:48.832361 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:48] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:48.835360 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:48] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:48] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:48.843188 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:48] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:48] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:49.152004 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:49.155997 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:49] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:49] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:49.161532 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:49.166532 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:49] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:49.173529 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:49] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:49.179223 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:49] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:49] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:49.476185 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:49.476694 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:49] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:49.481711 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:49] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:49.486169 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:49] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:49.491354 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:49] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:49.493376 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:49] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:49] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:49.789477 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:49.791494 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:49] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:49] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:49.803978 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:49.804994 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:49.808444 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:49.812727 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:49] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:49] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:49] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:49] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:50.111635 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:50.116639 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:50] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:50] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:50.123959 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:50] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:50.131331 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:50.134859 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:50] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:50.138792 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:50] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:50] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:50.440519 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:50.443519 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:50.444519 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:50] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:50] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:50] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:50.453563 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:50.457563 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:50] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:50] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:50.463153 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:50] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:50.768026 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:50.770298 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:50.773416 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:50] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:50] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:50.775521 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:50] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:50.783352 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:50.787690 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:50] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:50] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:50] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:51.097005 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:51.099536 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:51.100572 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:51] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:51.106816 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:51] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:51] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:51] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:51.117446 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:51.120456 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:51] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:51] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:51.410534 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:51] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:51.416929 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:51.419131 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:51.422592 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:51] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:51] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:51] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:51.431601 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:51.432601 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:51] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:51] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:51.719592 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:51] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:51.732323 : Security check : IP adresse '127.0.0.1' connected
INFO:root:2024-05-31 09:33:51.736684 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:51] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:51.741897 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:51] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:51.753762 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:51] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
INFO:root:2024-05-31 09:33:51.761994 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:51] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [31/May/2024 09:33:51] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 09:40:15.435376 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 09:40:15.435376 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 09:40:15.435376 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 09:40:15.435376 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 09:40:15.435376 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 09:41:35.854485 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 09:41:35.854485 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 09:41:35.854485 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 09:41:35.854485 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 09:41:35.854485 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 09:42:39.543941 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 09:42:39.543941 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 09:42:39.543941 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 09:42:39.544943 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 09:42:39.544943 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 09:42:57.950175 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 09:42:57.951188 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 09:42:57.951188 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 09:42:57.951188 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 09:42:57.951188 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 09:43:18.637727 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 09:43:18.637727 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 09:43:18.637727 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 09:43:18.637727 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 09:43:18.637727 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 09:43:32.355814 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 09:43:32.356337 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 09:43:32.356337 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 09:43:32.356337 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 09:43:32.356337 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 09:44:37.369794 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 09:44:37.370831 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 09:44:37.370831 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 09:44:37.370831 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 09:44:37.370831 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 09:53:32.948264 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 09:53:32.949264 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 09:53:32.949264 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 09:53:32.949264 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 09:53:32.949264 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 09:53:58.485378 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 09:53:58.485378 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 09:53:58.485378 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 09:53:58.485378 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 09:53:58.485378 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 09:54:19.938409 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 09:54:19.938409 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 09:54:19.938409 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 09:54:19.938409 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 09:54:19.938409 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 09:54:35.129949 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 09:54:35.130955 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 09:54:35.130955 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 09:54:35.130955 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 09:54:35.130955 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 09:55:13.498097 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 09:55:13.499093 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 09:55:13.499093 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 09:55:13.499093 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 09:55:13.499093 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 09:56:31.492883 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 09:56:31.492883 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 09:56:31.492883 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 09:56:31.492883 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 09:56:31.492883 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 09:57:23.466380 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 09:57:23.466380 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 09:57:23.466380 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 09:57:23.466380 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 09:57:23.466380 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 09:58:08.896371 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 09:58:08.896371 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 09:58:08.896371 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 09:58:08.896371 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 09:58:08.896371 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:01:56.604303 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:01:56.604303 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:01:56.604303 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:01:56.604303 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:01:56.604303 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:03:14.563995 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:03:14.563995 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:03:14.563995 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:03:14.563995 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:03:14.563995 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:04:58.493802 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:04:58.493802 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:04:58.493802 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:04:58.493802 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:04:58.493802 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:06:18.662614 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:06:18.662614 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:06:18.662614 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:06:18.662614 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:06:18.662614 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:07:16.686632 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:07:16.686632 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:07:16.686632 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:07:16.686632 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:07:16.686632 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:07:50.079099 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:07:50.080101 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:07:50.080101 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:07:50.080101 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:07:50.080101 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:08:55.191694 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:08:55.191694 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:08:55.191694 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:08:55.191694 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:08:55.191694 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\metier_formation_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:09:24.842859 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:09:24.843861 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:09:24.843861 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:09:24.843861 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:09:24.843861 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:14:20.403596 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:14:20.404604 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:14:20.404604 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:14:20.404604 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:14:20.404604 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:16:38.521339 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:16:38.521339 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:16:38.522336 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:16:38.522336 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:16:38.522336 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\note_evaluation_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:21:16.203077 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:21:16.203077 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:21:16.203077 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:21:16.203077 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:21:16.203077 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:22:26.003578 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:22:26.003578 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:22:26.003578 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:22:26.003578 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:22:26.004574 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:23:31.356242 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:23:31.356242 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:23:31.357238 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:23:31.357238 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:23:31.357238 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:23:44.262558 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:23:44.262558 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:23:44.262558 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:23:44.262558 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:23:44.262558 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:24:23.458932 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:24:23.458932 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:24:23.458932 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:24:23.458932 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:24:23.458932 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:24:39.602991 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:24:39.602991 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:24:39.603975 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:24:39.603975 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:24:39.603975 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:26:19.419710 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:26:19.419710 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:26:19.419710 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:26:19.419710 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:26:19.419710 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:27:05.402421 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:27:05.402421 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:27:05.402421 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:27:05.402421 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:27:05.402421 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:27:36.792459 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:27:36.792459 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:27:36.792459 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:27:36.792459 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:27:36.793462 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:28:27.095889 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:28:27.096901 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:28:27.096901 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:28:27.096901 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:28:27.096901 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:29:03.467135 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:29:03.467135 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:29:03.467135 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:29:03.467135 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:29:03.467135 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:29:35.175428 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:29:35.175428 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:29:35.176460 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:29:35.176460 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:29:35.176460 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:30:03.710332 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:30:03.710332 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:30:03.710332 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:30:03.710332 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:30:03.710332 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:32:17.990948 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:32:17.990948 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:32:17.990948 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:32:17.990948 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:32:17.990948 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:34:23.296535 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:34:23.296535 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:34:23.296535 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:34:23.296535 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:34:23.296535 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:34:33.914230 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:34:33.914230 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:34:33.914230 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:34:33.914230 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:34:33.914230 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:35:46.969245 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:35:46.969245 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:35:46.969245 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:35:46.969245 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:35:46.969245 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:37:22.927456 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:37:22.927456 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:37:22.927456 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:37:22.927456 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:37:22.927456 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:42:50.095948 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:42:50.095948 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:42:50.095948 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:42:50.095948 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:42:50.095948 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:45:19.754796 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:45:19.754796 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:45:19.754796 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:45:19.754796 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:45:19.755793 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:46:45.989276 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:46:45.989276 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:46:45.989276 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:46:45.989276 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:46:45.989276 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:48:27.136867 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:48:27.136867 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:48:27.136867 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:48:27.136867 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:48:27.136867 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:54:36.689261 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:54:36.689261 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:54:36.689261 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:54:36.689261 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:54:36.690271 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 10:58:58.773671 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 10:58:58.773671 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 10:58:58.773671 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 10:58:58.773671 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 10:58:58.773671 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 11:01:00.969936 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 11:01:00.969936 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 11:01:00.969936 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 11:01:00.969936 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 11:01:00.969936 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\groupe_inscrit_mgt.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 11:03:18.810204 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 11:03:18.811203 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 11:03:18.811203 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 11:03:18.811203 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 11:03:18.811203 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\main.py', reloading
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 11:11:42.287479 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 11:11:42.287479 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 11:11:42.288484 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 11:11:42.288484 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 11:11:42.288484 : ++ LMS_BAS_URL mysy-training.com/ ++
INFO:werkzeug:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://localhost:5001
INFO:werkzeug:Press CTRL+C to quit
INFO:werkzeug: * Restarting with stat
INFO:root:2024-05-31 11:11:51.327888 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
INFO:root:2024-05-31 11:11:51.328891 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
INFO:root:2024-05-31 11:11:51.328891 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
INFO:root:2024-05-31 11:11:51.328891 : ++ FLASK PORT 5001 ++
INFO:root:2024-05-31 11:11:51.328891 : ++ LMS_BAS_URL mysy-training.com/ ++
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 877-541-979
INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\main.py', reloading
INFO:werkzeug: * Restarting with stat

918
groupe_inscrit_mgt.py Normal file
View File

@ -0,0 +1,918 @@
"""
Ce fichier permet de gerer les groupes d'inscrit.
Par exemple dans les formations initiales, les inscrits à une formation
sont regroupés en
- groupe de TD
- groupe de TP
- groupe de Projet
- etc.
Ce fichier permet de gérer ces regoupement
"""
import bson
import pymongo
from pymongo import MongoClient
import json
from bson import ObjectId
import re
from datetime import datetime
import prj_common as mycommon
import secrets
import inspect
import sys, os
import csv
import pandas as pd
from pymongo import ReturnDocument
import GlobalVariable as MYSY_GV
from math import isnan
import GlobalVariable as MYSY_GV
import ela_index_bdd_classes as eibdd
import email_mgt as email
import jinja2
from flask import send_file
from xhtml2pdf import pisa
from email.message import EmailMessage
from email.mime.text import MIMEText
from email import encoders
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
"""
Ajout d'un groupe.
Un groupe est defini par les
- Code
- Nom
- Description
- Type de groupe (liste : TD, TP, etc)
- class_id
- session_id
La collection est : groupe_inscription
"""
def Add_Groupe_Inscrit(diction):
try:
diction = mycommon.strip_dictionary(diction)
"""
Verification des input acceptés
"""
field_list = ['token', 'code', 'nom', 'description', 'type_groupe_code', 'class_id', 'session_id']
incom_keys = diction.keys()
for val in incom_keys:
if val not in field_list and val.startswith('my_') is False:
mycommon.myprint(str(
inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé")
return False, " Les informations fournies sont incorrectes"
"""
Verification des champs obligatoires
"""
field_list_obligatoire = ['token', 'code', 'type_groupe_code', 'class_id', 'session_id']
for val in field_list_obligatoire:
if val not in diction:
mycommon.myprint(
str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans liste ")
return False, " Les informations fournies sont incorrectes"
"""
Verification de l'identité et autorisation de l'entité qui
appelle cette API
"""
token = ""
if ("token" in diction.keys()):
if diction['token']:
token = diction['token']
local_status, my_partner = mycommon.Check_Connexion_And_Return_Partner_Data(diction)
if (local_status is not True):
return local_status, my_partner
# Verifier que ce code n'existe pas déjà
is_existe_class_metier = MYSY_GV.dbname['groupe_inscription'].count_documents({'code':str(diction['code']),
'valide':'1',
'partner_owner_recid':str(my_partner['recid'])})
if( is_existe_class_metier != 1 ):
mycommon.myprint(
str(inspect.stack()[0][3]) + " Un groupe avec le code '" + str(diction['code']) + "' existe déjà ")
return False, " Un groupe avec le code '" + str(diction['code']) + "' existe déjà "
"""
Verifier que le class_id exist et est valide
"""
is_class_id_count = MYSY_GV.dbname['myclass'].count_documents({'_id':ObjectId(str(diction['class_id'])),
'valide':'1',
'locked':'0',
'partner_owner_recid':str(my_partner['recid'])})
if (is_class_id_count != 1) :
mycommon.myprint(
str(inspect.stack()[0][3]) + " L'identifiant de la formation est invalide valide ")
return False, " L'identifiant de la formation est invalide valide "
"""
Verifier que la session_id exist et est valide
"""
is_session_id_count = MYSY_GV.dbname['session_formation'].count_documents({'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
'partner_owner_recid':str(my_partner['recid'])})
if (is_session_id_count != 1):
mycommon.myprint(
str(inspect.stack()[0][3]) + " L'identifiant de la session/classe est invalide valide ")
return False, " L'identifiant de la session/classe est invalide valide "
"""
Verifier que la type_groupe exist et est valide
"""
is_type_groupe_code_count = MYSY_GV.dbname['groupe_inscription_type'].count_documents(
{'code': str(diction['type_groupe_code']),
'valide': '1',
'partner_owner_recid':'default'})
if (is_type_groupe_code_count != 1):
mycommon.myprint(
str(inspect.stack()[0][3]) + " Le type de groupe est invalide valide ")
return False, " Le type de groupe est invalide valide "
new_data = diction
del diction['token']
# Initialisation des champs non envoyés à vide
for val in field_list:
if val not in diction.keys():
new_data[str(val)] = ""
new_data['valide'] = "1"
new_data['locked'] = "0"
new_data['date_update'] = str(datetime.now())
new_data['update_by'] = str(my_partner['_id'])
new_data['partner_owner_recid'] = str(my_partner['recid'])
inserted_id = MYSY_GV.dbname['groupe_inscription'].insert_one(new_data).inserted_id
if (not inserted_id):
mycommon.myprint(
" Impossible de créer le groupe (2) ")
return False, " Impossible de créer le groupe (2) "
return True, " La metier a été correctement ajouté "
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - Line : " + str(exc_tb.tb_lineno))
return False, "Impossible de créer le groupe "
"""
Mise à jour d'un groupe
"""
def Update_Groupe_Inscrit(diction):
try:
diction = mycommon.strip_dictionary(diction)
"""
Verification des input acceptés
"""
field_list = ['token', '_id', 'code', 'nom', 'description', 'type_groupe_code', 'class_id', 'session_id']
incom_keys = diction.keys()
for val in incom_keys:
if val not in field_list and val.startswith('my_') is False:
mycommon.myprint(str(
inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé")
return False, " Les informations fournies sont incorrectes"
"""
Verification des champs obligatoires
"""
field_list_obligatoire = ['token', '_id',]
for val in field_list_obligatoire:
if val not in diction:
mycommon.myprint(
str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans liste ")
return False, " Les informations fournies sont incorrectes"
"""
Verification de l'identité et autorisation de l'entité qui
appelle cette API
"""
token = ""
if ("token" in diction.keys()):
if diction['token']:
token = diction['token']
local_status, my_partner = mycommon.Check_Connexion_And_Return_Partner_Data(diction)
if (local_status is not True):
return local_status, my_partner
new_data = diction
# Verifier que le groupe existe et est valide
is_existe_groupe = MYSY_GV.dbname['groupe_inscription'].count_documents(
{'_id': ObjectId(str(diction['_id'])),
'valide': '1',
'partner_owner_recid': str(my_partner['recid'])})
if (is_existe_groupe != 0):
mycommon.myprint(
str(inspect.stack()[0][3]) + " L'identifiant du groupe est invalide ")
return False, " L'identifiant du groupe est invalide "
# Verifier que ce code n'existe pas déjà
if( "code" in diction.keys() ):
is_existe_class_metier = MYSY_GV.dbname['groupe_inscription'].count_documents({'code':str(diction['code']),
'valide':'1',
'partner_owner_recid':str(my_partner['recid'])})
if( is_existe_class_metier != 1 ):
mycommon.myprint(
str(inspect.stack()[0][3]) + " Un groupe avec le code '" + str(diction['code']) + "' existe déjà ")
return False, " Un groupe avec le code '" + str(diction['code']) + "' existe déjà "
"""
Verifier que le class_id exist et est valide
"""
if ("class_id" in diction.keys()):
is_class_id_count = MYSY_GV.dbname['myclass'].count_documents({'_id':ObjectId(str(diction['class_id'])),
'valide':'1',
'locked':'0',
'partner_owner_recid':str(my_partner['recid'])})
if (is_class_id_count != 1) :
mycommon.myprint(
str(inspect.stack()[0][3]) + " L'identifiant de la formation est invalide valide ")
return False, " L'identifiant de la formation est invalide valide "
"""
Verifier que la session_id exist et est valide
"""
if ("session_id" in diction.keys()):
is_session_id_count = MYSY_GV.dbname['session_formation'].count_documents({'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
'partner_owner_recid':str(my_partner['recid'])})
if (is_session_id_count != 1):
mycommon.myprint(
str(inspect.stack()[0][3]) + " L'identifiant de la session/classe est invalide valide ")
return False, " L'identifiant de la session/classe est invalide valide "
"""
Verifier que la type_groupe exist et est valide
"""
if ("type_groupe_code" in diction.keys()):
is_type_groupe_code_count = MYSY_GV.dbname['groupe_inscription_type'].count_documents(
{'code': str(diction['type_groupe_code']),
'valide': '1',
'partner_owner_recid':'default'})
if (is_type_groupe_code_count != 1):
mycommon.myprint(
str(inspect.stack()[0][3]) + " Le type de groupe est invalide valide ")
return False, " Le type de groupe est invalide valide "
local_id = str(diction['_id'])
del diction['token']
del diction['_id']
new_data['date_update'] = str(datetime.now())
new_data['update_by'] = str(my_partner['_id'])
data_cle = {}
data_cle['partner_owner_recid'] = str(my_partner['recid'])
data_cle['_id'] = ObjectId(local_id)
data_cle['valide'] = "1"
data_cle['locked'] = "0"
result = MYSY_GV.dbname['groupe_inscription'].find_one_and_update(
data_cle,
{"$set": new_data},
upsert=False,
return_document=ReturnDocument.AFTER
)
if ("_id" not in result.keys()):
mycommon.myprint(
" Impossible de mettre à jour le groupe (2) ")
return False, " Impossible de mettre à jour le groupe (2) "
return True, " Le groupe a été correctement mis à jour"
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - Line : " + str(exc_tb.tb_lineno))
return False, " Impossible de mettre à jour le groupe "
"""
Suppression d'un groupe
regles :
Si la condition (_id) n'est pas utilisé dans les collection
- groupe_inscription_membre (la liste des personnes apprenant a ce groupe. on utilise l'inscription_id)
"""
def Delete_Groupe_Inscrit(diction):
try:
diction = mycommon.strip_dictionary(diction)
"""
Verification des input acceptés
"""
field_list = ['token', '_id',]
incom_keys = diction.keys()
for val in incom_keys:
if val not in field_list and val.startswith('my_') is False:
mycommon.myprint(str(
inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé")
return False, " Les informations fournies sont incorrectes"
"""
Verification des champs obligatoires
"""
field_list_obligatoire = ['token', '_id',]
for val in field_list_obligatoire:
if val not in diction:
mycommon.myprint(
str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans liste ")
return False, " Les informations fournies sont incorrectes"
"""
Verification de l'identité et autorisation de l'entité qui
appelle cette API
"""
token = ""
if ("token" in diction.keys()):
if diction['token']:
token = diction['token']
local_status, my_partner = mycommon.Check_Connexion_And_Return_Partner_Data(diction)
if (local_status is not True):
return local_status, my_partner
# Verifier que la codition de paiement existe
is_existe_groupe = MYSY_GV.dbname['groupe_inscription'].count_documents(
{'_id': ObjectId(str(diction['_id'])),
'valide': '1',
'partner_owner_recid': str(my_partner['recid'])})
if (is_existe_groupe != 1):
mycommon.myprint(
str(inspect.stack()[0][3]) + " L'identifiant du groupe est invalide ")
return False, " L'identifiant du groupe est invalide "
"""
Verifier que le groupe n'est pas utilisé dans la collection 'groupe_inscription_membre'
"""
is_groupe_has_members = MYSY_GV.dbname['groupe_inscription_membre'].count_documents({'partner_owner_recid':my_partner['recid'],
'valide':'1',
'groupe_inscription_id':str(diction['_id'])})
if( is_groupe_has_members > 0 ):
mycommon.myprint(
str(inspect.stack()[0][3]) + " Ce groupe a "+str(is_groupe_has_members)+" membres ")
return False, " Ce groupe a "+str(is_groupe_has_members)+" membres "
delete = MYSY_GV.dbname['groupe_inscription'].delete_one({'_id': ObjectId(str(diction['_id'])),
'partner_owner_recid': str(my_partner['recid']),
}, )
return True, " Le groupe a été correctement supprimé"
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - Line : " + str(exc_tb.tb_lineno))
return False, " Impossible de supprimer le groupe "
"""
Recuperer la liste des groupe d'un partenaire avec des filtre sur :
- la session_id
- la class_id
- le type_groupe_code
"""
def Get_List_Groupe_Inscrit_With_Filter(diction):
try:
diction = mycommon.strip_dictionary(diction)
"""
Verification des input acceptés
"""
field_list = ['token', 'code', 'nom', 'type_groupe_code', 'class_external_code',
'code_session', ]
incom_keys = diction.keys()
for val in incom_keys:
if val not in field_list and val.startswith('my_') is False:
mycommon.myprint(str(
inspect.stack()[0][3]) + " Le champ '" + val + "' n'existe pas")
return False, " Les informations fournies sont incorrectes",
"""
Verification des champs obligatoires
"""
field_list_obligatoire = ['token', ]
for val in field_list_obligatoire:
if val not in diction:
mycommon.myprint(
str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans liste ")
return False, " Les informations fournies sont incorrectes",
"""
Verification de l'identité et autorisation de l'entité qui
appelle cette API
"""
token = ""
if ("token" in diction.keys()):
if diction['token']:
token = diction['token']
local_status, my_partner = mycommon.Check_Connexion_And_Return_Partner_Data(diction)
if (local_status is not True):
return local_status, my_partner
filt_nom = {}
if ("nom" in diction.keys()):
filt_nom = {'nom': {'$regex': str(diction['nom']), "$options": "i"}}
filt_code = {}
if ("code" in diction.keys()):
filt_ref_interne = {
'code': {'$regex': str(diction['code']), "$options": "i"}}
filt_session_id = {}
list_session_id = []
if ("code_session" in diction.keys()):
filt_code_session = {'code_session': {'$regex': str(diction['code_session']), "$options": "i"}}
qry_list_session_id = {"$and": [{'code_session': {'$regex': str(diction['code_session']), "$options": "i"}},
{'partner_owner_recid': str(my_partner['recid'])}]}
# print(" ### qry_list_session_id aa = ", qry_list_session_id)
list_session_id_count = MYSY_GV.dbname['session_formation'].count_documents(qry_list_session_id)
if (list_session_id_count <= 0):
# Aucune session
return True, []
for val in MYSY_GV.dbname['session_formation'].find(qry_list_session_id):
list_session_id.append(str(val['_id']))
# print(" ### liste des Id des sessions eligible list_session_id = ", list_session_id)
filt_session_id = {'session_id': {'$in': list_session_id, }}
filt_class_id = {}
list_class_id = []
if ("class_external_code" in diction.keys()):
filt_class_title = {'external_code': {'$regex': str(diction['class_external_code']), "$options": "i"}}
qry_list_class_id = {
"$and": [{'external_code': {'$regex': str(diction['class_external_code']), "$options": "i"}},
{'partner_owner_recid': str(my_partner['recid'])}]}
print(" ### qry_list_class_id aa = ", qry_list_class_id)
list_class_id_count = MYSY_GV.dbname['myclass'].count_documents(qry_list_class_id)
if (list_class_id_count <= 0):
# Aucune session
return True, []
for val in MYSY_GV.dbname['myclass'].find(qry_list_class_id):
list_class_id.append(str(val['_id']))
# print(" ### liste des Id des sessions eligible list_session_id = ", list_session_id)
filt_class_id = {'class_id': {'$in': list_class_id, }}
RetObject = []
val_tmp = 0
find_qry = {'$and': [{'partner_owner_recid': str(my_partner['recid']), 'valide': '1', 'locked': '0'}, filt_class_id,
filt_session_id, filt_code, filt_nom]}
for retval in MYSY_GV.dbname['groupe_inscription'].find(find_qry).sort([("_id", pymongo.DESCENDING), ]):
user = retval
user['id'] = str(val_tmp)
if ("class_id" not in retval.keys()):
user['class_title'] = ""
user['class_internal_url'] = ""
else:
my_class_data = MYSY_GV.dbname['myclass'].find_one({"_id":ObjectId(str(retval['class_id'])),
'valide':'1',
'locked':'0'})
if( my_class_data and "title" in my_class_data.keys() ):
user['class_title'] = my_class_data['title']
if (my_class_data and "internal_url" in my_class_data.keys()):
user['class_internal_url'] = my_class_data['internal_url']
if ("session_id" not in retval.keys()):
user['session_code_session'] = ""
else:
my_session_formation_data = MYSY_GV.dbname['session_formation'].find_one({"_id": ObjectId(str(retval['session_id'])),
'valide': '1',})
if (my_session_formation_data and "code_session" in my_session_formation_data.keys()):
user['session_code_session'] = my_class_data['code_session']
val_tmp = val_tmp + 1
RetObject.append(mycommon.JSONEncoder().encode(user))
return True, RetObject
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - Line : " + str(exc_tb.tb_lineno))
return False, " Impossible de récupérer la liste des metiers de formation "
"""
Recuperer les données d'un groupe donné
"""
def Get_Given_Groupe_Inscrit_Data(diction):
try:
diction = mycommon.strip_dictionary(diction)
"""
Verification des input acceptés
"""
field_list = ['token', '_id']
incom_keys = diction.keys()
for val in incom_keys:
if val not in field_list and val.startswith('my_') is False:
mycommon.myprint(str(
inspect.stack()[0][3]) + " Le champ '" + val + "' n'existe pas")
return False, " Les informations fournies sont incorrectes",
"""
Verification des champs obligatoires
"""
field_list_obligatoire = ['token', '_id' ]
for val in field_list_obligatoire:
if val not in diction:
mycommon.myprint(
str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans liste ")
return False, " Les informations fournies sont incorrectes",
"""
Verification de l'identité et autorisation de l'entité qui
appelle cette API
"""
token = ""
if ("token" in diction.keys()):
if diction['token']:
token = diction['token']
local_status, my_partner = mycommon.Check_Connexion_And_Return_Partner_Data(diction)
if (local_status is not True):
return local_status, my_partner
"""
Clés de mise à jour
"""
data_cle = {}
data_cle['partner_owner_recid'] = str(my_partner['recid'])
data_cle['valide'] = "1"
data_cle['locked'] = "0"
data_cle['_id'] = ObjectId(str(diction['_id']))
RetObject = []
val_tmp = 0
for retval in MYSY_GV.dbname['groupe_inscription'].find(data_cle):
user = retval
user['id'] = str(val_tmp)
val_tmp = val_tmp + 1
RetObject.append(mycommon.JSONEncoder().encode(user))
return True, RetObject
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - Line : " + str(exc_tb.tb_lineno))
return False, " Impossible de récupérer les données du groupe "
"""
Recuperer la liste des membres d'un groupe
"""
def Get_Given_Groupe_Inscrit_With_Membres(diction):
try:
diction = mycommon.strip_dictionary(diction)
"""
Verification des input acceptés
"""
field_list = ['token', '_id']
incom_keys = diction.keys()
for val in incom_keys:
if val not in field_list and val.startswith('my_') is False:
mycommon.myprint(str(
inspect.stack()[0][3]) + " Le champ '" + val + "' n'existe pas")
return False, " Les informations fournies sont incorrectes",
"""
Verification des champs obligatoires
"""
field_list_obligatoire = ['token', '_id' ]
for val in field_list_obligatoire:
if val not in diction:
mycommon.myprint(
str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans liste ")
return False, " Les informations fournies sont incorrectes",
"""
Verification de l'identité et autorisation de l'entité qui
appelle cette API
"""
token = ""
if ("token" in diction.keys()):
if diction['token']:
token = diction['token']
local_status, my_partner = mycommon.Check_Connexion_And_Return_Partner_Data(diction)
if (local_status is not True):
return local_status, my_partner
"""
Clés de mise à jour
"""
data_cle = {}
data_cle['partner_owner_recid'] = str(my_partner['recid'])
data_cle['valide'] = "1"
data_cle['locked'] = "0"
data_cle['_id'] = ObjectId(str(diction['_id']))
RetObject = []
val_tmp = 0
for retval in MYSY_GV.dbname['groupe_inscription'].find(data_cle):
user = retval
user['id'] = str(val_tmp)
val_tmp = val_tmp + 1
user['membres'] = MYSY_GV.dbname['groupe_inscription_membre'].find({'groupe_inscription_id':str(retval['_id']),
'valide':'1',
'locked':'0',
'partner_owner_recid':str(my_partner['recid'])})
RetObject.append(mycommon.JSONEncoder().encode(user))
return True, RetObject
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - Line : " + str(exc_tb.tb_lineno))
return False, " Impossible de récupérer les données du groupe "
"""
Cette fonction permet d'inscrire des 'inscrit_id' a un groupe
"""
def Add_Update_Groupe_Inscrit(diction):
try:
diction = mycommon.strip_dictionary(diction)
"""
Verification des input acceptés
"""
field_list = ['token', '_id', 'tab_inscriptions_ids']
incom_keys = diction.keys()
for val in incom_keys:
if val not in field_list and val.startswith('my_') is False:
mycommon.myprint(str(
inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé")
return False, " Les informations fournies sont incorrectes"
"""
Verification des champs obligatoires
"""
field_list_obligatoire = ['token', '_id',]
for val in field_list_obligatoire:
if val not in diction:
mycommon.myprint(
str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans liste ")
return False, " Les informations fournies sont incorrectes"
"""
Verification de l'identité et autorisation de l'entité qui
appelle cette API
"""
token = ""
if ("token" in diction.keys()):
if diction['token']:
token = diction['token']
local_status, my_partner = mycommon.Check_Connexion_And_Return_Partner_Data(diction)
if (local_status is not True):
return local_status, my_partner
new_data = diction
# Verifier que le groupe existe et est valide
is_existe_groupe = MYSY_GV.dbname['groupe_inscription'].count_documents(
{'_id': ObjectId(str(diction['_id'])),
'valide': '1',
'partner_owner_recid': str(my_partner['recid'])})
if (is_existe_groupe != 0):
mycommon.myprint(
str(inspect.stack()[0][3]) + " L'identifiant du groupe est invalide ")
return False, " L'identifiant du groupe est invalide "
tab_inscriptions_ids = ""
if ("tab_inscriptions_ids" in diction.keys()):
if diction['tab_inscriptions_ids']:
tab_inscriptions_ids = diction['tab_inscriptions_ids']
tab_inscriptions_ids_splited = str(tab_inscriptions_ids).split(",")
# Controle de validité des inscriptions
for my_inscription in tab_inscriptions_ids_splited:
# Verifier que l'inscription est valide
my_inscription_is_valide = MYSY_GV.dbname['inscription'].count_documents(
{'_id': ObjectId(str(my_inscription)), 'status': '1',
'partner_owner_recid': str(my_partner['recid'])})
if (my_inscription_is_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][3]) + " L'inscription_id '" + my_inscription + "' est invalide ")
return False, " L'inscription_id '" + my_inscription + "' est invalide "
cpt = 0
for my_inscription in tab_inscriptions_ids_splited:
new_data = {}
new_data['groupe_inscription_id'] = str(diction['_id'])
new_data['inscription_id'] = str(my_inscription['_id'])
now = str(datetime.now())
new_data['date_update'] = now
new_data['valide'] = "1"
new_data['locked'] = "0"
new_data['partner_owner_recid'] = str(my_partner['recid'])
new_data['update_by'] = str(my_partner['_id'])
data_cle = {}
data_cle['partner_owner_recid'] = str(my_partner['recid'])
data_cle['groupe_inscription_id'] = str(diction['_id'])
data_cle['inscription_id'] = str(my_inscription['_id'])
data_cle['valide'] = "1"
data_cle['locked'] = "0"
result = MYSY_GV.dbname['groupe_inscription_membre'].find_one_and_update(
data_cle,
{"$set": new_data},
upsert=True,
return_document=ReturnDocument.AFTER
)
if (result is None or "_id" not in result.keys()):
mycommon.myprint(
" Impossible d'inscrire les personnes au groupe (2) ")
return False, " Impossible d'inscrire les personnes au groupe (2) "
cpt = cpt + 1
return True, str(cpt)+ " Membre(s) inscrit(s)"
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - Line : " + str(exc_tb.tb_lineno))
return False, " Impossible d'inscrire les personnes au groupe "
"""
Cette fonction permet de supprimer des inscrits à un groupe
"""
def Delete_Groupe_Inscrit(diction):
try:
diction = mycommon.strip_dictionary(diction)
"""
Verification des input acceptés
"""
field_list = ['token', '_id', 'tab_inscriptions_ids']
incom_keys = diction.keys()
for val in incom_keys:
if val not in field_list and val.startswith('my_') is False:
mycommon.myprint(str(
inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé")
return False, " Les informations fournies sont incorrectes"
"""
Verification des champs obligatoires
"""
field_list_obligatoire = ['token', '_id', ]
for val in field_list_obligatoire:
if val not in diction:
mycommon.myprint(
str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans liste ")
return False, " Les informations fournies sont incorrectes"
"""
Verification de l'identité et autorisation de l'entité qui
appelle cette API
"""
token = ""
if ("token" in diction.keys()):
if diction['token']:
token = diction['token']
local_status, my_partner = mycommon.Check_Connexion_And_Return_Partner_Data(diction)
if (local_status is not True):
return local_status, my_partner
new_data = diction
# Verifier que le groupe existe et est valide
is_existe_groupe = MYSY_GV.dbname['groupe_inscription'].count_documents(
{'_id': ObjectId(str(diction['_id'])),
'valide': '1',
'partner_owner_recid': str(my_partner['recid'])})
if (is_existe_groupe != 0):
mycommon.myprint(
str(inspect.stack()[0][3]) + " L'identifiant du groupe est invalide ")
return False, " L'identifiant du groupe est invalide "
tab_inscriptions_ids = ""
if ("tab_inscriptions_ids" in diction.keys()):
if diction['tab_inscriptions_ids']:
tab_inscriptions_ids = diction['tab_inscriptions_ids']
tab_inscriptions_ids_splited = str(tab_inscriptions_ids).split(",")
qery_delete = {'inscription_id': {'$in': tab_inscriptions_ids_splited},
'groupe_inscription_id':str(diction['_id']),
'partner_owner_recid': str(my_partner['recid']),
'locked': '0'}
delete = MYSY_GV.dbname['groupe_inscription_membre'].delete_many(qery_delete )
return True, str(delete.deleted_count) + " Membre(s) désinscrit(s)"
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - Line : " + str(exc_tb.tb_lineno))
return False, " Impossible désinscrire les personnes au groupe "

115
main.py
View File

@ -89,6 +89,7 @@ import invoice_paiement_mgt as invoice_paiement_mgt
import Job_Cron as Job_Cron
import notes_apprenant_mgt as notes_apprenant_mgt
import note_evaluation_mgt as note_evaluation_mgt
import groupe_inscrit_mgt as groupe_inscrit_mgt
app = Flask(__name__)
@ -9685,6 +9686,120 @@ def Is_Ressource_Available():
return jsonify(status=status, message=retval, avability_check=avability_check)
"""
API pour créer un groupe d'inscrit (ex : groupe de td, de tp, de projet, d'examen, etc)
"""
@app.route('/myclass/api/Add_Groupe_Inscrit/', methods=['POST','GET'])
@crossdomain(origin='*')
def Add_Groupe_Inscrit():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Add_Groupe_Inscrit payload = ",payload)
status, retval, avability_check = mycommon.Add_Groupe_Inscrit(payload)
return jsonify(status=status, message=retval, avability_check=avability_check)
"""
API pour mettre à jour un groupe d'inscrit (ex : groupe de td, de tp, de projet, d'examen, etc)
"""
@app.route('/myclass/api/Update_Groupe_Inscrit/', methods=['POST','GET'])
@crossdomain(origin='*')
def Update_Groupe_Inscrit():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Update_Groupe_Inscrit payload = ",payload)
status, retval, avability_check = mycommon.Update_Groupe_Inscrit(payload)
return jsonify(status=status, message=retval, avability_check=avability_check)
"""
API pour supprimer un groupe d'inscrit (ex : groupe de td, de tp, de projet, d'examen, etc)
"""
@app.route('/myclass/api/Delete_Groupe_Inscrit/', methods=['POST','GET'])
@crossdomain(origin='*')
def Delete_Groupe_Inscrit():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Delete_Groupe_Inscrit payload = ",payload)
status, retval, avability_check = mycommon.Delete_Groupe_Inscrit(payload)
return jsonify(status=status, message=retval, avability_check=avability_check)
"""
API pour Recuperer la liste des groupe d'un partenaire avec des filtre sur :
- la session_id
- la class_id
- le type_groupe_code
"""
@app.route('/myclass/api/Get_List_Groupe_Inscrit_With_Filter/', methods=['POST','GET'])
@crossdomain(origin='*')
def Get_List_Groupe_Inscrit_With_Filter():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Get_List_Groupe_Inscrit_With_Filter payload = ",payload)
status, retval, avability_check = mycommon.Get_List_Groupe_Inscrit_With_Filter(payload)
return jsonify(status=status, message=retval, avability_check=avability_check)
"""
API pour Recuperer les données d'un groupe donné
"""
@app.route('/myclass/api/Get_Given_Groupe_Inscrit_Data/', methods=['POST','GET'])
@crossdomain(origin='*')
def Get_Given_Groupe_Inscrit_Data():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Get_Given_Groupe_Inscrit_Data payload = ",payload)
status, retval, avability_check = mycommon.Get_Given_Groupe_Inscrit_Data(payload)
return jsonify(status=status, message=retval, avability_check=avability_check)
"""
API pour Recuperer la liste des membres d'un groupe
"""
@app.route('/myclass/api/Get_Given_Groupe_Inscrit_With_Membres/', methods=['POST','GET'])
@crossdomain(origin='*')
def Get_Given_Groupe_Inscrit_With_Membres():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Get_Given_Groupe_Inscrit_With_Membres payload = ",payload)
status, retval, avability_check = mycommon.Get_Given_Groupe_Inscrit_With_Membres(payload)
return jsonify(status=status, message=retval, avability_check=avability_check)
"""
API pour permettre d'inscrire des 'inscrit_id' a un groupe
"""
@app.route('/myclass/api/Add_Update_Groupe_Inscrit/', methods=['POST','GET'])
@crossdomain(origin='*')
def Add_Update_Groupe_Inscrit():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Add_Update_Groupe_Inscrit payload = ",payload)
status, retval, avability_check = mycommon.Add_Update_Groupe_Inscrit(payload)
return jsonify(status=status, message=retval, avability_check=avability_check)
"""
API pour permettre de supprimer des inscrits à un groupe
"""
@app.route('/myclass/api/Delete_Groupe_Inscrit/', methods=['POST','GET'])
@crossdomain(origin='*')
def Delete_Groupe_Inscrit():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Delete_Groupe_Inscrit payload = ",payload)
status, retval, avability_check = mycommon.Delete_Groupe_Inscrit(payload)
return jsonify(status=status, message=retval, avability_check=avability_check)
if __name__ == '__main__':

View File

@ -140,7 +140,7 @@ def Add_class_metier(diction):
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - Line : " + str(exc_tb.tb_lineno))
return False, " IImpossible de créer le métier de formation "
return False, " Impossible de créer le métier de formation "
"""
@ -224,7 +224,7 @@ def Update_class_metier(diction):
return_document=ReturnDocument.AFTER
)
if ("_id" not in result.keys()):
if (result is None or "_id" not in result.keys()):
mycommon.myprint(
" Impossible de mettre à jour le métier de formation (2) ")
return False, " Impossible de mettre à jour le métier de formation (2) "
@ -319,7 +319,7 @@ def Delete_class_metier(diction):
return True, " Le métier de formation a été correctement supprimée"
return True, " Le métier de formation a été correctement supprimé"
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()

View File

@ -541,9 +541,6 @@ def Get_List_Evaluation_Planification_With_Filter(diction):
if ("code_session" in diction.keys()):
filt_code_session = {'code_session': {'$regex': str(diction['code_session']), "$options": "i"}}
"""qry_list_session_id = { { '$and' :[ {'code_session': {'$regex': str(diction['code_session']), "$options": "i"}},
{'partner_owner_recid': str(partner_recid)} ]}, {'_id':1}}
"""
qry_list_session_id = {"$and": [{'code_session': {'$regex': str(diction['code_session']), "$options": "i"}},
{'partner_owner_recid': str(my_partner['recid'])}]}