diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 28706c3..0a9d372 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -1,15 +1,13 @@
-
-
+
-
-
+
+
-
@@ -73,13 +71,6 @@
1680804787304
-
- 1689190734585
-
-
-
- 1689190734585
-
1689534101885
@@ -416,7 +407,14 @@
1693586455361
-
+
+ 1693853116601
+
+
+
+ 1693853116601
+
+
@@ -431,7 +429,6 @@
-
@@ -456,6 +453,7 @@
-
+
+
\ No newline at end of file
diff --git a/Log/log_file.log b/Log/log_file.log
index 7a12a75..9c454d0 100644
--- a/Log/log_file.log
+++ b/Log/log_file.log
@@ -1789994,3 +1789994,825 @@ INFO:root:2023-09-04 13:40:13.029171 : Security check : IP adresse '127.0.0.1'
INFO:werkzeug:127.0.0.1 - - [04/Sep/2023 13:40:13] "POST /myclass/api/Get_Personnalisable_Collection/ HTTP/1.1" 200 -
INFO:root:2023-09-04 13:40:21.872224 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [04/Sep/2023 13:40:21] "POST /myclass/api/Get_Personnalisable_Collection/ HTTP/1.1" 200 -
+INFO:root:2023-09-05 11:19:50.530117 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 11:19:50.531144 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 11:19:50.531144 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 11:19:50.531144 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 11:19:50.532147 : ++ LMS_BAS_URL mysy-training.com/ ++
+INFO:werkzeug:[31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
+ * Running on http://localhost:5001
+INFO:werkzeug:[33mPress CTRL+C to quit[0m
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 11:19:59.914853 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 11:19:59.914853 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 11:19:59.914853 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 11:19:59.914853 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 11:19:59.914853 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 11:36:40.894312 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 11:36:40] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 11:36:40.901926 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 11:36:40] "[35m[1mPOST /myclass/api/Add_Partner_Order/ HTTP/1.1[0m" 500 -
+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:2023-09-05 11:37:46.207842 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 11:37:46.207842 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 11:37:46.207842 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 11:37:46.207842 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 11:37:46.207842 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 11:37:50.446345 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 11:37:50] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 11:37:50.453197 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 11:37:50.965200 : Add_Partner_Order - La valeur 'token' n'est pas presente dans liste
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 11:37:50] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:root:2023-09-05 11:38:41.536614 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 11:38:41] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 11:38:41.542997 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 11:38:41.546551 : Add_Partner_Order - La valeur 'order_header_client' n'est pas presente dans liste
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 11:38:41] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:root:2023-09-05 11:39:36.807073 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 11:39:36] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 11:39:36.815601 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 11:39:36.819134 : Add_Partner_Order Le champ 'order_header_adr_liv_pays' n'est pas autorisé
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 11:39:36] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 11:41:55.721784 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 11:41:55.721784 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 11:41:55.721784 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 11:41:55.721784 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 11:41:55.721784 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 11:41:59.658850 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 11:41:59] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 11:41:59.664941 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 11:42:00.178880 : Add_Partner_Order - La valeur 'order_header_client' n'est pas presente dans liste
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 11:42:00] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 11:42:35.276637 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 11:42:35.276637 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 11:42:35.277669 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 11:42:35.277669 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 11:42:35.277669 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 11:42:35.312974 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 11:42:35] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 11:42:35.320946 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 11:42:35.855740 : Add_Partner_Order -time data '' does not match format '%d/%m/%Y' - Line : 210
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 11:42:35] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 11:43:25.211438 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 11:43:25.211438 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 11:43:25.211438 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 11:43:25.211438 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 11:43:25.211438 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 11:43:32.652815 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 11:43:32] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 11:43:32.662058 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 11:43:33.164913 : Add_Partner_Order -'str' object has no attribute 'keys' - Line : 334
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 11:43:33] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 11:44:30.509055 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 11:44:30.509055 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 11:44:30.509055 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 11:44:30.509055 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 11:44:30.509055 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 11:44:40.525024 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 11:44:40] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 11:44:40.532449 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 11:44:41.033656 : Add_Partner_Order -'str' object has no attribute 'keys' - Line : 335
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 11:44:41] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:01:31.047320 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:01:31.047320 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:01:31.048326 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:01:31.048326 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:01:31.048326 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:01:41.590289 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:01:41] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:01:41.598992 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 12:01:42.158686 : Add_Partner_Order -Expecting property name enclosed in double quotes: line 1 column 3 (char 2) - Line : 326
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:01:42] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:02:22.354599 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:02:22.354599 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:02:22.354599 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:02:22.354599 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:02:22.354599 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:02:30.763275 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:02:30] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:02:30.769821 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 12:02:31.254696 : Add_Partner_Order -Expecting property name enclosed in double quotes: line 1 column 3 (char 2) - Line : 328
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:02:31] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:03:07.039136 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:03:07.040136 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:03:07.040136 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:03:07.040136 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:03:07.040136 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:03:10.260076 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:03:10] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:03:10.268075 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 12:03:10.876458 : Add_Partner_Order -Expecting property name enclosed in double quotes: line 1 column 3 (char 2) - Line : 328
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:03:10] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:root:2023-09-05 12:04:46.602672 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:04:46] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:04:46.610381 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 12:04:46.626704 : Add_Partner_Order -'str' object does not support item assignment - Line : 407
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:04:46] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:06:45.284560 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:06:45.285550 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:06:45.285550 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:06:45.285550 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:06:45.285550 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:06:52.305685 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:06:52] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:06:52.314513 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 12:06:52.934123 : Add_Partner_Order -'str' object does not support item assignment - Line : 409
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:06:52] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:07:53.735997 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:07:53.735997 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:07:53.735997 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:07:53.735997 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:07:53.735997 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:07:53.775487 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:07:53] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:07:53.781267 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 12:07:54.505524 : Add_Partner_Order -'str' object does not support item assignment - Line : 407
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:07:54] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:08:39.061842 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:08:39.061842 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:08:39.061842 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:08:39.061842 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:08:39.061842 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:08:39.097506 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:08:39] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:08:39.103893 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 12:08:39.606333 : Add_Partner_Order -'str' object does not support item assignment - Line : 408
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:08:39] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:09:16.050982 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:09:16.050982 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:09:16.050982 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:09:16.050982 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:09:16.050982 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:09:16.088740 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:09:16] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:09:16.095813 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 12:09:16.601514 : Add_Partner_Order -'str' object does not support item assignment - Line : 408
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:09:16] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:11:11.251412 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:11:11.251412 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:11:11.251412 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:11:11.251412 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:11:11.251412 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:11:11.561354 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:11:11] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:11:11.568890 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 12:11:12.071222 : Add_Partner_Order -'str' object does not support item assignment - Line : 409
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:11:12] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:11:32.414938 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:11:32.414938 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:11:32.414938 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:11:32.414938 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:11:32.414938 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:11:32.558552 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:11:32] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:11:32.631644 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 12:11:33.336696 : Add_Partner_Order -'str' object does not support item assignment - Line : 409
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:11:33] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:13:15.709923 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:13:15.709923 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:13:15.710926 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:13:15.710926 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:13:15.710926 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:13:26.221634 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:13:26.222637 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:13:26.222637 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:13:26.222637 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:13:26.222637 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:15:01.075245 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:15:01.075245 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:15:01.076240 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:15:01.076240 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:15:01.076240 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:15:04.684662 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:15:04] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:15:04.690253 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:15:04] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:root:2023-09-05 12:17:37.004379 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:17:37] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:17:37.009900 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:17:37] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:root:2023-09-05 12:18:57.054883 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:18:57] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:18:57.062089 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 12:18:57.562760 : Add_Partner_Order -'64c2cdc469d5628338fbd24fpm' is not a valid ObjectId, it must be a 12-byte input or a 24-character hex string - Line : 95
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:18:57] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\prj_common.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:21:12.458096 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:21:12.458096 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:21:12.459091 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:21:12.459091 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:21:12.459091 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\prj_common.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:21:36.766727 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:21:36.766727 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:21:36.766727 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:21:36.766727 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:21:36.766727 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\prj_common.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:22:04.027231 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:22:04.027231 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:22:04.027231 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:22:04.027231 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:22:04.027748 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:23:01.051454 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:23:01.051454 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:23:01.052450 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:23:01.052450 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:23:01.052450 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:23:04.214542 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:23:04] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:23:04.221833 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 12:23:04.757590 : Add_Partner_Order -'64c2cdc469d5628338fbd24fpm' is not a valid ObjectId, it must be a 12-byte input or a 24-character hex string - Line : 94
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:23:04] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\prj_common.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:24:22.642009 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:24:22.642009 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:24:22.642009 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:24:22.642009 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:24:22.643009 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:24:35.923847 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:24:35] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:24:35.930170 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 12:24:36.455541 : Add_Partner_Order -'64c2cdc469d5628338fbd24fpm' is not a valid ObjectId, it must be a 12-byte input or a 24-character hex string - Line : 94
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:24:36] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:25:43.081768 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:25:43.081768 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:25:43.081768 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:25:43.081768 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:25:43.081768 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:25:43.570110 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:25:43] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:25:43.576308 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 12:25:44.064558 : Add_Partner_Order -'64c2cdc469d5628338fbd24fpm' is not a valid ObjectId, it must be a 12-byte input or a 24-character hex string - Line : 94
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:25:44] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:26:28.860260 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:26:28.861260 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:26:28.861260 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:26:28.861260 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:26:28.861260 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:26:50.588910 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:26:50] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:26:50.596220 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 12:26:51.175796 : Add_Partner_Order -'64c2cdc469d5628338fbd24fpm' is not a valid ObjectId, it must be a 12-byte input or a 24-character hex string - Line : 94
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:26:51] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:27:58.111882 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:27:58.111882 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:27:58.111882 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:27:58.112917 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:27:58.112917 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:27:58.152363 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:27:58] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:27:58.160344 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 12:27:58.702584 : Add_Partner_Order -BSON data must be an instance of a subclass of bytes - Line : 95
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:27:58] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:29:05.578756 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:29:05.578756 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:29:05.578756 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:29:05.578756 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:29:05.578756 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:29:05.615073 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:29:05] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:29:05.621053 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 12:29:06.117511 : Add_Partner_Order -BSON data must be an instance of a subclass of bytes - Line : 95
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:29:06] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:29:46.621031 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:29:46.621031 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:29:46.621031 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:29:46.621031 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:29:46.621031 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:29:52.061728 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:29:52] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:29:52.067710 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:29:52] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:31:05.866404 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:31:05.866404 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:31:05.866404 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:31:05.866404 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:31:05.866404 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:32:04.784174 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:32:04.784174 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:32:04.784174 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:32:04.785174 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:32:04.785174 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:33:19.387930 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:33:19.387930 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:33:19.387930 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:33:19.387930 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:33:19.387930 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:35:33.625595 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:35:33.625595 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:35:33.626993 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:35:33.626993 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:35:33.626993 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:36:20.862980 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:36:20] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:36:20.870967 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:36:20] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:37:10.901944 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:37:10.901944 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:37:10.901944 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:37:10.901944 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:37:10.901944 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:37:10.940057 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:37:10] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:37:10.946168 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 12:37:11.481223 : Add_Partner_Order -'order_header_ref_interne' - Line : 384
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:37:11] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:37:39.658524 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:37:39.659530 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:37:39.659530 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:37:39.659530 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:37:39.659530 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:37:43.013035 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:37:43] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:37:43.018912 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:37:43] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:38:46.336525 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:38:46.336525 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:38:46.337525 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:38:46.337525 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:38:46.337525 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:39:20.483702 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:39:20] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:39:20.492434 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:39:20] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:55:42.659468 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:55:42.659468 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:55:42.659468 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:55:42.660468 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:55:42.660468 : ++ LMS_BAS_URL mysy-training.com/ ++
+INFO:werkzeug:[31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
+ * Running on http://localhost:5001
+INFO:werkzeug:[33mPress CTRL+C to quit[0m
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:55:51.859890 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:55:51.860900 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:55:51.860900 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:55:51.860900 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:55:51.860900 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:56:15.938768 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:56:15.938768 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:56:15.940010 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:56:15.940010 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:56:15.940010 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:56:41.753518 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:56:41] "[32mPOST /myclass/api/Get_List_Partner_Order_no_filter HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:56:41.758520 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:56:41] "POST /myclass/api/Get_List_Partner_Order_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 12:58:51.427227 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 12:58:51.427227 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 12:58:51.427227 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 12:58:51.427227 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 12:58:51.427227 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 12:59:02.647533 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:59:02] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 12:59:02.655793 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 12:59:02] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:00:15.260305 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:00:15.260305 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:00:15.260305 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:00:15.260305 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:00:15.260305 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 13:00:19.619725 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:00:19] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 13:00:19.626729 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:00:19] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:root:2023-09-05 13:00:29.628352 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:00:29] "[32mPOST /myclass/api/Get_List_Partner_Order_no_filter HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 13:00:29.635094 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:00:29] "POST /myclass/api/Get_List_Partner_Order_no_filter/ HTTP/1.1" 200 -
+INFO:root:2023-09-05 13:02:27.425639 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:02:27] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 13:02:27.432865 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:02:27] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:root:2023-09-05 13:03:15.958821 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:03:15] "[32mPOST /myclass/api/Get_List_Partner_Order_no_filter HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 13:03:15.962488 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:03:15] "POST /myclass/api/Get_List_Partner_Order_no_filter/ HTTP/1.1" 200 -
+INFO:root:2023-09-05 13:04:06.746902 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:04:06] "[32mPOST /myclass/api/Get_Given_Partner_Order_From_Internal_ref HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 13:04:06.751905 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:04:06] "POST /myclass/api/Get_Given_Partner_Order_From_Internal_ref/ HTTP/1.1" 200 -
+INFO:root:2023-09-05 13:04:15.857847 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:04:15] "[32mPOST /myclass/api/Get_Given_Partner_Order_From_Internal_ref HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 13:04:15.863148 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:04:15] "POST /myclass/api/Get_Given_Partner_Order_From_Internal_ref/ HTTP/1.1" 200 -
+INFO:root:2023-09-05 13:06:15.677973 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:06:15] "[32mPOST /myclass/api/Add_Partner_Order HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 13:06:15.684881 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:06:15] "POST /myclass/api/Add_Partner_Order/ HTTP/1.1" 200 -
+INFO:root:2023-09-05 13:07:04.819869 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:07:04] "[32mPOST /myclass/api/Get_List_Partner_Order_with_filter HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 13:07:04.826089 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 13:07:05.344132 : Get_List_Partner_Order_with_filter -'rec_id' - Line : 748
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:07:05] "POST /myclass/api/Get_List_Partner_Order_with_filter/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:08:08.096854 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:08:08.096854 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:08:08.096854 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:08:08.096854 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:08:08.096854 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 13:08:11.075928 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:08:11] "[32mPOST /myclass/api/Get_List_Partner_Order_with_filter HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 13:08:11.082942 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 13:08:11.596297 : Get_List_Partner_Order_with_filter -unhashable type: 'dict' - Line : 751
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:08:11] "POST /myclass/api/Get_List_Partner_Order_with_filter/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:08:48.811607 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:08:48.811607 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:08:48.811607 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:08:48.811607 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:08:48.811607 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 13:09:13.832265 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:09:13] "[32mPOST /myclass/api/Get_List_Partner_Order_with_filter HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 13:09:13.837281 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 13:09:14.331677 : Get_List_Partner_Order_with_filter -unhashable type: 'dict' - Line : 751
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:09:14] "POST /myclass/api/Get_List_Partner_Order_with_filter/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:09:50.917880 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:09:50.918985 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:09:50.918985 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:09:50.918985 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:09:50.918985 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 13:09:54.726408 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:09:54] "[32mPOST /myclass/api/Get_List_Partner_Order_with_filter HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 13:09:54.734230 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 13:09:55.235188 : Get_List_Partner_Order_with_filter -cannot encode object: , of type: - Line : 812
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:09:55] "POST /myclass/api/Get_List_Partner_Order_with_filter/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:12:44.703885 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:12:44.703885 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:12:44.703885 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:12:44.703885 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:12:44.703885 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 13:12:59.107351 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:12:59] "[32mPOST /myclass/api/Get_List_Partner_Order_with_filter HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 13:12:59.114499 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:12:59] "POST /myclass/api/Get_List_Partner_Order_with_filter/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:13:37.782338 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:13:37.782338 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:13:37.783338 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:13:37.783338 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:13:37.783338 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 13:14:41.087617 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:14:41] "[32mPOST /myclass/api/Get_List_Partner_Order_with_filter HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 13:14:41.094152 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:14:41] "POST /myclass/api/Get_List_Partner_Order_with_filter/ HTTP/1.1" 200 -
+INFO:root:2023-09-05 13:14:54.119223 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:14:54] "[32mPOST /myclass/api/Get_List_Partner_Order_with_filter HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 13:14:54.125801 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2023-09-05 13:14:54.632235 : CheckisDate -time data '05/059/202' does not match format '%d/%m/%Y' - ERRORRRR AT Line : 654
+INFO:root:2023-09-05 13:14:54.634229 : Get_List_Partner_Order_with_filter La date de fin (filtre) n'est pas au format 'jj/mm/aaaa'
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:14:54] "POST /myclass/api/Get_List_Partner_Order_with_filter/ HTTP/1.1" 200 -
+INFO:root:2023-09-05 13:15:07.857780 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:15:07] "[32mPOST /myclass/api/Get_List_Partner_Order_with_filter HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 13:15:07.864923 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:15:07] "POST /myclass/api/Get_List_Partner_Order_with_filter/ HTTP/1.1" 200 -
+INFO:root:2023-09-05 13:15:18.517883 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:15:18] "[32mPOST /myclass/api/Get_List_Partner_Order_with_filter HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 13:15:18.525226 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:15:18] "POST /myclass/api/Get_List_Partner_Order_with_filter/ HTTP/1.1" 200 -
+INFO:root:2023-09-05 13:15:29.592053 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:15:29] "[32mPOST /myclass/api/Get_List_Partner_Order_with_filter HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 13:15:29.598580 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 13:15:29] "POST /myclass/api/Get_List_Partner_Order_with_filter/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:22:20.777442 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:22:20.777442 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:22:20.777442 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:22:20.777442 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:22:20.777442 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:22:44.542612 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:22:44.542612 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:22:44.542612 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:22:44.542612 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:22:44.542612 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:29:37.522760 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:29:37.522760 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:29:37.522760 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:29:37.523765 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:29:37.523765 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:38:29.256889 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:38:29.256889 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:38:29.256889 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:38:29.256889 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:38:29.256889 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:38:52.297194 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:38:52.297194 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:38:52.297194 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:38:52.297194 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:38:52.297194 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:39:29.323888 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:39:29.323888 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:39:29.323888 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:39:29.323888 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:39:29.323888 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:39:57.962369 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:39:57.962369 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:39:57.962369 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:39:57.962369 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:39:57.962369 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:48:46.934181 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:48:46.934181 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:48:46.934181 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:48:46.934181 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:48:46.934181 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:50:02.534625 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:50:02.534625 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:50:02.534625 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:50:02.535628 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:50:02.535628 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:50:17.087840 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:50:17.087840 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:50:17.087840 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:50:17.087840 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:50:17.087840 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:50:38.708117 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:50:38.708117 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:50:38.708117 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:50:38.708117 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:50:38.708117 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:50:51.972129 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:50:51.972129 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:50:51.972129 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:50:51.972129 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:50:51.972129 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:51:19.668926 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:51:19.668926 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:51:19.668926 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:51:19.669918 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:51:19.669918 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:51:43.919754 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:51:43.919754 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:51:43.919754 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:51:43.919754 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:51:43.919754 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:52:30.647189 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:52:30.647189 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:52:30.647189 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:52:30.647189 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:52:30.648198 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:54:01.348068 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:54:01.348068 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:54:01.348068 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:54:01.348068 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:54:01.348068 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 13:54:52.545919 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 13:54:52.546925 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 13:54:52.546925 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 13:54:52.546925 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 13:54:52.546925 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:werkzeug: * Detected change in 'C:\\Users\\billa\\Documents\\myclass.com\\Siteweb\\Production\\Ela_back\\Back_Office\\partner_order.py', reloading
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 14:29:24.450518 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 14:29:24.450518 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 14:29:24.450518 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 14:29:24.450518 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 14:29:24.450518 : ++ LMS_BAS_URL mysy-training.com/ ++
+INFO:werkzeug:[31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
+ * Running on http://localhost:5001
+INFO:werkzeug:[33mPress CTRL+C to quit[0m
+INFO:werkzeug: * Restarting with stat
+INFO:root:2023-09-05 14:29:32.957736 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2023-09-05 14:29:32.957736 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev ++
+INFO:root:2023-09-05 14:29:32.957736 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev') ++
+INFO:root:2023-09-05 14:29:32.958740 : ++ FLASK PORT 5001 ++
+INFO:root:2023-09-05 14:29:32.958740 : ++ LMS_BAS_URL mysy-training.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 113-803-560
+INFO:root:2023-09-05 14:30:54.365287 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 14:30:54] "[32mPOST /myclass/api/Delete_Partner_Order_Header_And_Lines_From_order_reference HTTP/1.1[0m" 308 -
+INFO:root:2023-09-05 14:30:54.372288 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [05/Sep/2023 14:30:54] "POST /myclass/api/Delete_Partner_Order_Header_And_Lines_From_order_reference/ HTTP/1.1" 200 -
diff --git a/main.py b/main.py
index 1245e7a..bb7472e 100644
--- a/main.py
+++ b/main.py
@@ -4193,7 +4193,7 @@ def Add_Partner_Order():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Add_Partner_Order payload = ",payload)
- status, retval = ressources_materiels.Add_Partner_Order(payload)
+ status, retval = partner_order.Add_Partner_Order(payload)
return jsonify(status=status, message=retval)
@@ -4207,7 +4207,7 @@ def Get_Given_Partner_Order():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Get_Given_Partner_Order payload = ",payload)
- status, retval = ressources_materiels.Get_Given_Partner_Order(payload)
+ status, retval = partner_order.Get_Given_Partner_Order(payload)
return jsonify(status=status, message=retval)
@@ -4220,10 +4220,100 @@ def Get_Given_Partner_Order_From_Internal_ref():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Get_Given_Partner_Order_From_Internal_ref payload = ",payload)
- status, retval = ressources_materiels.Get_Given_Partner_Order_From_Internal_ref(payload)
+ status, retval = partner_order.Get_Given_Partner_Order_From_Internal_ref(payload)
return jsonify(status=status, message=retval)
+"""
+API de recuperation de la lise des commandes d'un partenaire, sans auncun filtre
+"""
+@app.route('/myclass/api/Get_List_Partner_Order_no_filter/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def Get_List_Partner_Order_no_filter():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### Get_List_Partner_Order_no_filter payload = ",payload)
+ status, retval = partner_order.Get_List_Partner_Order_no_filter(payload)
+ return jsonify(status=status, message=retval)
+
+
+"""
+API de recuperation de la lise des commandes d'un partenaire, avec des filtres
+"""
+@app.route('/myclass/api/Get_List_Partner_Order_with_filter/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def Get_List_Partner_Order_with_filter():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### Get_List_Partner_Order_with_filter payload = ",payload)
+ status, retval = partner_order.Get_List_Partner_Order_with_filter(payload)
+ return jsonify(status=status, message=retval)
+
+"""
+API de mise à jour d'une entete de commande client d'un partenaire
+"""
+@app.route('/myclass/api/Update_Partner_Order_Header/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def Update_Partner_Order_Header():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### Update_Partner_Order_Header payload = ",payload)
+ status, retval = partner_order.Update_Partner_Order_Header(payload)
+ return jsonify(status=status, message=retval)
+
+
+
+"""
+API de Ajout et mise à jour d'une ligne commande client d'un partenaire
+"""
+@app.route('/myclass/api/Add_Update_Partner_Order_Line/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def Add_Update_Partner_Order_Line():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### Add_Update_Partner_Order_Line payload = ",payload)
+ status, retval = partner_order.Add_Update_Partner_Order_Line(payload)
+ return jsonify(status=status, message=retval)
+
+"""
+API de suppression d'une commande entière, avec les lignes associée (commande client d'un partenaire), ceci en utilisant l'_id
+"""
+@app.route('/myclass/api/Delete_Partner_Order_Header_And_Lines/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def Delete_Partner_Order_Header_And_Lines():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### Delete_Partner_Order_Header_And_Lines payload = ",payload)
+ status, retval = partner_order.Delete_Partner_Order_Header_And_Lines(payload)
+ return jsonify(status=status, message=retval)
+
+"""
+API de suppression d'une commande entière, avec les lignes associée (commande client d'un partenaire), ceci en utilisant order_header_ref_interne
+"""
+@app.route('/myclass/api/Delete_Partner_Order_Header_And_Lines_From_order_reference/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def Delete_Partner_Order_Header_And_Lines_From_order_reference():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### Delete_Partner_Order_Header_And_Lines_From_order_reference payload = ",payload)
+ status, retval = partner_order.Delete_Partner_Order_Header_And_Lines_From_order_reference(payload)
+ return jsonify(status=status, message=retval)
+
+"""
+API de suppression d'une ligne d'une commande client d'un partenaire (partner_order_line)
+"""
+@app.route('/myclass/api/Delete_Partner_Order_Line/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def Delete_Partner_Order_Line():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### Delete_Partner_Order_Line payload = ",payload)
+ status, retval = partner_order.Delete_Partner_Order_Line(payload)
+ return jsonify(status=status, message=retval)
+
+
+
+
if __name__ == '__main__':
print(" debut api")
diff --git a/partner_order.py b/partner_order.py
index 1b01363..1410a4d 100644
--- a/partner_order.py
+++ b/partner_order.py
@@ -11,6 +11,7 @@ order_header et order_lines comme suit :
order {order_header_ref:'xxx', order_header_amount:'yyyy', order_line[ {order_line1}, {order_line2}, ....,{}] }
"""
+import bson
import pymongo
from pymongo import MongoClient
import json
@@ -39,7 +40,7 @@ def Add_Partner_Order(diction):
"""
field_list = ['token', 'order_header_client_id', 'order_header_description', 'order_header_comment', 'order_header_date_cmd', 'order_header_date_expiration',
'order_header_adr_fact_adresse', 'order_header_adr_fact_code_postal', 'order_header_adr_fact_ville','order_header_adr_fact_pays',
- 'order_header_adr_liv_adresse', 'order_header_adr_liv_code_postal', 'order_header_adr_liv_ville', 'order_header_adr_liv_pays'
+ 'order_header_adr_liv_adresse', 'order_header_adr_liv_code_postal', 'order_header_adr_liv_ville', 'order_header_adr_liv_pays',
'order_header_condition_paiement', 'order_header_ref_client', 'order_header_vendeur_id',
'order_header_ref_interne', 'order_header_total_ht', 'order_header_total_tax', 'order_header_total_ttc', 'order_header_status', 'order_header_type_reduction',
'order_header_type_reduction_valeur', 'order_header_montant_reduction', 'order_lines']
@@ -60,7 +61,7 @@ def Add_Partner_Order(diction):
"""
Verification des champs obligatoires
"""
- field_list_obligatoire = ['token', "order_header_client", "order_header_date_cmd"]
+ field_list_obligatoire = ['token', "order_header_client_id", "order_header_date_cmd"]
for val in field_list_obligatoire:
if val not in diction:
@@ -91,6 +92,8 @@ def Add_Partner_Order(diction):
if diction['order_header_client_id']:
order_header_client_id = diction['order_header_client_id']
+
+
# Verifier que le client existe bien pour ce partner
is_client_exist_count = MYSY_GV.dbname['partner_client'].count_documents({'_id':ObjectId(str(order_header_client_id)), 'valide':'1',
'locked':'0', 'partner_recid':str(my_partner['recid'])})
@@ -191,6 +194,9 @@ def Add_Partner_Order(diction):
return False, "La date de la commande n'est pas au format 'jj/mm/aaaa'"
data['order_header_date_cmd'] = str(diction['order_header_date_cmd'])[0:10]
+ else:
+ # par defaut la date de la commande est la date du jour
+ data['order_header_date_cmd'] = datetime.today().strftime("%d/%m/%Y")
order_header_date_expiration = ""
@@ -206,13 +212,13 @@ def Add_Partner_Order(diction):
data['order_header_date_expiration'] = str(diction['order_header_date_expiration'])[0:10]
- ## Verification de la cohérence des dates. order_header_date_cmd doit < order_header_date_expiration
- if (datetime.strptime(str(diction['order_header_date_cmd'])[0:10], '%d/%m/%Y') >= datetime.strptime(str(diction['order_header_date_expiration'])[0:10], '%d/%m/%Y')):
- mycommon.myprint(
- str(inspect.stack()[0][
- 3]) + " - La date d'expiration " + str(diction['order_header_date_expiration'])[0:10] +" doit etre postérieure à la date de la commande " + str(diction['order_header_date_cmd'])[0:10] + " ")
+ ## Verification de la cohérence des dates. order_header_date_cmd doit < order_header_date_expiration
+ if (datetime.strptime(str(diction['order_header_date_cmd'])[0:10], '%d/%m/%Y') >= datetime.strptime(str(diction['order_header_date_expiration'])[0:10], '%d/%m/%Y')):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " - La date d'expiration " + str(diction['order_header_date_expiration'])[0:10] +" doit etre postérieure à la date de la commande " + str(diction['order_header_date_cmd'])[0:10] + " ")
- return False, " - La date d'expiration " + str(diction['order_header_date_expiration'])[0:10] +" doit etre postérieure à la date de la commande " + str(diction['order_header_date_cmd'])[0:10] + " "
+ return False, " - La date d'expiration " + str(diction['order_header_date_expiration'])[0:10] +" doit etre postérieure à la date de la commande " + str(diction['order_header_date_cmd'])[0:10] + " "
@@ -323,7 +329,11 @@ def Add_Partner_Order(diction):
"""
data_order_lines = []
if( "order_lines" in diction.keys()):
- for order_line in diction['order_lines']:
+
+ # JSON.loads prends les variable entre double quote. on va donc remplacer les eventuels simple quote par des doubles quotes
+ data_order_lines = json.loads(str(diction['order_lines']).replace("'", '"'))
+
+ for order_line in data_order_lines:
# Verifier les champs acceptés et champs obligatoires pour une ligne de commande
"""
Verification des input acceptés
@@ -331,6 +341,7 @@ def Add_Partner_Order(diction):
field_list = ['order_line_formation', 'order_line_qty', 'order_line_prix_unitaire',
'order_line_tax','order_line_type_reduction', 'order_line_type_valeur', 'order_line_montant_reduction']
+ print(" ### order_line = ", order_line)
incom_keys = order_line.keys()
for val in incom_keys:
if val not in field_list:
@@ -371,23 +382,24 @@ def Add_Partner_Order(diction):
new_sequence_value = int(mycommon.tryInt(current_seq_value)) + 1
# /!\ Affectation de la reference interne de la commande
- diction['order_header_ref_interne'] = retval_sequence_order['prefixe']+str(current_seq_value)
+ data['order_header_ref_interne'] = retval_sequence_order['prefixe']+str(current_seq_value)
- print(" #### diction['order_header_ref_interne'] = ", str( diction['order_header_ref_interne']))
+ print(" #### diction['order_header_ref_interne'] = ", str( data['order_header_ref_interne']))
- new_sequance_data_to_update = {'current_val': new_sequence_value}
- ret_val2 = MYSY_GV.dbname['mysy_sequence'].find_one_and_update(
- {'_id': ObjectId(str(retval_sequence_order['_id'])), 'valide': '1'},
- {"$set": new_sequance_data_to_update},
- return_document=ReturnDocument.AFTER,
- upsert=False,
- )
+
+ ## Verifier qu'il n'y pas une commande avec la meme reference interne
+ existe_cmd_ref_interne_count = MYSY_GV.dbname['partner_order_header'].count_documents({'order_header_ref_interne':str(data['order_header_ref_interne'])})
+ if( existe_cmd_ref_interne_count > 0):
+ mycommon.myprint(
+ " Il existe déjà une commande avec la même reference interne "+str(data['order_header_ref_interne']))
+ return False, " Il existe déjà une commande avec la même reference interne "+str(data['order_header_ref_interne'])+" "
data['valide'] = '1'
data['locked'] = '0'
data['date_update'] = str(datetime.now())
+ print(" ### add_partner_order data = ", data)
inserted_id = ""
inserted_id = MYSY_GV.dbname['partner_order_header'].insert_one(data).inserted_id
if (not inserted_id):
@@ -395,17 +407,36 @@ def Add_Partner_Order(diction):
" Impossible de créer l'entete de la commande ")
return False, "Impossible de créer l'entete de la commande "
+
+ new_sequance_data_to_update = {'current_val': new_sequence_value}
+ ret_val2 = MYSY_GV.dbname['mysy_sequence'].find_one_and_update(
+ {'_id': ObjectId(str(retval_sequence_order['_id'])), 'valide': '1'},
+ {"$set": new_sequance_data_to_update},
+ return_document=ReturnDocument.AFTER,
+ upsert=False,
+ )
+
+ tmp_val = str(inserted_id)
+ print(" ### inserted_id = ", str(tmp_val))
+
+
### 2 - Creation des lignes
data_order_lines = []
+
if ("order_lines" in diction.keys()):
- for order_line in diction['order_lines']:
- order_line['order_header_id'] = str(inserted_id)
+ # JSON.loads prends les variable entre double quote. on va donc remplacer les eventuels simple quote par des doubles quotes
+ data_order_lines = json.loads(str(diction['order_lines']).replace("'", '"'))
+
+ for order_line in data_order_lines:
+ order_line['order_header_id'] = str(tmp_val)
+ order_line['order_header_ref_interne'] = str(data['order_header_ref_interne'])
order_line['valide'] = '1'
order_line['locked'] = '0'
order_line['date_update'] = str(datetime.now())
order_line['partner_owner_recid'] = my_partner['recid']
inserted_line_id = ""
- inserted_line_id = MYSY_GV.dbname['partner_order_line'].insert_one(data).inserted_id
+
+ inserted_line_id = MYSY_GV.dbname['partner_order_line'].insert_one(order_line).inserted_id
if (not inserted_line_id):
mycommon.myprint(
" Impossible de créer la ligne la commande ")
@@ -421,6 +452,798 @@ def Add_Partner_Order(diction):
+"""
+Fonction de mise à jour d'une entete commande client d'un partner.
+Les ligne sont mise à jour avec une fonction à part entière
+
+On se base sur l' '_id' du header et le token pour faire la mise à jour
+"""
+
+def Update_Partner_Order_Header(diction):
+ try:
+ diction = mycommon.strip_dictionary(diction)
+
+ """
+ Verification des input acceptés
+ """
+ field_list = ['token', 'order_header_client_id', 'order_header_description', 'order_header_comment',
+ 'order_header_date_cmd', 'order_header_date_expiration',
+ 'order_header_adr_fact_adresse', 'order_header_adr_fact_code_postal',
+ 'order_header_adr_fact_ville', 'order_header_adr_fact_pays',
+ 'order_header_adr_liv_adresse', 'order_header_adr_liv_code_postal', 'order_header_adr_liv_ville',
+ 'order_header_adr_liv_pays',
+ 'order_header_condition_paiement', 'order_header_ref_client', 'order_header_vendeur_id',
+ 'order_header_ref_interne', 'order_header_total_ht', 'order_header_total_tax',
+ 'order_header_total_ttc', 'order_header_status', 'order_header_type_reduction',
+ 'order_header_type_reduction_valeur', 'order_header_montant_reduction',
+ 'order_header_id']
+
+
+
+ incom_keys = diction.keys()
+ for val in incom_keys:
+ if val not in field_list:
+ 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', "order_header_client_id", "order_header_date_cmd",
+ 'order_header_id', 'order_header_ref_interne']
+
+ 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
+
+ order_header_id = ""
+ if ("order_header_id" in diction.keys()):
+ if diction['order_header_id']:
+ order_header_id = diction['order_header_id']
+
+ """
+ # Verifier que la commande existe et qu'elle est modifiable.
+ Pour les ligne, on fait pareil, on ne peut modifier que celles qui sont modifiable.
+
+ Conditions pour modifier entete :
+ 1 - statut est : devis, cmd, MAIS PAS ANNULE ou FACTURE
+ Pour un debut pas de facturation partielle. c'est tout ou rien.
+ """
+ my_order_data_count = MYSY_GV.dbname['partner_order_header'].count_documents({'partner_owner_recid':str(my_partner['recid']),
+ 'valide':'1', 'locked':'0',
+ '_id':ObjectId(str(order_header_id))})
+
+ if( my_order_data_count != 1 ):
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - L'identifiant de la commande est invalide ")
+ return False, " L'identifiant de la commande est invalide",
+
+
+ # Recuperation des champs
+ data = {}
+ data['partner_owner_recid'] = my_partner['recid']
+
+ order_header_client_id = ""
+ if ("order_header_client_id" in diction.keys()):
+ order_header_client_id = diction['order_header_client_id']
+
+ # Verifier que le client existe bien pour ce partner
+ is_client_exist_count = MYSY_GV.dbname['partner_client'].count_documents(
+ {'_id': ObjectId(str(order_header_client_id)), 'valide': '1',
+ 'locked': '0', 'partner_recid': str(my_partner['recid'])})
+
+ if (is_client_exist_count <= 0):
+ mycommon.myprint(str(inspect.stack()[0][3]) + " - Le client est invalide ")
+ return False, " - Le client est invalide "
+ data['order_header_client_id'] = diction['order_header_client_id']
+
+ order_header_description = ""
+ if ("order_header_description" in diction.keys()):
+ order_header_description = diction['order_header_description']
+ if (len(str(order_header_description)) > 500):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " - Le champ 'order_header_description' fait plus de 500 caractères ")
+
+ return False, " - Le champ 'Description' fait plus de 500 caractères "
+ data['order_header_description'] = diction['order_header_description']
+
+ order_header_comment = ""
+ if ("order_header_comment" in diction.keys()):
+ order_header_comment = diction['order_header_comment']
+ if (len(str(order_header_comment)) > 500):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " - Le champ 'order_header_comment' fait plus de 500 caractères ")
+
+ return False, " - Le champ 'Commentaire' fait plus de 500 caractères "
+ data['order_header_comment'] = diction['order_header_comment']
+
+ order_header_condition_paiement = ""
+ if ("order_header_condition_paiement" in diction.keys()):
+ order_header_condition_paiement = diction['order_header_condition_paiement']
+ if (len(str(order_header_condition_paiement)) > 255):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " - Le champ 'order_header_condition_paiement' fait plus de 255 caractères ")
+
+ return False, " - Le champ 'Condition de paiement' fait plus de 255 caractères "
+ data['order_header_condition_paiement'] = diction['order_header_condition_paiement']
+
+ order_header_ref_interne = ""
+ if ("order_header_ref_interne" in diction.keys()):
+ if diction['order_header_ref_interne']:
+ order_header_ref_interne = diction['order_header_ref_interne']
+ if (len(str(order_header_ref_interne)) > 255):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " - Le champ 'order_header_ref_interne' fait plus de 255 caractères ")
+
+ return False, " - Le champ 'ref_interne' fait plus de 255 caractères "
+ data['order_header_ref_interne'] = diction['order_header_ref_interne']
+ else:
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " - La reference interne de la commande est vide ")
+
+ return False, " - La reference interne de la commande est vide "
+
+ order_header_ref_externe = ""
+ if ("order_header_ref_externe" in diction.keys()):
+ order_header_ref_externe = diction['order_header_ref_externe']
+ if (len(str(order_header_ref_externe)) > 255):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " - Le champ 'order_header_ref_externe' fait plus de 255 caractères ")
+
+ return False, " - Le champ 'ref_externe' fait plus de 255 caractères "
+ data['order_header_ref_externe'] = diction['order_header_ref_externe']
+
+ order_header_vendeur_id = ""
+ if ("order_header_vendeur_id" in diction.keys()):
+ order_header_vendeur_id = diction['order_header_vendeur_id']
+
+ # Verifier que l'employé vendeur existe bien pour ce partner
+ is_employee_exist_count = MYSY_GV.dbname['ressource_humaine'].count_documents(
+ {'_id': ObjectId(str(order_header_vendeur_id)), 'valide': '1',
+ 'locked': '0', 'partner_recid': str(my_partner['recid'])})
+
+ if (is_employee_exist_count <= 0):
+ mycommon.myprint(str(inspect.stack()[0][3]) + " - Le vendeur est invalide ")
+ return False, " - Le vendeur est invalide "
+
+ data['order_header_vendeur_id'] = diction['order_header_vendeur_id']
+
+ order_header_date_cmd = ""
+ if ("order_header_date_cmd" in diction.keys()):
+ if diction['order_header_date_cmd']:
+ order_header_date_cmd = str(diction['order_header_date_cmd'])[0:10]
+ local_status = mycommon.CheckisDate(order_header_date_cmd)
+ if (local_status is False):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " La date order_header_date_cmd n'est pas au format 'jj/mm/aaaa' ")
+ return False, "La date de la commande n'est pas au format 'jj/mm/aaaa'"
+
+ data['order_header_date_cmd'] = str(diction['order_header_date_cmd'])[0:10]
+
+ else:
+ # par defaut la date de la commande est la date du jour
+ data['order_header_date_cmd'] = datetime.today().strftime("%d/%m/%Y")
+
+ order_header_date_expiration = ""
+ if ("order_header_date_expiration" in diction.keys()):
+ order_header_date_cmd = str(diction['order_header_date_expiration'])[0:10]
+ local_status = mycommon.CheckisDate(order_header_date_cmd)
+ if (local_status is False):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " La date order_header_date_expiration n'est pas au format 'jj/mm/aaaa' ")
+ return False, "La date d'expiration de la commande n'est pas au format 'jj/mm/aaaa'"
+
+ data['order_header_date_expiration'] = str(diction['order_header_date_expiration'])[0:10]
+
+ ## Verification de la cohérence des dates. order_header_date_cmd doit < order_header_date_expiration
+ if (datetime.strptime(str(diction['order_header_date_cmd'])[0:10], '%d/%m/%Y') >= datetime.strptime(
+ str(diction['order_header_date_expiration'])[0:10], '%d/%m/%Y')):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " - La date d'expiration " + str(diction['order_header_date_expiration'])[
+ 0:10] + " doit etre postérieure à la date de la commande " + str(
+ diction['order_header_date_cmd'])[0:10] + " ")
+
+ return False, " - La date d'expiration " + str(diction['order_header_date_expiration'])[
+ 0:10] + " doit etre postérieure à la date de la commande " + str(
+ diction['order_header_date_cmd'])[0:10] + " "
+
+ ## Recuperation de l'adresse de facturation
+ order_header_adr_fact_adresse = ""
+ if ("order_header_adr_fact_adresse" in diction.keys()):
+ order_header_adr_fact_adresse = diction['order_header_adr_fact_adresse']
+ if (len(str(order_header_adr_fact_adresse)) > 500):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " - Le champ 'order_header_adr_fact_adresse' fait plus de 500 caractères ")
+
+ return False, " - Le champ 'adresse de facturation' fait plus de 500 caractères "
+ data['order_header_adr_fact_adresse'] = diction['order_header_adr_fact_adresse']
+
+ order_header_adr_fact_code_postal = ""
+ if ("order_header_adr_fact_code_postal" in diction.keys()):
+ order_header_adr_fact_code_postal = diction['order_header_adr_fact_code_postal']
+ if (len(str(order_header_adr_fact_code_postal)) > 255):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " - Le champ 'order_header_adr_fact_code_postal' fait plus de 255 caractères ")
+
+ return False, " - Le champ 'order_header_adr_fact_code_postal' fait plus de 255 caractères "
+ data['order_header_adr_fact_code_postal'] = diction['order_header_adr_fact_code_postal']
+
+ order_header_adr_fact_ville = ""
+ if ("order_header_adr_fact_ville" in diction.keys()):
+ order_header_adr_fact_ville = diction['order_header_adr_fact_ville']
+ if (len(str(order_header_adr_fact_ville)) > 255):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " - Le champ 'order_header_adr_fact_ville' fait plus de 255 caractères ")
+
+ return False, " - Le champ 'order_header_adr_fact_ville' fait plus de 255 caractères "
+ data['order_header_adr_fact_ville'] = diction['order_header_adr_fact_ville']
+
+ order_header_adr_fact_pays = ""
+ if ("order_header_adr_fact_pays" in diction.keys()):
+ order_header_adr_fact_pays = diction['order_header_adr_fact_pays']
+ if (len(str(order_header_adr_fact_pays)) > 255):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " - Le champ 'order_header_adr_fact_pays' fait plus de 255 caractères ")
+
+ return False, " - Le champ 'order_header_adr_fact_pays' fait plus de 255 caractères "
+ data['order_header_adr_fact_pays'] = diction['order_header_adr_fact_pays']
+
+ ## Recuperation de l'adresse d'exécution de la formation
+ order_header_adr_liv_adresse = ""
+ if ("order_header_adr_liv_adresse" in diction.keys()):
+ order_header_adr_liv_adresse = diction['order_header_adr_liv_adresse']
+ if (len(str(order_header_adr_liv_adresse)) > 500):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " - Le champ 'order_header_adr_liv_adresse' fait plus de 500 caractères ")
+
+ return False, " - Le champ 'adresse d'exécution' fait plus de 500 caractères "
+ data['order_header_adr_liv_adresse'] = diction['order_header_adr_liv_adresse']
+
+ order_header_adr_liv_code_postal = ""
+ if ("order_header_adr_liv_code_postal" in diction.keys()):
+ order_header_adr_liv_code_postal = diction['order_header_adr_liv_code_postal']
+ if (len(str(order_header_adr_liv_code_postal)) > 255):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " - Le champ 'order_header_adr_liv_code_postal' fait plus de 255 caractères ")
+
+ return False, " - Le champ 'order_header_adr_liv_code_postal' fait plus de 255 caractères "
+ data['order_header_adr_liv_code_postal'] = diction['order_header_adr_liv_code_postal']
+
+ order_header_adr_liv_ville = ""
+ if ("order_header_adr_liv_ville" in diction.keys()):
+ order_header_adr_liv_ville = diction['order_header_adr_liv_ville']
+ if (len(str(order_header_adr_liv_ville)) > 255):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " - Le champ 'order_header_adr_liv_ville' fait plus de 255 caractères ")
+
+ return False, " - Le champ 'order_header_adr_liv_ville' fait plus de 255 caractères "
+ data['order_header_adr_liv_ville'] = diction['order_header_adr_liv_ville']
+
+ order_header_adr_liv_pays = ""
+ if ("order_header_adr_liv_pays" in diction.keys()):
+ order_header_adr_liv_pays = diction['order_header_adr_liv_pays']
+ if (len(str(order_header_adr_liv_pays)) > 255):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " - Le champ 'order_header_adr_liv_pays' fait plus de 255 caractères ")
+
+ return False, " - Le champ 'order_header_adr_liv_pays' fait plus de 255 caractères "
+ data['order_header_adr_liv_pays'] = diction['order_header_adr_liv_pays']
+
+
+ """
+
+ /!\ : A present que tous les controles sont ok, on va proceder à la creation dans les table.
+
+ """
+
+ ### 1 - Mise à jour de l'entete
+
+ data['date_update'] = str(datetime.now())
+
+ print(" ### Update_partner_order data = ", data)
+
+ inserted_data = MYSY_GV.dbname['partner_order_header'].find_one_and_update(
+ {'partner_owner_recid': str(my_partner['recid']),
+ 'valide': '1', 'locked': '0',
+ '_id': ObjectId(str(order_header_id))},
+ {"$set": data},
+ return_document=ReturnDocument.AFTER,
+ upsert=False,
+ )
+
+ if( inserted_data is None ):
+ mycommon.myprint(
+ " Impossible de mettre à jour l'entete de commande ")
+ return False, "Impossible de mettre à jour l'entete de commande "
+
+ return True, " La commande a été correctement mise à 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 la commande "
+
+
+"""
+Fonction ajoute des lignes à une commande qui existe.
+Clé :
+ - order_header_id
+ - order_header_ref_interne
+ - partner_owner_recid
+ """
+def Add_Update_Partner_Order_Line(diction):
+ try:
+ diction = mycommon.strip_dictionary(diction)
+
+ """
+ Verification des input acceptés
+ """
+ field_list = ['token', 'order_line_formation', 'order_line_qty', 'order_line_prix_unitaire',
+ 'order_line_tax', 'order_line_type_reduction', 'order_line_type_valeur',
+ 'order_line_montant_reduction', 'order_line_id', 'order_header_ref_interne',
+ 'order_header_id']
+
+ incom_keys = diction.keys()
+ for val in incom_keys:
+ if val not in field_list:
+ 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', 'order_line_formation', "order_line_qty", "order_line_prix_unitaire",
+ 'order_line_id', 'order_header_ref_interne', 'order_header_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
+
+
+ data = {}
+
+ order_line_formation = ""
+ if ("order_line_formation" in diction.keys()):
+ if diction['order_line_formation']:
+ order_line_formation = diction['order_line_formation']
+ data['order_line_formation'] = order_line_formation
+
+ order_line_qty = ""
+ if ("order_line_qty" in diction.keys()):
+ if diction['order_line_qty']:
+ order_line_qty = diction['order_line_qty']
+ data['order_line_qty'] = order_line_qty
+
+ order_line_prix_unitaire = ""
+ if ("order_line_prix_unitaire" in diction.keys()):
+ if diction['order_line_prix_unitaire']:
+ order_line_prix_unitaire = diction['order_line_prix_unitaire']
+ data['order_line_prix_unitaire'] = order_line_prix_unitaire
+
+ order_line_tax = ""
+ if ("order_line_tax" in diction.keys()):
+ if diction['order_line_tax']:
+ order_line_tax = diction['order_line_tax']
+ data['order_line_tax'] = order_line_tax
+
+
+ order_line_type_reduction = ""
+ if ("order_line_type_reduction" in diction.keys()):
+ if diction['order_line_type_reduction']:
+ order_line_type_reduction = diction['order_line_type_reduction']
+ data['order_line_type_reduction'] = order_line_type_reduction
+
+ order_line_type_valeur = ""
+ if ("order_line_type_valeur" in diction.keys()):
+ if diction['order_line_type_valeur']:
+ order_line_type_valeur = diction['order_line_type_valeur']
+ data['order_line_type_valeur'] = order_line_type_valeur
+
+ order_line_montant_reduction = ""
+ if ("order_line_montant_reduction" in diction.keys()):
+ if diction['order_line_montant_reduction']:
+ order_line_montant_reduction = diction['order_line_montant_reduction']
+ data['order_line_montant_reduction'] = order_line_montant_reduction
+
+ order_header_ref_interne = ""
+ if ("order_header_ref_interne" in diction.keys()):
+ if diction['order_header_ref_interne']:
+ order_header_ref_interne = diction['order_header_ref_interne']
+ data['order_header_ref_interne'] = order_header_ref_interne
+
+ order_header_id = ""
+ if ("order_header_id" in diction.keys()):
+ if diction['order_header_id']:
+ order_header_id = diction['order_header_id']
+ data['order_header_id'] = order_header_id
+
+
+ order_line_id = ""
+ if ("order_line_id" in diction.keys()):
+ if diction['order_line_id']:
+ # il s'agit de mettre à jour la ligne. Il faut verifier que la ligne existe et est modifiable
+ order_line_id = diction['order_line_id']
+ existe_order_line_count = MYSY_GV.dbname['partner_order_line'].count_documents({'_id':ObjectId(str(order_line_id)), 'valide':'1', 'locked':'0',
+ 'partner_owner_recid':str(my_partner['recid'])})
+
+ if( existe_order_line_count != 1 ):
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - La ligne à mettre à jour est invalide")
+ return False, "La ligne à mettre à jour est invalide",
+
+ data['date_update'] = str(datetime.now())
+ inserted_data = MYSY_GV.dbname['ressource_humaine_affectation'].find_one_and_update(
+ {'_id': ObjectId(str(order_line_id)), 'valide': '1', 'locked': '0',
+ 'partner_owner_recid': str(my_partner['recid'])},
+ {"$set": data},
+ return_document=ReturnDocument.AFTER,
+ upsert=False,
+ )
+
+ if (inserted_data is None):
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - Impossible de mettre à jour la ligne (3)")
+ return False, " Impossible de mettre à jour la ligne (3) "
+
+
+ else:
+ # Il s'agit d'une creation d'une nouvelle ligne
+ data['valide'] = '1'
+ data['locked'] = '0'
+ data['date_update'] = str(datetime.now())
+ data['partner_owner_recid'] = my_partner['recid']
+
+ inserted_line_id = ""
+
+ inserted_line_id = MYSY_GV.dbname['partner_order_line'].insert_one(data).inserted_id
+ if (not inserted_line_id):
+ mycommon.myprint(
+ " Impossible de créer la ligne la commande ")
+ return False, " Impossible de créer la ligne la commande "
+
+ return True, " La ligne de commande a été correctement ajoutée/mise à 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 créer / mettre à jour la ligne de commande "
+
+
+
+"""
+Fonction de suppression d'une commande client (entete et ligne) si son statut le permet en prenant le '_id'
+"""
+def Delete_Partner_Order_Header_And_Lines(diction):
+ try:
+ diction = mycommon.strip_dictionary(diction)
+
+ """
+ Verification des input acceptés
+ """
+ field_list = ['token', 'order_header_id']
+
+ incom_keys = diction.keys()
+ for val in incom_keys:
+ if val not in field_list:
+ 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', 'order_header_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
+
+ order_header_id = ""
+ if ("order_header_id" in diction.keys()):
+ if diction['order_header_id']:
+ order_header_id = diction['order_header_id']
+
+ """
+ # Verifier que la commande existe et qu'elle est supprimable.
+ Pour les ligne, on fait pareil, on ne peut modifier que celles qui sont modifiable.
+
+ Conditions pour modifier entete :
+ 1 - statut est : annulé, devis, cmd, MAIS PAS FACTURE
+ Pour un debut pas de facturation partielle. c'est tout ou rien.
+ """
+ my_order_data_count = MYSY_GV.dbname['partner_order_header'].count_documents(
+ {'partner_owner_recid': str(my_partner['recid']),
+ 'valide': '1', 'locked': '0',
+ '_id': ObjectId(str(order_header_id))})
+
+ if (my_order_data_count != 1):
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - L'identifiant de la commande est invalide ")
+ return False, " L'identifiant de la commande est invalide",
+
+ # Recuperation des champs
+ data = {}
+ data['partner_owner_recid'] = my_partner['recid']
+
+
+
+ delete_data = MYSY_GV.dbname['partner_order_header'].delete_one(
+ {'partner_owner_recid': str(my_partner['recid']),
+ '_id': ObjectId(str(order_header_id))}, )
+
+
+ if( delete_data is None or delete_data.deleted_count < 0 ):
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - Impossible de supprimer la commande (2) ")
+ return False, " - Impossible de supprimer la commande (2) ",
+
+
+ # A present,suppression des lignes de la commande
+
+ delete_data_order_lines = MYSY_GV.dbname['partner_order_line'].delete_many(
+ {'partner_owner_recid': str(my_partner['recid']),
+ 'order_header_id': str(order_header_id)}, )
+
+
+ return True, " La commande a été correctement supprimée"
+
+ 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 la commande "
+
+
+
+"""
+Fonction de suppression d'une commande client (entete et ligne) si son statut le permet, en prenant le 'order_header_ref_interne'
+"""
+def Delete_Partner_Order_Header_And_Lines_From_order_reference(diction):
+ try:
+ diction = mycommon.strip_dictionary(diction)
+
+ """
+ Verification des input acceptés
+ """
+ field_list = ['token', 'order_header_ref_interne']
+
+ incom_keys = diction.keys()
+ for val in incom_keys:
+ if val not in field_list:
+ 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', 'order_header_ref_interne', ]
+
+ 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
+
+ order_header_ref_interne = ""
+ if ("order_header_ref_interne" in diction.keys()):
+ if diction['order_header_ref_interne']:
+ order_header_ref_interne = diction['order_header_ref_interne']
+
+ """
+ # Verifier que la commande existe et qu'elle est supprimable.
+ Pour les ligne, on fait pareil, on ne peut modifier que celles qui sont modifiable.
+
+ Conditions pour modifier entete :
+ 1 - statut est : annulé, devis, cmd, MAIS PAS FACTURE
+ Pour un debut pas de facturation partielle. c'est tout ou rien.
+ """
+ my_order_data_count = MYSY_GV.dbname['partner_order_header'].count_documents(
+ {'partner_owner_recid': str(my_partner['recid']),
+ 'valide': '1', 'locked': '0',
+ 'order_header_ref_interne': str(order_header_ref_interne)})
+
+ if (my_order_data_count != 1):
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - L'identifiant de la commande est invalide ")
+ return False, " L'identifiant de la commande est invalide",
+
+
+
+ delete_data = MYSY_GV.dbname['partner_order_header'].delete_one(
+ {'partner_owner_recid': str(my_partner['recid']),
+ 'order_header_ref_interne': str(order_header_ref_interne)}, )
+
+
+ if( delete_data is None or delete_data.deleted_count < 0 ):
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - Impossible de supprimer la commande (2) ")
+ return False, " - Impossible de supprimer la commande (2) ",
+
+
+ # A present,suppression des lignes de la commande
+
+ delete_data_order_lines = MYSY_GV.dbname['partner_order_line'].delete_many(
+ {'partner_owner_recid': str(my_partner['recid']),
+ 'order_header_ref_interne': str(order_header_ref_interne)}, )
+
+
+ return True, " La commande a été correctement supprimée"
+
+ 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 la commande "
+
+
+
+"""
+Fonction de suppression d'une ligne d'une commande
+"""
+def Delete_Partner_Order_Line(diction):
+ try:
+ diction = mycommon.strip_dictionary(diction)
+
+ """
+ Verification des input acceptés
+ """
+ field_list = ['token', 'order_header_id', 'order_line_id']
+
+ incom_keys = diction.keys()
+ for val in incom_keys:
+ if val not in field_list:
+ 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', 'order_header_id', 'order_line_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
+
+ order_line_id = ""
+ if ("order_line_id" in diction.keys()):
+ if diction['order_line_id']:
+ order_line_id = diction['order_line_id']
+
+ """
+ # Verifier que la commande existe et qu'elle est supprimable.
+ Pour les ligne, on fait pareil, on ne peut modifier que celles qui sont modifiable.
+
+ Conditions pour modifier entete :
+ 1 - statut est : annulé, devis, cmd, MAIS PAS FACTURE
+ Pour un debut pas de facturation partielle. c'est tout ou rien.
+ """
+ my_order_data_count = MYSY_GV.dbname['partner_order_line'].count_documents(
+ {'partner_owner_recid': str(my_partner['recid']),
+ 'valide': '1', 'locked': '0',
+ '_id': ObjectId(str(order_line_id))})
+
+ if (my_order_data_count != 1):
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - L'identifiant de la ligne est invalide ")
+ return False, " L'identifiant de la ligne est invalide",
+
+
+
+ delete_data = MYSY_GV.dbname['partner_order_header'].delete_one(
+ {'partner_owner_recid': str(my_partner['recid']),
+ '_id': ObjectId(str(order_line_id))} )
+
+
+ if( delete_data is None or delete_data.deleted_count < 0 ):
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - Impossible de supprimer la ligne de commande (2) ")
+ return False, " - Impossible de supprimer la ligne de commande (2) ",
+
+
+
+ return True, " La ligne de la commande a été correctement supprimée"
+
+ 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 la ligne de la commande"
+
+
+
+
+
"""
Recuperation d'une commande donnée à partir du '_id'
"""
@@ -583,3 +1406,243 @@ def Get_Given_Partner_Order_From_Internal_ref(diction):
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 recuperer les données de la commande "
+
+
+
+"""
+Recuperation de la liste des commandes d'un partner
+"""
+def Get_List_Partner_Order_no_filter(diction):
+ try:
+ diction = mycommon.strip_dictionary(diction)
+
+ """
+ Verification des input acceptés
+ """
+ field_list = ['token', ]
+
+ incom_keys = diction.keys()
+ for val in incom_keys:
+ if val not in field_list:
+ 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
+
+
+
+ find_qry = {'$and': [{'partner_owner_recid': str(my_partner['recid']), 'valide': '1', 'locked': '0'}, {}, ]}
+
+ new_myquery_find_order = [{'$match': find_qry},
+ {"$addFields": {"partner_order_header_Id": {"$toString": "$_id"}}},
+ {'$lookup':
+ {
+ 'from': 'partner_order_line',
+ 'localField': "ressource_humaine_Id",
+ 'foreignField': 'order_header_id',
+ 'pipeline': [{'$match': {'$and': [{}, {
+ 'partner_owner_recid': str(my_partner['recid'])}, {'valide': '1'}]}}, ],
+ 'as': 'partner_order_line_collection'
+ }
+ }
+ ]
+
+
+ print(" ### orders new_myquery_find_order = ", new_myquery_find_order)
+ RetObject = []
+ val_tmp = 1
+
+ for New_retVal in MYSY_GV.dbname['partner_order_header'].aggregate(new_myquery_find_order):
+ user = New_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 recuperer la liste des commandes "
+
+
+"""
+Recuperation de la liste des commandes avec des filtres.
+les filtres acceptés sont :
+- ref_interne
+- ref_externe
+- date_cmd entre date_debut et date_fin
+- nom_client
+"""
+def Get_List_Partner_Order_with_filter(diction):
+ try:
+ diction = mycommon.strip_dictionary(diction)
+
+ """
+ Verification des input acceptés. les filtres accepté sont :
+ - ref_interne,
+ """
+ field_list = ['token', 'date_cmd_debut', 'date_cmd_fin', 'client_nom', 'ref_interne', 'ref_externe']
+
+ incom_keys = diction.keys()
+ for val in incom_keys:
+ if val not in field_list:
+ 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_client_nom = {}
+ sub_filt_client_nom = {}
+ Lists_partner_client_id = []
+ if ("client_nom" in diction.keys()):
+ sub_filt_client_nom = {'nom': {'$regex': str(diction['client_nom']), "$options": "i"}, 'partner_recid':str(my_partner['recid']), 'valide':'1', 'locked':'0'}
+ # Recuperation des '_id' des clients dont le nom match en regexp
+ #print(" ### sub_filt_client_nom = ", sub_filt_client_nom)
+ for List_Client_Data in MYSY_GV.dbname['partner_client'].find(sub_filt_client_nom, {'_id':1}):
+ Lists_partner_client_id.append(str(List_Client_Data['_id']))
+
+ filt_client_nom = {'order_header_client_id': {'$in': Lists_partner_client_id, }}
+ #print(' ### filt_client_nom = ', filt_client_nom)
+
+
+ filt_ref_interne = {}
+ if ("ref_interne" in diction.keys()):
+ filt_ref_interne = {
+ 'order_header_ref_interne': {'$regex': str(diction['ref_interne']), "$options": "i"}}
+
+ filt_ref_externe = {}
+ if ("ref_externe" in diction.keys()):
+ filt_ref_externe = {
+ 'order_header_ref_client': {'$regex': str(diction['ref_externe']), "$options": "i"}}
+
+
+
+ find_qry = {'$and': [{'partner_owner_recid': str(my_partner['recid']), 'valide': '1', 'locked': '0'}, filt_client_nom, filt_ref_interne, filt_ref_externe]}
+
+ new_myquery_find_order = [{'$match': find_qry},
+ {"$addFields": {"partner_order_header_Id": {"$toString": "$_id"}}},
+ {'$lookup':
+ {
+ 'from': 'partner_order_line',
+ 'localField': "ressource_humaine_Id",
+ 'foreignField': 'order_header_id',
+ 'pipeline': [{'$match': {'$and': [{}, {
+ 'partner_owner_recid': str(my_partner['recid'])}, {'valide': '1'}]}}, ],
+ 'as': 'partner_order_line_collection'
+ }
+ }
+ ]
+
+
+ print(" ### Get_List_Partner_Order_with_filter orders new_myquery_find_order = ", new_myquery_find_order)
+ RetObject = []
+ val_tmp = 1
+
+ filter_date_debut = ""
+ if ("date_cmd_debut" in diction.keys()):
+ if diction['date_cmd_debut']:
+ filter_date_debut = str(diction['date_cmd_debut'])[0:10]
+ local_status = mycommon.CheckisDate(filter_date_debut)
+ if (local_status is False):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " La date de debut (filtre) n'est pas au format 'jj/mm/aaaa' ")
+ return False, " La date de debut (filtre) n'est pas au format 'jj/mm/aaaa'"
+
+ filter_date_fin = ""
+ if ("date_cmd_fin" in diction.keys()):
+ if diction['date_cmd_fin']:
+ filter_date_fin = str(diction['date_cmd_fin'])[0:10]
+ local_status = mycommon.CheckisDate(filter_date_fin)
+ if (local_status is False):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " La date de fin (filtre) n'est pas au format 'jj/mm/aaaa' ")
+ return False, " La date de fin (filtre) n'est pas au format 'jj/mm/aaaa'"
+
+
+
+ for New_retVal in MYSY_GV.dbname['partner_order_header'].aggregate(new_myquery_find_order):
+ user = New_retVal
+
+ if( filter_date_debut and filter_date_fin ):
+ if ( datetime.strptime(str(New_retVal['order_header_date_cmd'])[0:10], '%d/%m/%Y') >= datetime.strptime(str(filter_date_debut)[0:10], '%d/%m/%Y') and
+ datetime.strptime(str(New_retVal['order_header_date_cmd'])[0:10], '%d/%m/%Y') <= datetime.strptime(str(filter_date_fin)[0:10], '%d/%m/%Y') ):
+ user['id'] = str(val_tmp)
+ val_tmp = val_tmp + 1
+ RetObject.append(mycommon.JSONEncoder().encode(user))
+
+ elif ( filter_date_debut ):
+ if ( datetime.strptime(str(New_retVal['order_header_date_cmd'])[0:10], '%d/%m/%Y') >= datetime.strptime(str(filter_date_debut)[0:10], '%d/%m/%Y') ):
+ user['id'] = str(val_tmp)
+ val_tmp = val_tmp + 1
+ RetObject.append(mycommon.JSONEncoder().encode(user))
+
+ elif ( filter_date_fin ):
+ if ( datetime.strptime(str(New_retVal['order_header_date_cmd'])[0:10], '%d/%m/%Y') <= datetime.strptime(str(filter_date_fin)[0:10], '%d/%m/%Y') ):
+ user['id'] = str(val_tmp)
+ val_tmp = val_tmp + 1
+ RetObject.append(mycommon.JSONEncoder().encode(user))
+
+ else:
+ 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 recuperer la liste des commandes "
+
+
diff --git a/prj_common.py b/prj_common.py
index 7f4b703..f6e2463 100644
--- a/prj_common.py
+++ b/prj_common.py
@@ -632,6 +632,16 @@ def IsInt(val):
except ValueError:
return False, 0
+"""
+Cette fonction verifie si une valeur est bien un 'ObjectId' valide
+"""
+def IsObjectId(oid):
+ try:
+ ObjectId(oid)
+ print(" IsObjectId "+str(oid)+" est valde")
+ return True
+ except ValueError:
+ return False
'''
diff --git a/ressources_materiels.py b/ressources_materiels.py
index f69071c..34be619 100644
--- a/ressources_materiels.py
+++ b/ressources_materiels.py
@@ -667,19 +667,9 @@ def Get_List_Ressource_Materielle_no_filter(diction):
if diction['token']:
token = diction['token']
- # Verifier la validité du token
- retval = mycommon.check_partner_token_validity("", token)
-
- if retval is False:
- return "Err_Connexion", " La session de connexion n'est pas valide"
-
- # Recuperation des données du partenaire
- local_status, my_partner = mycommon.get_partner_data_from_token(token)
- if (local_status is False):
- mycommon.myprint(str(inspect.stack()[0][3]) + " - impossible de recuperer les données de l'utilisateur ")
- return False, str(inspect.stack()[0][3]) + " - impossible de recuperer les données de l'utilisateur. "
-
-
+ 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