From cb3035d72c921ca3a00fabdeed214e433051b28f Mon Sep 17 00:00:00 2001 From: Phuoc CAO Date: Wed, 24 Mar 2021 16:28:06 +0100 Subject: [PATCH] added societes.pt and societe_edit.pt --- mondumas/models/parametres.py | 12 + mondumas/models/utils.py | 2 +- mondumas/routes.py | 2 + mondumas/templates/parametres/parametres.pt | 12 +- mondumas/templates/parametres/societe_edit.pt | 221 ++++++++++++++++++ mondumas/templates/parametres/societes.pt | 55 +++++ mondumas/views/parametres.py | 66 ++++++ mondumas/views/utils.py | 6 +- 8 files changed, 368 insertions(+), 8 deletions(-) create mode 100644 mondumas/templates/parametres/societe_edit.pt create mode 100644 mondumas/templates/parametres/societes.pt diff --git a/mondumas/models/parametres.py b/mondumas/models/parametres.py index 13a4d93..0cae193 100644 --- a/mondumas/models/parametres.py +++ b/mondumas/models/parametres.py @@ -212,3 +212,15 @@ def get_stats_delais(request, societe, datedeb, datefin, groupe, id_chart): 'datefin': datefin.strftime("%Y%m"), 'groupe': groupe}) return results.fetchall() +def update_societe(request, code, new_values): + # formater les champs + s = '' + for param in new_values.keys(): + if s: + s += ",%s=:%s" % (param, param) + else: + s = "%s=:%s" % (param, param) + + new_values['societe'] = code + query = "UPDATE p_societe SET %s WHERE societe = :societe;" % s + execute_query(request, query, new_values) diff --git a/mondumas/models/utils.py b/mondumas/models/utils.py index ff84aa3..3bf35f9 100644 --- a/mondumas/models/utils.py +++ b/mondumas/models/utils.py @@ -56,7 +56,7 @@ def get_societes(request, societe): if societe == '0': query = "SELECT * FROM p_societe;" - results = request.dbsession.execute(query, {'societe': societe, 'no_id': no_id}).fetchall() + results = request.dbsession.execute(query,).fetchall() else: query = "SELECT * FROM p_societe WHERE societe = :societe;" results = request.dbsession.execute(query, {'societe': societe}).first() diff --git a/mondumas/routes.py b/mondumas/routes.py index 31f1039..f2bd940 100644 --- a/mondumas/routes.py +++ b/mondumas/routes.py @@ -63,6 +63,8 @@ def includeme(config): 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('societe_edit', '/societe_edit/{societe}') + config.add_route('societes', '/societes') config.add_route('text_edit', '/text_edit/{text_id}') config.add_route('text_list', '/text_list') config.add_route('text_view', '/text_view/{text_id}') diff --git a/mondumas/templates/parametres/parametres.pt b/mondumas/templates/parametres/parametres.pt index 125755c..0634f08 100644 --- a/mondumas/templates/parametres/parametres.pt +++ b/mondumas/templates/parametres/parametres.pt @@ -12,8 +12,8 @@

ARTICLES

- -

RDF : CAUSES

+ +

CABINETS EXP.

@@ -23,8 +23,12 @@
- -

CABINETS EXP.

+ +

SOCIETES

+
+
+ +

RDF : CAUSES


diff --git a/mondumas/templates/parametres/societe_edit.pt b/mondumas/templates/parametres/societe_edit.pt new file mode 100644 index 0000000..88d5cc5 --- /dev/null +++ b/mondumas/templates/parametres/societe_edit.pt @@ -0,0 +1,221 @@ + +
+ +
+
+
+ +
+ +
+

${code}

+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+
+ +
+
+ +
+
+ +
+ +
+

${societe.modif_le.strftime('%d-%m-%Y %H:%M')}

+
+
+
+
+ + Annuler + +
+
+
+ +
+
+
+ + + + + +
+ diff --git a/mondumas/templates/parametres/societes.pt b/mondumas/templates/parametres/societes.pt new file mode 100644 index 0000000..d4686b0 --- /dev/null +++ b/mondumas/templates/parametres/societes.pt @@ -0,0 +1,55 @@ + +
+ +

+ + Retour +

+ + + + + + + + + + + + + +
CodeNomEmailTéléponeBICIBANModif le
+ +
+
+ + + +
+
+ + diff --git a/mondumas/views/parametres.py b/mondumas/views/parametres.py index 0c485b2..d9e1b5f 100644 --- a/mondumas/views/parametres.py +++ b/mondumas/views/parametres.py @@ -24,6 +24,7 @@ import json from ..models.parametres import * from ..models.default import * +from ..models.utils import * from ..views.default import * @view_config(route_name='parametres', renderer='../templates/parametres/parametres.pt', permission='manage') @@ -735,3 +736,68 @@ def stats_delais(request): 'groupes': groupes, 'groupe': groupe, } + +@view_config(route_name='societes', renderer='../templates/parametres/societes.pt', permission='manage') +def societes(request): + + # lire les societes + items = get_societes(request, '0') + + # construire la liste + liste=[] + for item in items: + modif_le = item.modif_le.strftime('%d/%m/%Y') + d = (item.societe, item.NOM, item.email_from, item.TEL, item.bic, item.iban, modif_le) + liste.append(d) + + + return { + 'page_title': 'Liste des societes', + 'dt_data': json.dumps(liste), + } + +@view_config(route_name='societe_edit', renderer='../templates/parametres/societe_edit.pt', permission='manage') +def societe_edit(request): + + logged_in = request.authenticated_userid + code = request.matchdict['societe'] + url = request.route_url("societe_edit", societe=code) + + message = '' + + # lire societe + societe = get_societes(request, code) + if not societe: + request.session.flash(u"Societe non trouvé : %s" % code, 'warning') + return HTTPFound(location=request.route_url('societes')) + + code_postal = '%s - %s' % (societe.CP, societe.VILLE) + + if 'form.submitted' in request.params: + new_values = {} + for param, db_value in societe.items(): + if param in request.params and request.params[param] != db_value: + new_values[param] = request.params[param] + + # controle saisie code postal + code_postal = request.params['code_postal'] + cp = code_postal.split(' - ') + if len(cp) < 2: + message = 'Code postal invalide. Veuillez sélectionner un parmi la liste.' + else: + new_values['CP'] = cp[0] + new_values['VILLE'] = cp[1] + + if new_values: + update_societe(request, code, new_values) + request.session.flash(u"La societe a été mise à jour avec succès.", 'success') + return HTTPFound(location=request.route_url('societes')) + + return { + 'page_title': "Modification de %s" % (societe.NOM), + 'url': url, + 'societe': societe, + 'code': code, + 'code_postal': code_postal, + 'message': message, + } diff --git a/mondumas/views/utils.py b/mondumas/views/utils.py index 30687b4..5e7c6b7 100644 --- a/mondumas/views/utils.py +++ b/mondumas/views/utils.py @@ -39,9 +39,9 @@ def batch_nuit(request): if TODAY.day == 1 : # données de + 10 ans until_date = date(TODAY.year - 10, TODAY.month, 1) - purge_mensuelle(request, until_date) - purge_clients(request) - delete_orphan_attached_files(request) + # purge_mensuelle(request, until_date) + # purge_clients(request) + # delete_orphan_attached_files(request) # ----- MAJ STATS DELAIS de traitements des dossiers sur 1 an insert_log(request, 'STATS', '- Début MAJ STATS DES PERFORMANCES')