25/09/22 - 15h00

master
ChérifBALDE 2022-09-25 16:48:04 +02:00 committed by cherif
parent 501a34e0c1
commit 0c0ebc0083
5 changed files with 95 additions and 8 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9" project-jdk-type="Python SDK" /> <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (venv)" project-jdk-type="Python SDK" />
<component name="PyCharmProfessionalAdvertiser"> <component name="PyCharmProfessionalAdvertiser">
<option name="shown" value="true" /> <option name="shown" value="true" />
</component> </component>

View File

@ -4,7 +4,7 @@
<content url="file://$MODULE_DIR$"> <content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/venv" /> <excludeFolder url="file://$MODULE_DIR$/venv" />
</content> </content>
<orderEntry type="jdk" jdkName="Python 3.9" jdkType="Python SDK" /> <orderEntry type="jdk" jdkName="Python 3.10 (venv)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
</component> </component>
</module> </module>

View File

@ -2209,4 +2209,73 @@ def get_class_by_metier(diction):
except Exception as e: except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info() 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)) mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
return False, "Impossible de recuperer les formations par metier" return False, "Impossible de recuperer les formations par metier"
"""
Cette fonction modifier le ranking des formations d'un partenaire en masse.
Par exemple, lorqu'il change d'abonnement et passe
du standard au gold, toutes ses formation prenne le ranking des golds.
"""
def UpdataPartnerRankingClass(diction):
try:
'''
Une fois qu'on a controlé que toutes les clés mise dans l'API sont correcte. etape precedente,
On controle que les champs obligatoires sont presents dans la liste
'''
field_list_obligatoire = ['partnaire_recid', 'new_pack_name']
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 mettre à jour le rang des formations"
# Recuperation du rang associé au pack
new_ranking_value = ""
coll_pack = MYSY_GV.dbname["pack"]
tmp = coll_pack.count_documents({"code_pack":str(diction["new_pack_name"]).lower()})
if( tmp <= 0 ):
mycommon.myprint(
str(inspect.stack()[0][3]) + " - le pack "+str(diction["new_pack_name"]).lower()+ " n'est pas paramettré corretement")
return False, "Impossible de mettre à jour le rang des formations"
ranking_tab = None
ranking_tab = coll_pack.find({"code_pack":str(diction["new_pack_name"]).lower()})
if( ranking_tab and ranking_tab[0] and ranking_tab[0]["ranking"] ):
new_ranking_value = str(ranking_tab[0]["ranking"])
else:
mycommon.myprint(
str(inspect.stack()[0][3]) + " - le pack " + str(
diction["new_pack_name"]) + " n'est pas paramettré corretement - V2")
return False, "Impossible de mettre à jour le rang des formations"
coll_class = MYSY_GV.dbname['myclass']
now = datetime.now()
update_data = {"display_rank":str(new_ranking_value), "date_update":str(now)}
ret_val = coll_class.update_many(
{"partner_owner_recid": str(diction['partnaire_recid']), "valide":"1"},
{"$set": update_data}, )
mycommon.myprint(
str(inspect.stack()[0][3]) + " - Le RANKING de "+str(ret_val.matched_count)+" ont été mise à jour avec la valeur "+str(update_data))
return True, " Mise à jour du display_rank OK"
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 mettre à jour le rang des formations"

View File

@ -26,6 +26,7 @@ import ftplib
import pysftp import pysftp
from flask import send_file from flask import send_file
from dateutil.relativedelta import relativedelta from dateutil.relativedelta import relativedelta
import class_mgt as class_mgt
class JSONEncoder(json.JSONEncoder): class JSONEncoder(json.JSONEncoder):
@ -245,6 +246,24 @@ def add_payement_mode(diction):
print("mode de payement data :"+str(new_data)) print("mode de payement data :"+str(new_data))
print("str(new_data['num_carte']) = "+str(new_data['num_carte']) )
print("str(new_data['nom_carte']) = " + str(new_data['nom_carte']) )
"""if( str(new_data['type']) == "cb"):
if( len(str(new_data['num_carte'])) <= 0 or len(str(new_data['nom_carte'])) ):
mycommon.myprint(
str(inspect.stack()[0][3]) + " : Les données de la carte sont incorrectes")
return False, "Impossible d'ajouter le mode de paiement. Les données de la carte sont incorrectes"
if (str(new_data['type']) == "sepa"):
if (len(str(new_data['iban'])) <= 0 or len(str(new_data['bic']))
or len(str(new_data['nom_compte'])) ):
mycommon.myprint(
str(inspect.stack()[0][3]) + " : Les données bancaires sont incorrectes")
return False, "Impossible d'ajouter le mode de paiement. Les données bancaires sont incorrectes"
"""
ret_val = coll_name.find_one_and_update( ret_val = coll_name.find_one_and_update(
{'client_recid': user_recid, 'valide': '1'}, {'client_recid': user_recid, 'valide': '1'},
{"$set": new_data}, {"$set": new_data},
@ -604,6 +623,10 @@ def createOrder(diction):
if (total_ttc_float > 0): if (total_ttc_float > 0):
CreateInvoice(new_data) CreateInvoice(new_data)
# Apres la facturation, on met à jour le display_ranking des formations du partenaire.
tmp_diction = {"partnaire_recid":str(user_recid), "new_pack_na"
"me":str(mypack)}
class_mgt.UpdataPartnerRankingClass(tmp_diction)
return True, "la commande été correctement créee", str(new_data['order_id']) return True, "la commande été correctement créee", str(new_data['order_id'])
else: else:
mycommon.myprint( mycommon.myprint(

View File

@ -2201,8 +2201,3 @@ def correction_collection():
exc_type, exc_obj, exc_tb = sys.exc_info() exc_type, exc_obj, exc_tb = sys.exc_info()
print(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno)) print(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
return False, False return False, False
"""
cherif
"""