diff --git a/mondumas/layout.py b/mondumas/layout.py index 784bc66..8e6e850 100644 --- a/mondumas/layout.py +++ b/mondumas/layout.py @@ -9,7 +9,7 @@ from .views.default import ( to_decz, ) -@layout_config(template='templates/layouts/global_layout.pt') +@layout_config(template='templates/global_layout.pt') class GlobalLayout(object): # page_title = "Pagode Tinh-Do" diff --git a/mondumas/models/default.py b/mondumas/models/default.py index 659a0db..cbff819 100644 --- a/mondumas/models/default.py +++ b/mondumas/models/default.py @@ -120,8 +120,11 @@ def get_article(request, type, libelle): elif type == 'AR': query = "SELECT * FROM articles WHERE ref_cli2 like :libelle;" results = request.dbsession.execute(query, {'libelle': libelle + "%"}).fetchall() + elif type == 'REF': + query = "SELECT * FROM articles WHERE ref = :ref;" + results = request.dbsession.execute(query, {'ref': libelle}).first() else: - query = "SELECT * FROM articles WHERE ref_cli2 = :ref_cli2;" - results = request.dbsession.execute(query, {'ref_cli2': libelle}).first() + query = "SELECT * FROM articles WHERE ref_cli2 = :ref;" + results = request.dbsession.execute(query, {'ref': libelle}).first() return results diff --git a/mondumas/models/devis.py b/mondumas/models/devis.py index 15d7dd1..9381b19 100644 --- a/mondumas/models/devis.py +++ b/mondumas/models/devis.py @@ -193,3 +193,13 @@ def move_devis_ligne(request, nodossier, nolig, move): # remettre le précédent ou suivant à la place de la ligne déplacée query = """UPDATE devis_lignes SET nolig = :nolig WHERE societe = :societe and no_id=:no_id and nolig = :max_no;""" execute_query(request, query, {'societe': societe, 'no_id': no_id, 'nolig': nolig, 'max_no': max_no}) + +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() + else: + query = "SELECT * FROM p_societe WHERE societe = :societe;" + results = request.dbsession.execute(query, {'societe': societe}).first() + return results diff --git a/mondumas/models/dossier.py b/mondumas/models/dossier.py index 8386823..f910570 100644 --- a/mondumas/models/dossier.py +++ b/mondumas/models/dossier.py @@ -121,17 +121,17 @@ WHERE societe<>:societe AND C_NOM=:C_NOM AND C_ADR=:C_ADR AND C_CP=:C_CP AND C_V return results -def get_docs_attaches(request, nodossier, norapport, nosection, filename): +def get_docs_attaches(request, nodossier, norapport, nosection, origine, filename): societe = nodossier[0:2] nochantier = int(nodossier[3:]) if filename == '': - query = "SELECT * FROM dossier_attaches WHERE nomrep = 'DOCS_ATTACHES' AND societe = :societe AND nochantier = :nochantier AND nodossier=0 ORDER BY cree_le;" + query = "SELECT * FROM dossier_attaches WHERE nomrep = 'DOCS_ATTACHES' AND societe = :societe AND nochantier = :nochantier AND nodossier=0 AND origine = :origine ORDER BY cree_le;" else: query = """SELECT * FROM dossier_attaches WHERE nomrep = 'DOCS_ATTACHES' AND societe = :societe AND nochantier = :nochantier - AND nodossier = :norapport AND nomfichier = :filename ORDER BY cree_le;""" - results = request.dbsession.execute(query, {'societe': societe, 'nochantier': nochantier, 'norapport': norapport, 'filename': filename}).fetchall() - + AND nodossier = :norapport AND origine = :origine AND nomfichier = :filename ORDER BY cree_le;""" + results = request.dbsession.execute(query, {'societe': societe, 'nochantier': nochantier, + 'norapport': norapport, 'origine': origine, 'filename': filename}).fetchall() return results def get_photos(request, nodossier, norapport, nosection): @@ -176,18 +176,26 @@ def update_dossier(request, nodossier, new_values): query = "CALL spUPD_CHANTIER_COORD(:societe, :nochantier);" execute_query(request, query, {'societe': societe, 'nochantier': nochantier}) -def insert_dossier_attaches(request, nodossier, norapport, nosection, filename, filesize, user): +def update_dossier_cloture(request, nodossier, logged_in): + societe = nodossier[0:2] + nochantier = int(nodossier[3:]) + # met le montant regle à 1 centime pour terminé le dossier + query = "UPDATE dem_devis SET mtregl = 0.01, USERMAJ = :logged_in WHERE societe=:societe AND no_id=:nochantier" + execute_query(request, query, {'societe': societe, 'nochantier': nochantier, 'logged_in': logged_in}) + +def insert_dossier_attaches(request, nodossier, norapport, nosection, origine, filename, filesize, user): societe = nodossier[0:2] nochantier = int(nodossier[3:]) # fichier existe ? - item = get_docs_attaches(request, nodossier, norapport, nosection, filename) + item = get_docs_attaches(request, nodossier, norapport, nosection, origine, filename) if item: return # enregistrer dans la table dossier_attaches - query = """INSERT INTO dossier_attaches (nomrep, societe, nochantier, nodossier, nosection, nomfichier, taillefichier, cree_le, usermaj) - VALUES('DOCS_ATTACHES',:societe,:nochantier,:norapport,:nosection,:filename,:filesize,NOW(),:user);""" - execute_query(request, query, {'societe': societe, 'nochantier': nochantier, 'norapport': norapport, 'nosection': nosection, 'filename': filename, 'filesize': filesize, 'user': user}) + query = """INSERT INTO dossier_attaches (nomrep, societe, nochantier, nodossier, nosection, origine, nomfichier, taillefichier, cree_le, usermaj) + VALUES('DOCS_ATTACHES',:societe,:nochantier,:norapport,:nosection,:origine,:filename,:filesize,NOW(),:user);""" + execute_query(request, query, {'societe': societe, 'nochantier': nochantier, 'norapport': norapport, + 'nosection': nosection, 'origine': origine, 'filename': filename, 'filesize': filesize, 'user': user}) def get_rapport_by_no(request,nodossier,date_inter): societe = nodossier[0:2] @@ -205,9 +213,9 @@ def get_rapport_by_no_id(request,no_id): results = request.dbsession.execute(query, {'no_id': no_id}).first() return results -def get_articles_by_fam(request, fam): - query = "SELECT * FROM articles WHERE FAM = :fam;" - results = request.dbsession.execute(query, {'fam': fam}).fetchall() +def get_articles_rdf(request): + query = "SELECT * FROM articles WHERE REF LIKE 'RDF%';" + results = request.dbsession.execute(query).fetchall() return results def get_rapport_rdf(request): diff --git a/mondumas/models/parametres.py b/mondumas/models/parametres.py index 006f7af..ff99c7e 100644 --- a/mondumas/models/parametres.py +++ b/mondumas/models/parametres.py @@ -109,3 +109,36 @@ def delete_text(request, text_id): """supprimer la text""" query = "delete from p_texts where text_id = :text_id;" execute_query(request, query, {'text_id': text_id}) + +def get_articles_byFam(request, fam): + if fam == 'T': + query = "SELECT * FROM articles WHERE FAM = 'T';" + else: + query = "SELECT * FROM articles WHERE FAM != 'T';" + results = request.dbsession.execute(query, ).fetchall() + return results + +def update_article(request, ref, new_values): + # formater les champs + s = '' + for param in new_values.keys(): + if param == 'FAM': + ' ne prend que 2 premiers caractères' + new_values['FAM'] = new_values['FAM'][0:2].upper() + + if s: + s += ",%s=:%s" % (param, param) + else: + s = "%s=:%s" % (param, param) + + if ref == '0': + query = "INSERT INTO articles SET %s" % s + else: + new_values['ref'] = ref + query = "UPDATE articles SET %s WHERE ref = :ref;" % s + execute_query(request, query, new_values) + +def delete_article(request, ref): + query = "DELETE FROM articles WHERE ref = :ref ;" + execute_query(request, query, {'ref': ref}) + diff --git a/mondumas/routes.py b/mondumas/routes.py index 1bc6a6d..33ff06e 100644 --- a/mondumas/routes.py +++ b/mondumas/routes.py @@ -42,10 +42,12 @@ def includeme(config): config.add_route('rdf_rapport','/rdf_rapport/{no_id}') config.add_route('rdf_view','/rdf_view/{no_id}') config.add_route('suivi_edit','/suivi_edit/{nodossier}/{nolig}') - config.add_route('upload_doc', '/upload_doc/{nodossier}') + config.add_route('upload_doc', '/upload_doc/{nodossier}/{origine}') config.add_route('upload_img', '/upload_img/{norapport}/{nosection}') # parametres config.add_route('parametres', '/parametres') + config.add_route('article_edit', '/article_edit/{ref}') + config.add_route('articles', '/articles') config.add_route('connecter_a', '/connecter_a/{login}') config.add_route('dashboard', '/dashboard') config.add_route('emails_msg', '/emails_msg/{nolig}') @@ -54,10 +56,10 @@ def includeme(config): config.add_route('last_emailing', '/last_emailing') config.add_route('orphans_de', '/orphans_de/{societe}') config.add_route('rdf_cause_edit', '/rdf_cause_edit/{code}') - config.add_route('rdf_causes_list', '/rdf_causes_list') + config.add_route('rdf_causes', '/rdf_causes') 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}') config.add_route('user_edit', '/user_edit/{cd_uti}') - config.add_route('users_list', '/users_list') + config.add_route('users', '/users') config.add_route('users_ua', '/users_ua') diff --git a/mondumas/templates/default/home.pt b/mondumas/templates/default/home.pt index 66e6125..62eac17 100644 --- a/mondumas/templates/default/home.pt +++ b/mondumas/templates/default/home.pt @@ -15,7 +15,7 @@
N° Agrément : ${devis.no_agrement}
-N° sinistre : ${devis.NOSIN}
-N° sinistre : ${devis.NOPOL}
-Réf. expert : ${devis.REF_EXPERT}
-V/Référence : ${devis.VREF}
-${devis.LIBCOMPL}
-N° dossier : ${devis.nochantier}
-Rilieux-la-Pape, le ${devis.DATE.strftime('%d-%m-%Y')}
-|
+ N° Agrément : ${devis.no_agrement} ++ N° sinistre : ${devis.NOSIN} +N° sinistre : ${devis.NOPOL} +Réf. expert : ${devis.REF_EXPERT} +V/Référence : ${devis.VREF} ++ ${devis.LIBCOMPL} ++ N° dossier : ${devis.nochantier} ++ DEVIS N° ${devis.societe}-${devis.NO_ID} |
+
+ + ${devis.C_QUALITE} ${devis.C_NOM}+${devis.C_ADR}+${devis.C_ADR2}
+ ${devis.C_CP} ${devis.C_VILLE}++ + Rilieux-la-Pape, le ${devis.DATE.strftime('%d-%m-%Y')} ++ ${devis.QUALITE} ${devis.NOM}+${devis.ADRESSE}+${devis.ADRESSE2}
+ ${devis.CP} ${devis.VILLE}+ |
+
Surf./ Qté
-P.U. HT
-Montant HT
-| + | Surf./ Qté | +P.U. HT | +Montant HT | +
| + | |||
| + | Total HT | +${layout.to_euro(devis.TOTALHT)} | +|
| + | TVA ${layout.to_percent(devis.TAUXTVA)} | +${layout.to_euro(devis.TOTALTVA)} | +|
| + | Total TTC | +${layout.to_euro(devis.TOTALTTC)} | +|
| + | |||
| + Si vous acceptez ce devis, veuillez nous en retourner un exemplaire signé et précédé de la mention "Bon pour Accord". + | +|||
| + | |||
|
+
+ Conditions de réglement : + NOTA : Pour bénéficier du taux réduit de T.V.A. à 7%, vous devez nous fournir en même temps que l'acceptation du devis, une attestation sur papier libre, stipulant que votre habitation est construite depuis plus de deux ans. + + |
+ + |
+
+ Le |
+ |
Dernière modif. le ${dossier.DATEMAJ.strftime('%d/%m/%Y à %H:%M')} par ${dossier.USERMAJ}
++ Clôturer dossier +
+Nouvelle ligne - + Nouveau rendez-vous
| ${detail.usermaj} |
| + | Nom du fichier | +Taille | +Crée le | +par | +
|---|---|---|---|---|
| + + + | ++ + ${detail.nomfichier} + + | +${detail.taillefichier} | +${detail.cree_le.strftime('%d-%m-%Y')} | +${detail.usermaj} | +
| Rapport | @@ -29,7 +29,7 @@ $(document).ready(function() { $.fn.dataTable.moment('DD-MM-YYYY'); - $('#users_list').DataTable({ + $('#rdf_list').DataTable({ data: dataSet, pageLength: 50, bLengthChange: false, diff --git a/mondumas/templates/dossier/upload_doc.pt b/mondumas/templates/dossier/upload_doc.pt index 05d881d..9f64427 100644 --- a/mondumas/templates/dossier/upload_doc.pt +++ b/mondumas/templates/dossier/upload_doc.pt @@ -2,7 +2,7 @@
|---|