diff --git a/mondumas/models/parametres.py b/mondumas/models/parametres.py index 3d8cb9b..2a878db 100644 --- a/mondumas/models/parametres.py +++ b/mondumas/models/parametres.py @@ -26,7 +26,7 @@ def get_log_nuit(request, ): results = request.dbsession.execute(query, ) return results.fetchall() -def get_last_emailing(request): +def get_rappels_rdv(request): """Lire les 200 derniers envois d'emails""" query = "SELECT * FROM email_rappels ORDER BY no_id DESC LIMIT 400;" results = request.dbsession.execute(query, {}) @@ -47,7 +47,7 @@ def get_dossiers_byChantier(request, societe, name): def get_cabinets_by_id(request, code): # lire les cabinets if code == '0': - query = """SELECT * FROM P_CABINET WHERE afficher <> 0 ORDER BY nom;""" + query = """SELECT * FROM P_CABINET ORDER BY nom;""" results = request.dbsession.execute(query).fetchall() else: query = """SELECT * FROM P_CABINET WHERE code=:code;""" @@ -209,3 +209,6 @@ def delete_expert(request, code_cab, code_exp): query = "DELETE FROM p_experts WHERE code_cab = :code_cab AND code_exp = :code_exp;" execute_query(request, query, {'code_cab': code_cab, 'code_exp': code_exp}) +def update_rappels(request): + query = "CALL spUPD_RAPPELS();" + execute_query(request, query) diff --git a/mondumas/routes.py b/mondumas/routes.py index 582856c..9d10340 100644 --- a/mondumas/routes.py +++ b/mondumas/routes.py @@ -59,8 +59,8 @@ def includeme(config): config.add_route('emails_sent', '/emails_sent') config.add_route('expert_edit', '/expert_edit/{code_cab}/{code_exp}') config.add_route('infrastructure', '/infrastructure') - config.add_route('last_emailing', '/last_emailing') config.add_route('orphans_de', '/orphans_de/{societe}') + config.add_route('rappels_rdv', '/rappels_rdv') config.add_route('rdf_cause_edit', '/rdf_cause_edit/{code}') config.add_route('rdf_causes', '/rdf_causes') config.add_route('text_edit', '/text_edit/{text_id}') diff --git a/mondumas/templates/dossier/dossier_lookup.pt b/mondumas/templates/dossier/dossier_lookup.pt index 14642fc..bcff91d 100644 --- a/mondumas/templates/dossier/dossier_lookup.pt +++ b/mondumas/templates/dossier/dossier_lookup.pt @@ -85,7 +85,7 @@ }, }, ], - "createdRow": function( row, data, dataIndex ){ + createdRow: function( row, data, dataIndex ){ if ( data[6] == "Humidité" ) { $('td', row).eq(6).css('background-color', 'Crimson').css('color', 'white'); } diff --git a/mondumas/templates/parametres/cabinets.pt b/mondumas/templates/parametres/cabinets.pt index 6623bc3..a9f6098 100644 --- a/mondumas/templates/parametres/cabinets.pt +++ b/mondumas/templates/parametres/cabinets.pt @@ -17,6 +17,7 @@
[ Consulter les derniers envois de mail ]
+[ Consulter les derniers envois de mail ]
| ${item.date.strftime('%d %b, %H:%M')} | diff --git a/mondumas/templates/parametres/last_emailing.pt b/mondumas/templates/parametres/rappels_rdv.pt similarity index 64% rename from mondumas/templates/parametres/last_emailing.pt rename to mondumas/templates/parametres/rappels_rdv.pt index 1ceaf7e..555c085 100644 --- a/mondumas/templates/parametres/last_emailing.pt +++ b/mondumas/templates/parametres/rappels_rdv.pt @@ -1,8 +1,16 @@
| Date RDV | @@ -24,7 +32,7 @@ $(document).ready(function() { $.fn.dataTable.moment('DD-MM-YYYY HH:mm'); - $('#last_emailing').DataTable({ + $('#rappels_rdv').DataTable({ data: dataSet, pageLength: 100, bLengthChange: false, diff --git a/mondumas/views/parametres.py b/mondumas/views/parametres.py index 2f25451..0944ea3 100644 --- a/mondumas/views/parametres.py +++ b/mondumas/views/parametres.py @@ -179,12 +179,21 @@ def dashboard(request): 'log_nuit': log_nuit, } -@view_config(route_name='last_emailing', renderer='../templates/parametres/last_emailing.pt', permission='manage') -def last_emailing(request): +@view_config(route_name='rappels_rdv', renderer='../templates/parametres/rappels_rdv.pt', permission='manage') +def rappels_rdv(request): - items = get_last_emailing(request) + if 'form.generate' in request.params: + update_rappels(request) + request.session.flash(u"Les rappels ont été générés avec succès.", 'success') - # construire la liste + if 'form.emailing' in request.params: + notifier_rappels(request) + request.session.flash(u"Les rappels ont été envoyés par email avec succès.", 'success') + + # lires les rappels générés + items = get_rappels_rdv(request) + + # construire la liste des RDV liste=[] for item in items: if item.rdv_date: @@ -201,8 +210,9 @@ def last_emailing(request): liste.append(d) return { - 'page_title': 'Liste des derniers emailing', + 'page_title': 'Derniers rappels de RDV', 'dt_data': json.dumps(liste), + 'url': request.route_url('rappels_rdv'), } @view_config(route_name='orphans_de', renderer='../templates/parametres/orphans_de.pt', permission='manage') @@ -539,7 +549,7 @@ def cabinets(request): liste=[] for item in items: modif_le = item.modif_le.strftime('%d/%m/%Y') - d = (item.CODE, item.NOM, item.TEL1, item.TEL2, item.TELP, item.VILLE, modif_le) + d = (item.CODE, item.NOM, item.TEL1, item.TEL2, item.TELP, item.VILLE, str(item.afficher), modif_le) liste.append(d) @@ -697,3 +707,4 @@ def expert_edit(request): 'code_exp': code_exp, 'message': message, } + diff --git a/mondumas/views/utils.py b/mondumas/views/utils.py index 319f451..0a09620 100644 --- a/mondumas/views/utils.py +++ b/mondumas/views/utils.py @@ -19,3 +19,92 @@ def batch_nuit(request): return Response('Batch nuit terminé OK') +def notifier_rappels(request): + + szSQL = "insert t_log_nuit (proc,msg) values ('RAPPELS','- Début ENVOI emails');" + ExecQuery(ctDSN_AEM, szSQL) + + szSQL = "SELECT r.*, e.c_qualite, e.c_nom, e.c_adr, e.c_adr2, e.c_ville, e.c_email, s.tel, s.nom as nom_societe FROM email_rappels r " & _ + "INNER JOIN dem_devis e ON r.societe = e.societe AND r.nochantier = e.no_id " & _ + "INNER JOIN p_societe s ON r.societe = s.societe " & _ + "WHERE ISNULL(envoye_le) ORDER BY no_id;" + GetRecordset(ctDSN_AEM, szSQL, rsRappel) + + Do While Not rsRappel.EOF + nbLus += 1 + If rsRappel.Fields("c_email").Value.ToString.Length = 0 Then + nbEmailVide += 1 + szSQL = "insert t_log_nuit (proc,msg) values ('RAPPELS', '--> email vide : " & rsRappel.Fields("societe").Value & "-" & nq(rsRappel.Fields("nochantier").Value) & _ + " - " & rsRappel.Fields("c_qualite").Value & " " & nq(rsRappel.Fields("c_nom").Value) & "');" + ExecQuery(ctDSN_AEM, szSQL) + Else + ' RDV ayant une heure + date_heure = Format(rsRappel.Fields("rdv_date").Value, "dd/MM/yyyy à HH:mm") + szBody = "
|---|