diff --git a/Template/MySy_Sales_Order_tpl.html b/Template/MySy_Sales_Order_tpl.html
index d468a47..451540e 100644
--- a/Template/MySy_Sales_Order_tpl.html
+++ b/Template/MySy_Sales_Order_tpl.html
@@ -73,19 +73,19 @@
font-size: small; line-height: 1.4rem;color: #3b3e40;">
Confirmation de votre commande n° {{params.order_id}}
-
+
{{params.client_name}}
{{params.client_address}}
{{params.client_zip_ville}}
{{params.client_pays}}
-
+
Commande n° {{params.order_id}}
Date de commande : {{params.date_order}}
{% if params.end_date %}
-
+
{% endif %}
diff --git a/class_mgt.py b/class_mgt.py
index 81ba468..6a73f13 100644
--- a/class_mgt.py
+++ b/class_mgt.py
@@ -46,7 +46,7 @@ def add_class(diction):
field_list = ['external_code', 'title', 'description', 'trainer', 'institut_formation', 'distantiel', 'presentiel',
'price', 'url','duration', 'duration_unit', 'token', 'plus_produit', 'mots_cle','domaine',
'internal_url', 'zone_diffusion', 'metier', 'date_lieu', 'published', 'img_url', 'objectif',
- 'programme', 'prerequis', 'note', 'cpf', 'certif']
+ 'programme', 'prerequis', 'note', 'cpf', 'certif', 'class_inscription_url']
incom_keys = diction.keys()
for val in incom_keys:
@@ -149,6 +149,11 @@ def add_class(diction):
if diction['cpf']:
mydata['cpf'] = diction['cpf']
+ if ("class_inscription_url" in diction.keys()):
+ if diction['class_inscription_url']:
+ mydata['class_inscription_url'] = diction['class_inscription_url']
+
+
if ("certif" in diction.keys()):
if diction['certif']:
mydata['certif'] = diction['certif']
@@ -530,7 +535,7 @@ def update_class(diction):
'presentiel','price', 'url', 'duration', 'token','plus_produit', 'mots_cle',
'domaine', 'internal_code', 'internal_url','zone_diffusion', 'metier',
'date_lieu', 'published', 'img_url', 'objectif', 'programme', 'prerequis', 'note',
- 'cpf', 'certif']
+ 'cpf', 'certif', 'class_inscription_url']
incom_keys = diction.keys()
for val in incom_keys:
@@ -595,6 +600,9 @@ def update_class(diction):
if ("title" in diction.keys()):
mydata['title'] = diction['title']
+ if ("class_inscription_url" in diction.keys()):
+ mydata['class_inscription_url'] = diction['class_inscription_url']
+
if ("note" in diction.keys()):
mydata['note'] = diction['note']
@@ -2226,7 +2234,8 @@ def add_class_mass(file=None, Folder=None, diction=None):
field_list = ['external_code', 'titre', 'description', 'formateur', 'institut_formation',
'distantiel', 'presentiel', 'prix', 'domaine', 'url','duree', 'plus_produit',
'mots_cle', 'zone_diffusion', 'metier', 'date_lieu', 'publie', 'img_url',
- 'objectif', 'programme', 'prerequis', 'formateur', 'note', 'cpf', 'certif']
+ 'objectif', 'programme', 'prerequis', 'formateur', 'note', 'cpf', 'certif',
+ 'class_inscription_url']
total_rows = len(df)
@@ -2292,6 +2301,10 @@ def add_class_mass(file=None, Folder=None, diction=None):
if (str(df['cpf'].values[n])):
mydata['cpf'] = str(df['cpf'].values[n])
+ if ("class_inscription_url" in df.keys()):
+ if (str(df['class_inscription_url'].values[n])):
+ mydata['class_inscription_url'] = str(df['class_inscription_url'].values[n])
+
if ("certif" in df.keys()):
if (str(df['certif'].values[n])):
mydata['certif'] = str(df['certif'].values[n])
diff --git a/data_indexees.csv b/data_indexees.csv
index 1c6d062..958bb1c 100644
--- a/data_indexees.csv
+++ b/data_indexees.csv
@@ -1,3 +1,3 @@
,index,mots,occurence,moyenne,id_formation,source_field
-0,0,actualite,1,0.5,POT_191206,title
-1,1,sociale,1,0.5,POT_191206,title
+0,0,sociale,1,0.5,POT_191206,title
+1,1,actualite,1,0.5,POT_191206,title
diff --git a/ela_factures_mgt.py b/ela_factures_mgt.py
index 5f8bfb2..8187d42 100644
--- a/ela_factures_mgt.py
+++ b/ela_factures_mgt.py
@@ -428,8 +428,7 @@ def get_payement_mode(diction):
tmp_diction = {}
tmp_diction['stripe_account_id'] = str(stripe_account_id)
- print("## recherche mod de payement stripe_account_id = "+str(stripe_account_id)
- )
+ #print("## recherche mod de payement stripe_account_id = "+str(stripe_account_id) )
localStatus, payment_cards = Stripe.get_customer_payement_cards(tmp_diction)
val_tmp = {}
@@ -439,7 +438,7 @@ def get_payement_mode(diction):
RetObject_stripe.append(val_tmp)
#RetObject_stripe.append(JSONEncoder().encode(tmp))
- print(" #### mode de payement via stripe = "+str(RetObject_stripe))
+ #print(" #### mode de payement via stripe = "+str(RetObject_stripe))
RetObject = []
coll_facture = MYSY_GV.dbname['payement_mode']
diff --git a/ela_output_test_file_pandas_2.txt b/ela_output_test_file_pandas_2.txt
index efe47a0..9667650 100644
--- a/ela_output_test_file_pandas_2.txt
+++ b/ela_output_test_file_pandas_2.txt
@@ -1,3 +1,3 @@
mots occurence moyenne id_formation source_field
-0 actualite 1 0.5 POT_191206 title
-1 sociale 1 0.5 POT_191206 title
\ No newline at end of file
+0 sociale 1 0.5 POT_191206 title
+1 actualite 1 0.5 POT_191206 title
\ No newline at end of file
diff --git a/email_mgt.py b/email_mgt.py
index 318453d..a7f7a4f 100644
--- a/email_mgt.py
+++ b/email_mgt.py
@@ -504,9 +504,9 @@ def SalesOrderConfirmationEmail_old(account_mail, diction):
"""
-Cette fonction envoi les factures
+Cette fonction envoi les factures OLD
"""
-def SendInvoiceEmail(account_mail, diction):
+def SendInvoiceEmail_Old(account_mail, diction):
try:
'''
Verification des données obligatoires
@@ -1022,46 +1022,8 @@ def SalesOrderConfirmationEmail(account_mail, diction):
toaddrs = ", ".join(receiver)
# on rentre les renseignements pris sur le site du fournisseur
- msg = MIMEMultipart("alternative")
-
- msg['Subject'] = '[MySy Training]: votre compte PRO est pret'
- msg['From'] = 'contact@mysy-training.com'
- msg['To'] = str(toaddrs)
- msg['Cc'] = 'contact@mysy-training.com'
-
- to = [{"email": str(account_mail)}]
-
- #print(" ############# to = "+str(to))
- bcc = [{"email": "contact@mysy-training.com"}]
-
- """
- send_smtp_email = sib_api_v3_sdk.SendSmtpEmail(template_id=22, params={"order_id": order_id,
- "date_order": date_order,
-
- "total_ht": total_ht,
- "tva": tva,
- "total_ttc": total_ttc,
- "client_name": client_name,
- "client_address": client_address,
- "client_zip_ville": client_zip_ville,
- "client_pays": client_pays,
-
- "packs": packs,
- "detail_packs": detail_packs,
- "qty": qty,
- "unit_price": unit_price,
- "montant":montant,
- "end_date": my_end_date,
-
- }, to=to, bcc=bcc)
-
- """
#----------
- mail_recever = "billardman01@hotmail.com,cherif.balde@yahoo.fr,cbalde@mysy-training.com"
- mail_object = " new mysy email"
- mail_message = " le message : corps du mail "
-
-
+ mail_recever = str(toaddrs)
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
@@ -1103,8 +1065,9 @@ def SalesOrderConfirmationEmail(account_mail, diction):
msg.set_content(sourceHtml, subtype='html')
msg['Subject'] = "[MySy Training] : Confirmation commande N°"+str(order_id)
- msg['From'] = "cbalde@mysy-training.com"
+ msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
msg['To'] = str(mail_recever)
+ msg['Cc'] = 'contact@mysy-training.com'
# html_mime = MIMEText(html, 'html')
@@ -1508,3 +1471,193 @@ def EmailDemandeInfoClass( diction):
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 "
+
+"""
+Cette fonction envoi les factures
+"""
+def SendInvoiceEmail(account_mail, diction):
+ try:
+ '''
+ Verification des données obligatoires
+ '''
+ '''
+ 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 = ['invoice_nom', 'invoice_adr_street', 'invoice_adr_zip', 'invoice_adr_city',
+ 'invoice_adr_country', 'invoice_id', 'invoice_date', 'due_date', 'order_id', 'item_0',
+ 'total_ht', 'total_tva', 'total_ttc', ]
+
+ 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 d'envoyer la facture par email"
+
+
+ order_id = diction['order_id']
+ date_order = diction['order_date']
+ client_name = str(diction['invoice_nom'])
+ client_address= str(diction['invoice_adr_street'])
+ client_zip_ville = str(diction['invoice_adr_zip']) + " " + str(diction['invoice_adr_city'])
+ client_pays = str(diction['invoice_adr_country'])
+ invoice_id = str(diction['invoice_id'])
+ invoice_date = str(diction['invoice_date'])
+ due_date = str(diction['due_date'])
+ orign_order = str(diction['order_id'])
+ packs = str(diction['item_0']['code'])
+ qty = str(diction['item_0']['qty'])
+ unit_price = str(diction['item_0']['prix'])
+ montant = str(diction['item_0']['amount'])
+ total_ht = str(diction['total_ht'])
+ tva = str(diction['total_tva'])
+ total_ttc = str(diction['total_ttc'])
+
+ my_end_date = ""
+
+ if ("end_date" in diction.keys()):
+ if diction.keys():
+ my_end_date = "*Offre valable jusqu'au "+str(diction['end_date'])
+
+ nb_line = mycommon.tryInt(diction['nb_product'])
+
+ if( nb_line == 0 ):
+ mycommon.myprint(str(inspect.stack()[0][3]) + " - nb_line = '" + nb_line + "' : Aucun produit à facturer")
+ return False, " Impossible d'envoyer l'email de confirmation"
+
+ #print("Facture client_name = "+str(client_name))
+ #print("Facture client_address = " + str(client_address))
+ #print("Facture client_zip_ville = " + str(client_zip_ville))
+ #print("Facture client_pays = " + str(client_pays))
+ #print("Facture order_id = " + str(order_id))
+ #print("Facture date_order = " + str(date_order))
+ #print("Facture nb_line = " + str(nb_line))
+ #print("Facture End Date = " + str(my_end_date))
+
+ # Recuperation des produits (max 3 produits)
+ # produit 1
+ if ("item_0" in diction.keys()):
+ if( diction["item_0"] ):
+ packs = diction["item_0"]['code']
+ qty = diction["item_0"]['qty']
+ unit_price = diction["item_0"]['prix']
+ montant = diction["item_0"]['amount']
+ detail_packs = diction["item_0"]['pack_products']
+ #print("diction['item_0']['pack_products'] = "+str(diction["item_0"]['pack_products']))
+
+ # produit 2
+ if ("item_1" in diction.keys()):
+ if (diction["item_1"]):
+ packs1 = diction["item_1"]['code']
+ qty1 = diction["item_0"]['qty']
+ unit_price1 = diction["item_1"]['prix']
+ montant1 = diction["item_1"]['amount']
+ detail_packs1 = diction["item_1"]['pack_products']
+
+ # produit 3
+ if ("item_2" in diction.keys()):
+ if (diction["item_2"]):
+ packs2 = diction["item_2"]['code']
+ qty2 = diction["item_0"]['qty']
+ unit_price2 = diction["item_2"]['prix']
+ montant2 = diction["item_2"]['amount']
+ detail_packs2 = diction["item_1"]['pack_products']
+
+
+ i = 0
+ while (i < nb_line):
+ row = "item_" + str(i)
+ #print(" product = "+ str(diction[str(row)]))
+ i = i + 1
+
+ receiver = [str(account_mail)]
+ toaddrs = ", ".join(receiver)
+
+
+
+ #print("Facture mail enoye à toaddrs : " + toaddrs)
+ #print("Facture debut envoi mail de test ")
+ # on rentre les renseignements pris sur le site du fournisseur
+
+ 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_Invoice_tpl.html"
+ template = templateEnv.get_template(TEMPLATE_FILE)
+ body = {
+ "params": {"order_id": order_id,
+ "date_order": date_order,
+ "total_ht": total_ht,
+ "tva": tva,
+ "total_ttc": total_ttc,
+ "client_name": client_name,
+ "client_address": client_address,
+ "client_zip_ville": client_zip_ville,
+ "client_pays": client_pays,
+ "packs": packs,
+ "detail_packs": detail_packs,
+ "qty": qty,
+ "unit_price": unit_price,
+ "montant": montant,
+ "invoice_id": invoice_id,
+ "invoice_date": invoice_date,
+ "due_date": due_date,
+ "orign_order": orign_order,
+ }
+ }
+ sourceHtml = template.render(params=body["params"])
+
+ msg.set_content(sourceHtml, subtype='html')
+ msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
+ msg['Cc'] = 'contact@mysy-training.com'
+ msg['Subject'] = "[MySy Training Technology] : Votre facture N° "+str(invoice_id)
+ msg['To'] = str(toaddrs)
+
+ 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
+
+ """
+
+ send_smtp_email = sib_api_v3_sdk.SendSmtpEmail(template_id=23, params={"order_id": order_id,
+ "date_order": date_order,
+
+ "total_ht": total_ht,
+ "tva": tva,
+ "total_ttc": total_ttc,
+ "client_name": client_name,
+ "client_address": client_address,
+ "client_zip_ville": client_zip_ville,
+ "client_pays": client_pays,
+ "packs": packs,
+ "detail_packs": detail_packs,
+ "qty": qty,
+ "unit_price": unit_price,
+ "montant":montant,
+ "invoice_id":invoice_id,
+ "invoice_date":invoice_date,
+ "due_date":due_date,
+ "orign_order":orign_order,
+ }, to=to, bcc=bcc)
+ api_response = api_instance.send_transac_email(send_smtp_email)
+ #print("Facture "+str(api_response))
+ return True
+ """
+ except Exception as e:
+ 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))
+ return False
diff --git a/strype_payement.py b/strype_payement.py
index f282327..d2b74fe 100644
--- a/strype_payement.py
+++ b/strype_payement.py
@@ -138,7 +138,7 @@ def get_customer_payement_cards(diction):
type="card",
)
- print(" ### customer_payments = "+str(customer_payments.data))
+ #print(" ### customer_payments = "+str(customer_payments.data))
RetObject = []
for val in customer_payments.data :
@@ -291,7 +291,7 @@ def confirm_suscription(diction):
payment_method="pm_card_visa",
)
- print("### confirmation_payement.data = "+str(confirmation_payement))
+ #print("### confirmation_payement.data = "+str(confirmation_payement))
return True, confirmation_payement.id, confirmation_payement.status
@@ -336,7 +336,7 @@ def create_subscription(diction):
expand=['latest_invoice.payment_intent'],
)
- print(" ### subscription = "+str(subscription))
+ #print(" ### subscription = "+str(subscription))
return True, subscription.latest_invoice.payment_intent.id, subscription.latest_invoice.payment_intent.client_secret