23/10/22 - 17h30
parent
8d506631ce
commit
3aafaf5dd5
|
@ -294,6 +294,7 @@ def GetStagiaire(diction):
|
||||||
str(inspect.stack()[0][3]) + " - : La valeur '" + val + "' n'est pas presente dans liste ")
|
str(inspect.stack()[0][3]) + " - : La valeur '" + val + "' n'est pas presente dans liste ")
|
||||||
return False, "Impossible de recuperer le stagiaire, Toutes les informations necessaires n'ont pas été fournies"
|
return False, "Impossible de recuperer le stagiaire, Toutes les informations necessaires n'ont pas été fournies"
|
||||||
|
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
|
@ -0,0 +1,195 @@
|
||||||
|
"""
|
||||||
|
Ce fichier gere les sessions de formation
|
||||||
|
"""
|
||||||
|
|
||||||
|
import pymongo
|
||||||
|
from pymongo import MongoClient
|
||||||
|
import json
|
||||||
|
from bson import ObjectId
|
||||||
|
import re
|
||||||
|
from datetime import datetime
|
||||||
|
import prj_common as mycommon
|
||||||
|
import secrets
|
||||||
|
import inspect
|
||||||
|
import sys, os
|
||||||
|
import csv
|
||||||
|
import pandas as pd
|
||||||
|
from pymongo import ReturnDocument
|
||||||
|
import GlobalVariable as MYSY_GV
|
||||||
|
from math import isnan
|
||||||
|
import GlobalVariable as MYSY_GV
|
||||||
|
from datetime import timedelta
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
Fonction de creation et mise à jour d'une session de formation.
|
||||||
|
|
||||||
|
la clée est :
|
||||||
|
- formation_session_id,
|
||||||
|
- class_internal_url
|
||||||
|
"""
|
||||||
|
def Add_Update_SessionFormation(diction):
|
||||||
|
try:
|
||||||
|
|
||||||
|
'''
|
||||||
|
# Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
|
||||||
|
# Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
|
||||||
|
# Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
|
||||||
|
# field_list.
|
||||||
|
'''
|
||||||
|
field_list = ['token', 'date_debut', 'date_fin', 'nb_participant', 'formation_session_id', 'class_internal_url',]
|
||||||
|
incom_keys = diction.keys()
|
||||||
|
for val in incom_keys:
|
||||||
|
if val not in field_list:
|
||||||
|
mycommon.myprint(str(inspect.stack()[0][
|
||||||
|
3]) + " - Creation partner account : Le champ '" + val + "' n'est pas autorisé, Creation partenaire annulée")
|
||||||
|
return False, "Impossible de créer le stagiaire. Toutes les informations fournies ne sont pas valables"
|
||||||
|
|
||||||
|
"""
|
||||||
|
Verification de la liste des champs obligatoires
|
||||||
|
"""
|
||||||
|
field_list_obligatoire = ['token', 'formation_session_id', 'class_internal_url',]
|
||||||
|
|
||||||
|
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, "Impossible de créer le stagiaire, Toutes les informations necessaires n'ont pas été fournies"
|
||||||
|
|
||||||
|
mydata = {}
|
||||||
|
query_key = {}
|
||||||
|
|
||||||
|
my_token = ""
|
||||||
|
if ("token" in diction.keys()):
|
||||||
|
if diction['token']:
|
||||||
|
my_token = diction['token']
|
||||||
|
|
||||||
|
class_internal_url = ""
|
||||||
|
if ("class_internal_url" in diction.keys()):
|
||||||
|
if diction['class_internal_url']:
|
||||||
|
mydata['class_internal_url'] = diction['formation_session_id']
|
||||||
|
query_key['class_internal_url'] = diction['formation_session_id']
|
||||||
|
class_internal_url = diction['class_internal_url']
|
||||||
|
|
||||||
|
|
||||||
|
partner_recid = mycommon.get_parnter_recid_from_token(my_token)
|
||||||
|
if (partner_recid is False):
|
||||||
|
mycommon.myprint(str(inspect.stack()[0][3]) + " - Impossible de créer la liste d'emargement ")
|
||||||
|
return False, "Impossible de créer la liste d'emargement "
|
||||||
|
|
||||||
|
formation_session_id = ""
|
||||||
|
if ("formation_session_id" in diction.keys()):
|
||||||
|
if diction['formation_session_id']:
|
||||||
|
mydata['formation_session_id'] = diction['formation_session_id']
|
||||||
|
query_key['formation_session_id'] = diction['formation_session_id']
|
||||||
|
session_id = diction['formation_session_id']
|
||||||
|
|
||||||
|
|
||||||
|
if ("date_debut" in diction.keys()):
|
||||||
|
if diction['date_debut']:
|
||||||
|
mydata['date_debut'] = diction['date_debut']
|
||||||
|
|
||||||
|
if ("date_fin" in diction.keys()):
|
||||||
|
if diction['date_fin']:
|
||||||
|
mydata['date_fin'] = diction['date_fin']
|
||||||
|
|
||||||
|
if ("nb_participant" in diction.keys()):
|
||||||
|
if diction['nb_participant']:
|
||||||
|
mydata['nb_participant'] = diction['nb_participant']
|
||||||
|
|
||||||
|
mydata['date_update'] = str(datetime.now())
|
||||||
|
mydata['valide'] = "1"
|
||||||
|
|
||||||
|
|
||||||
|
coll_name = MYSY_GV.dbname['session_formation']
|
||||||
|
ret_val = coll_name.find_one_and_update(
|
||||||
|
query_key,
|
||||||
|
{"$set": mydata},
|
||||||
|
upsert=True,
|
||||||
|
return_document=ReturnDocument.AFTER
|
||||||
|
)
|
||||||
|
|
||||||
|
if (ret_val['_id'] is False):
|
||||||
|
mycommon.myprint(
|
||||||
|
str(inspect.stack()[0][3]) + " : Impossible d'ajouter le mode de payement")
|
||||||
|
return False, "Impossible d'ajouter le mode de payement"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return True, " La session de formation à bien été crééé"
|
||||||
|
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
exc_type, exc_obj, exc_tb = sys.exc_info()
|
||||||
|
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
|
||||||
|
return False, "Impossible de créer la session de formation"
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
Fonction de recuperation d'une session de formation
|
||||||
|
"""
|
||||||
|
|
||||||
|
def GetSessionFormation(diction):
|
||||||
|
try:
|
||||||
|
|
||||||
|
field_list = ['token', 'class_internal_url', 'formation_session_id', ]
|
||||||
|
incom_keys = diction.keys()
|
||||||
|
for val in incom_keys:
|
||||||
|
if val not in field_list:
|
||||||
|
mycommon.myprint(str(inspect.stack()[0][
|
||||||
|
3]) + " - Creation partner account : Le champ '" + val + "' n'est pas autorisé, Creation partenaire annulée")
|
||||||
|
return False, "de recuperer la liste des stagiaires . Toutes les informations fournies ne sont pas valables"
|
||||||
|
|
||||||
|
"""
|
||||||
|
Verification de la liste des champs obligatoires
|
||||||
|
"""
|
||||||
|
field_list_obligatoire = ['token', 'class_internal_url', 'formation_session_id', ]
|
||||||
|
for val in field_list_obligatoire:
|
||||||
|
if val not in diction:
|
||||||
|
mycommon.myprint(
|
||||||
|
str(inspect.stack()[0][3]) + " - : La valeur '" + val + "' n'est pas presente dans liste ")
|
||||||
|
return False, "Impossible de recuperer la liste des stagiaires, Toutes les informations necessaires n'ont pas été fournies"
|
||||||
|
|
||||||
|
# Recuperation du recid du partner
|
||||||
|
mydata = {}
|
||||||
|
mytoken = ""
|
||||||
|
if ("token" in diction.keys()):
|
||||||
|
if diction['token']:
|
||||||
|
mytoken = diction['token']
|
||||||
|
|
||||||
|
partner_recid = mycommon.get_parnter_recid_from_token(mytoken)
|
||||||
|
if (partner_recid is False):
|
||||||
|
mycommon.myprint(str(inspect.stack()[0][3]) + " - Impossible de recuperer la liste des stagiaires, ")
|
||||||
|
return False, "Impossible de recuperer la liste des stagiaires, Les informations d'identification sont incorrectes "
|
||||||
|
|
||||||
|
class_internal_url = ""
|
||||||
|
if ("class_internal_url" in diction.keys()):
|
||||||
|
if diction['class_internal_url']:
|
||||||
|
class_internal_url = diction['class_internal_url']
|
||||||
|
|
||||||
|
formation_session_id = ""
|
||||||
|
if ("formation_session_id" in diction.keys()):
|
||||||
|
if diction['formation_session_id']:
|
||||||
|
formation_session_id = diction['session_id']
|
||||||
|
|
||||||
|
coll_session = MYSY_GV.dbname['session_formation']
|
||||||
|
myquery = {}
|
||||||
|
myquery['formation_session_id'] = formation_session_id
|
||||||
|
myquery['class_internal_url'] = class_internal_url
|
||||||
|
|
||||||
|
|
||||||
|
RetObject = []
|
||||||
|
|
||||||
|
for retval in coll_session.find(myquery):
|
||||||
|
RetObject.append(mycommon.JSONEncoder().encode(retval))
|
||||||
|
|
||||||
|
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) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
|
||||||
|
return False, "Impossible de recuperer la session de formation"
|
||||||
|
|
||||||
|
|
28
main.py
28
main.py
|
@ -31,6 +31,7 @@ import statistics as Stat
|
||||||
import strype_payement as Stripe
|
import strype_payement as Stripe
|
||||||
import Inscription_mgt as inscription
|
import Inscription_mgt as inscription
|
||||||
import emargement as emargement
|
import emargement as emargement
|
||||||
|
import Session_Formation as SF
|
||||||
|
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
|
@ -1791,6 +1792,33 @@ def UpdateUserEmargementDate():
|
||||||
return jsonify(status=localStatus, message=message )
|
return jsonify(status=localStatus, message=message )
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
API de creation d'une session de formation
|
||||||
|
"""
|
||||||
|
@app.route('/myclass/api/Add_Update_SessionFormation/', methods=['POST','GET'])
|
||||||
|
@crossdomain(origin='*')
|
||||||
|
def Add_Update_SessionFormation():
|
||||||
|
# On recupere le corps (payload) de la requete
|
||||||
|
payload = request.form.to_dict()
|
||||||
|
print(" ### Add_Update_SessionFormation : payload = ",str(payload))
|
||||||
|
localStatus, message= SF.Add_Update_SessionFormation(payload)
|
||||||
|
return jsonify(status=localStatus, message=message )
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
API de recuperation session de formation
|
||||||
|
"""
|
||||||
|
@app.route('/myclass/api/GetSessionFormation/', methods=['POST','GET'])
|
||||||
|
@crossdomain(origin='*')
|
||||||
|
def GetSessionFormation():
|
||||||
|
# On recupere le corps (payload) de la requete
|
||||||
|
payload = request.form.to_dict()
|
||||||
|
print(" ### GetSessionFormation : payload = ",str(payload))
|
||||||
|
localStatus, message= SF.GetSessionFormation(payload)
|
||||||
|
return jsonify(status=localStatus, message=message )
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
print(" debut api")
|
print(" debut api")
|
||||||
|
|
Loading…
Reference in New Issue