diff --git a/mondumas/models/default.py b/mondumas/models/default.py index cbff819..13d086a 100644 --- a/mondumas/models/default.py +++ b/mondumas/models/default.py @@ -26,11 +26,6 @@ def get_userAccess(request, logged_in): else: return 0 -def get_codespostaux(request, code): - query = "SELECT * FROM p_codespostaux WHERE code_postal like :code;" - results = request.dbsession.execute(query, {'code': code + "%"}) - return results.fetchall() - def get_member_by_mdp_oublie(request, lien): query = "SELECT * FROM p_users WHERE mdp_oublie=:lien;" results = request.dbsession.execute(query, {'lien':lien}).first() @@ -128,3 +123,8 @@ def get_article(request, type, libelle): results = request.dbsession.execute(query, {'ref': libelle}).first() return results +def get_codespostaux(request, codep): + query = "SELECT * FROM p_codespostaux WHERE code_postal LIKE :code;" + results = request.dbsession.execute(query, {'code': codep+"%"}).fetchall() + return results + diff --git a/mondumas/models/parametres.py b/mondumas/models/parametres.py index ff99c7e..ae8978a 100644 --- a/mondumas/models/parametres.py +++ b/mondumas/models/parametres.py @@ -44,6 +44,26 @@ def get_dossiers_byChantier(request, societe, name): results = request.dbsession.execute(query).fetchall() return results +def get_cabinets_by_id(request, code): + # lire les cabinets + if code == '0': + query = """SELECT * FROM P_CABINET WHERE afficher <> 0 ORDER BY nom;""" + results = request.dbsession.execute(query).fetchall() + else: + query = """SELECT * FROM P_CABINET WHERE code=:code;""" + results = request.dbsession.execute(query, {'code': code}).first() + return results + +def get_experts_by_id(request, code_cab, code_exp): + # lire les experts du cabinet + if code_exp == '0': + query = """SELECT * FROM P_EXPERTS WHERE code_cab=:code_cab AND en_activite <> 0 ORDER BY nom;""" + results = request.dbsession.execute(query, {'code_cab': code_cab}).fetchall() + else: + query = """SELECT * FROM P_EXPERTS WHERE code_cab=:code_cab AND code_exp=:code_exp;""" + results = request.dbsession.execute(query, {'code_cab': code_cab}, {'code_exp': code_exp}).first() + return results + def get_rdf_causes_by_id(request, code): # lire les rdf_causes if code == '0': diff --git a/mondumas/routes.py b/mondumas/routes.py index 3750cbe..57c9cfb 100644 --- a/mondumas/routes.py +++ b/mondumas/routes.py @@ -50,10 +50,13 @@ def includeme(config): config.add_route('parametres', '/parametres') config.add_route('article_edit', '/article_edit/{ref}') config.add_route('articles', '/articles') + config.add_route('cabinet_edit', '/cabinet_edit/{code}') + config.add_route('cabinets', '/cabinets') config.add_route('connecter_a', '/connecter_a/{login}') config.add_route('dashboard', '/dashboard') config.add_route('emails_msg', '/emails_msg/{nolig}') 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}') diff --git a/mondumas/templates/devis/devis_ligne.pt b/mondumas/templates/devis/devis_ligne.pt index 25450f7..b5e9e70 100644 --- a/mondumas/templates/devis/devis_ligne.pt +++ b/mondumas/templates/devis/devis_ligne.pt @@ -39,9 +39,9 @@
${ligne.ref}
${ligne.libelle}
| Code | +Nom expert | +Tél 1 | +Tél 2 | +|
|---|---|---|---|---|
| ${expert.CODE_EXP} | ++ ${expert.NOM} + | +${expert.TEL1} | +${expert.TEL2} | +${expert.email} | +
+ + Retour + + Nouvelle cause +
+ +| Code | +Nom | +Tél. 1 | +Tél. 2 | +Portable | +Ville | +Modif le | +
|---|
%s
%s
%s
%s
%s
' % ligne.libelle
diff --git a/mondumas/views/dossier.py b/mondumas/views/dossier.py
index c46ef16..f9888b6 100644
--- a/mondumas/views/dossier.py
+++ b/mondumas/views/dossier.py
@@ -134,6 +134,7 @@ def dossier_view(request):
return {
'page_title': "Dossier : %s" % (nodossier),
'url': url,
+ 'logged_in': logged_in,
'nodossier': nodossier,
'dossier': dossier,
'details': details,
@@ -606,10 +607,10 @@ def rdf_view(request):
# import pdb;pdb.set_trace()
options = {
'page-size': 'A4',
- 'margin-top': '2cm',
- 'margin-right': '2cm',
- 'margin-bottom': '3cm',
- 'margin-left': '2cm',
+ 'margin-top': '1cm',
+ 'margin-right': '1cm',
+ 'margin-bottom': '2cm',
+ 'margin-left': '1.5cm',
'footer-font-size':'7',
'footer-right': '[page] / [topage]',
}
diff --git a/mondumas/views/parametres.py b/mondumas/views/parametres.py
index 734e263..ac8a0e6 100644
--- a/mondumas/views/parametres.py
+++ b/mondumas/views/parametres.py
@@ -279,7 +279,7 @@ def rdf_causes(request):
'dt_data': json.dumps(liste),
}
-@view_config(route_name='rdf_cause_edit', renderer='../templates/parametres/rdf_cause_edit.pt', permission='view')
+@view_config(route_name='rdf_cause_edit', renderer='../templates/parametres/rdf_cause_edit.pt', permission='manage')
def rdf_cause_edit(request):
logged_in = request.authenticated_userid
@@ -528,3 +528,135 @@ def article_edit(request):
'item': item,
'familles': familles,
}
+
+@view_config(route_name='cabinets', renderer='../templates/parametres/cabinets.pt', permission='view')
+def cabinets(request):
+
+ # lire les CABINETS
+ items = get_cabinets_by_id(request, '0')
+
+ # construire la liste
+ 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)
+ liste.append(d)
+
+
+ return {
+ 'page_title': 'Liste des cabinets',
+ 'dt_data': json.dumps(liste),
+ }
+
+@view_config(route_name='cabinet_edit', renderer='../templates/parametres/cabinet_edit.pt', permission='view')
+def cabinet_edit(request):
+
+ logged_in = request.authenticated_userid
+ code = request.matchdict['code']
+ url = request.route_url("cabinet_edit", code=code)
+
+ message = ''
+ if code == '0':
+ # nouveau
+ cabinet = {}
+ cabinet['CODE'] = ''
+ cabinet['NOM'] = ''
+ cabinet['TEL1'] = ''
+ cabinet['TEL2'] = ''
+ cabinet['TELP'] = ''
+ cabinet['ADR'] = ''
+ cabinet['ADR2'] = ''
+ cabinet['CP'] = ''
+ cabinet['VILLE'] = ''
+ cabinet['afficher'] = 0
+ cabinet['modif_le'] = datetime.now()
+ page_title= 'Nouveau cabinet'
+ else:
+ # lire cabinets
+ cabinet = get_cabinets_by_id(request, code)
+ if not cabinet:
+ request.session.flash(u"Cabinet non trouvé : %s" % code, 'warning')
+ return HTTPFound(location=request.route_url('cabinets'))
+
+ page_title= "Modification de %s" % (cabinet.NOM)
+ code_postal = '%s - %s' % (cabinet.CP, cabinet.VILLE)
+ experts = get_experts_by_id(request, cabinet.CODE, '0')
+
+ if 'form.submitted' in request.params:
+ code = request.params['code']
+ libelle = request.params['libelle']
+
+ update_cabinet(request, code, libelle)
+ request.session.flash(u"Le cabinet a été mis à jour avec succès.", 'success')
+ return HTTPFound(location=request.route_url('cabinets'))
+
+ if 'form.deleted' in request.params:
+ delete_cabinet(request, code)
+ request.session.flash(u"Le cabinet a été supprimé avec succès.", 'success')
+ return HTTPFound(location=request.route_url('cabinets'))
+
+ return {
+ 'page_title': page_title,
+ 'url': url,
+ 'cabinet': cabinet,
+ 'experts': experts,
+ 'code_postal': code_postal,
+ 'message': message,
+ }
+
+@view_config(route_name='expert_edit', renderer='../templates/parametres/expert_edit.pt', permission='view')
+def expert_edit(request):
+
+ logged_in = request.authenticated_userid
+ code_cab = request.matchdict['code_cab']
+ code_exp = request.matchdict['code_exp']
+ url = request.route_url("expert_edit", code_cab=code_cab, code_exp=code_exp)
+
+ message = ''
+ if code_exp == '0':
+ # nouveau
+ expert = {}
+ expert['CODE'] = ''
+ expert['NOM'] = ''
+ expert['TEL1'] = ''
+ expert['TEL2'] = ''
+ expert['TELP'] = ''
+ expert['ADR'] = ''
+ expert['ADR2'] = ''
+ expert['CP'] = ''
+ expert['VILLE'] = ''
+ expert['afficher'] = 0
+ expert['modif_le'] = datetime.now()
+ page_title= 'Nouveau expert'
+ else:
+ # lire experts
+ expert = get_experts_by_id(request, code)
+ if not expert:
+ request.session.flash(u"expert non trouvé : %s" % code, 'warning')
+ return HTTPFound(location=request.route_url('experts'))
+
+ page_title= "Modification de %s" % (expert.NOM)
+ code_postal = '%s - %s' % (expert.CP, expert.VILLE)
+ experts = get_experts_by_id(request, expert.CODE, '0')
+
+ if 'form.submitted' in request.params:
+ code = request.params['code']
+ libelle = request.params['libelle']
+
+ update_expert(request, code, libelle)
+ request.session.flash(u"Le expert a été mis à jour avec succès.", 'success')
+ return HTTPFound(location=request.route_url('experts'))
+
+ if 'form.deleted' in request.params:
+ delete_expert(request, code)
+ request.session.flash(u"Le expert a été supprimé avec succès.", 'success')
+ return HTTPFound(location=request.route_url('experts'))
+
+ return {
+ 'page_title': page_title,
+ 'url': url,
+ 'expert': expert,
+ 'experts': experts,
+ 'code_postal': code_postal,
+ 'message': message,
+ }
diff --git a/production.ini b/production.ini
index 9840028..0a3a884 100644
--- a/production.ini
+++ b/production.ini
@@ -20,16 +20,16 @@ pyramid.includes =
sqlalchemy.url = mysql://phuoc:phuoc!@192.168.0.31/bddevfac?charset=utf8
sqlalchemy.pool_recycle = 3600
-mondumas.admin_email = sas.dumas@orange.fr
+mondumas.admin_email = no-reply@entreprise-dumas.co
mondumas.devfac_url = mondumas:static/DEVFAC/
mondumas.devfac_dir = /DEVFAC14/DOCS_ATTACHES
# Mailer configuration
-mail.host = smtp.orange.fr
+mail.host = v5.alinto.netc
mail.port = 465
-mail.username = sas.dumas@orange.fr
-mail.password = sasdumas
-mail.ssl = yes
+mail.username = sasdumas@entreprise-dumas.com
+mail.password = Sasdumas69
+mail.ssl = True
[server:main]
use = egg:waitress#main