03/11/22 - 17h30

master
cherif 2022-11-03 17:44:51 +01:00
parent db1548554c
commit cc992b446e
3 changed files with 99 additions and 3 deletions

View File

@ -19,7 +19,7 @@ import GlobalVariable as MYSY_GV
from math import isnan
import GlobalVariable as MYSY_GV
import ela_index_bdd_classes as eibdd
import email_mgt as email
class JSONEncoder(json.JSONEncoder):
@ -2692,10 +2692,36 @@ def get_associated_class_of_partnair(diction):
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 formation"
"""
Cette fonction est utilisée pour la demande d'information sur une formation.
Depuis le site, lorqu'un utilisateur souhaite se renseigner sur une formation.
c'est la fonction : "je me renseigne"
"""
def RenseignementClass(diction):
try:
field_list_obligatoire = ['nom', 'prenom', 'email', 'telephone', 'employeur',
'message', '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, " : La valeur '" + val + "' n'est pas presente dans liste "
email.EmailDemandeInfoClass(diction)
return True, " La demande d'information a bien ete envoyé"
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - Line : " + str(exc_tb.tb_lineno))
return False, " Impossible d'envoyer la demande d'information pour une formation"

View File

@ -1450,7 +1450,65 @@ def send_user_init_pwd_mail(token, account_mail, type_account):
print(" Email envoyé " + str(val))
return True
return True
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 d'envoyer l'email de notification "
"""
Envoi de l'email de la demande d'information
sur une formation
"""
def EmailDemandeInfoClass( diction):
try:
tomorrow = datetime.date.today() + datetime.timedelta(days=1)
tomorrow_day = tomorrow.strftime("%A")
print("debut envoi mail de test ")
# on rentre les renseignements pris sur le site du fournisseur
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
# msg = MIMEMultipart("alternative")
msg = EmailMessage()
# JINJA2
templateLoader = jinja2.FileSystemLoader(searchpath="./")
templateEnv = jinja2.Environment(loader=templateLoader)
TEMPLATE_FILE = "Template/MySy_Demande_Info_Class_tpl.html"
template = templateEnv.get_template(TEMPLATE_FILE)
# This data can come from database query
body = {
"params":{"nom": str(diction['nom']),
"prenom": str(diction['prenom']),
"email": str(diction['email']),
"telephone": str(diction['telephone']),
"employeur": str(diction['employeur']),
"message": str(diction['message']),
"class_internal_url": str(diction['class_internal_url']),
},
}
sourceHtml = template.render(params=body["params"])
msg.set_content(sourceHtml, subtype='html')
msg['From'] = 'cbalde@mysy-training.com'
msg['Cc'] = 'contact@mysy-training.com'
msg['Subject'] = "[MySy Training Technology] : Demande d'information"
msg['To'] = 'contact@mysy-training.com'
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.login(MYSY_GV.O365_SMTP_COUNT_user, MYSY_GV.O365_SMTP_COUNT_password)
val = smtpserver.send_message(msg)
smtpserver.close()
print(" Email envoyé " + str(val))
return True
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()

12
main.py
View File

@ -1932,6 +1932,18 @@ def GetListOpco():
return jsonify(status=localStatus, message=message )
"""
API de demande d'information sur une formation
"""
@app.route('/myclass/api/RenseignementClass/', methods=['POST','GET'])
@crossdomain(origin='*')
def RenseignementClass():
# On recupere le corps (payload) de la requete
payload = request.form.to_dict()
print(" ### RenseignementClass : payload = ",str(payload))
localStatus, message= cm.RenseignementClass(payload)
return jsonify(status=localStatus, message=message )
if __name__ == '__main__':
print(" debut api")