ajout : création du rapport de RDF
This commit is contained in:
@@ -16,10 +16,9 @@ from datetime import *
|
||||
import hashlib
|
||||
|
||||
from sqlalchemy.exc import DBAPIError
|
||||
from ..security import groupfinder
|
||||
|
||||
import json
|
||||
|
||||
from ..models.default import *
|
||||
from ..models.agenda import *
|
||||
from ..models.dossier import *
|
||||
|
||||
@@ -92,7 +91,7 @@ def agenda(request):
|
||||
message = ''
|
||||
# récupérer les paramètres de l'appel de la view
|
||||
datePlan = request.matchdict['date']
|
||||
logged_in = request.authenticated_userid
|
||||
logged_in = request.authenticated_userid.upper()
|
||||
|
||||
if datePlan == 'today':
|
||||
datePlan = date.today().strftime('%Y-%m-%d')
|
||||
@@ -114,12 +113,14 @@ def agenda(request):
|
||||
# liste des users avec agenda
|
||||
agendas = get_users_agenda(request, '')
|
||||
|
||||
# le user a-t-il un agenda ?
|
||||
agenda = 'JMD'
|
||||
for item in agendas:
|
||||
if item.CD_UTI == logged_in.upper():
|
||||
agenda = item.CD_UTI
|
||||
|
||||
# le user est-il un commercial ?
|
||||
member = get_member_info(request, logged_in)
|
||||
if member['fonction'] == 'Commercial':
|
||||
agenda = logged_in
|
||||
isCommercial = True
|
||||
else:
|
||||
agenda = 'S'
|
||||
isCommercial = False
|
||||
|
||||
# prendre en compte les paramètres de saisie
|
||||
if 'agenda' in request.params:
|
||||
@@ -160,16 +161,17 @@ def agenda(request):
|
||||
'allDay': False,
|
||||
'color': color,
|
||||
'textColor': 'Black',
|
||||
'url': '/rdv_edit/%s/%s' % (row.nodossier, row.nolig),
|
||||
'url': '/dossier_view/%s' % (row.nodossier),
|
||||
}
|
||||
events.append(json_event)
|
||||
|
||||
|
||||
return {
|
||||
'page_title': 'Agenda',
|
||||
'page_title': 'Agenda de %s' % agenda,
|
||||
'fullcalendar_events': json.dumps(events),
|
||||
'agendas': agendas,
|
||||
'agenda': agenda,
|
||||
'isCommercial': isCommercial,
|
||||
'types_rdv': types_rdv,
|
||||
'type_rdv': type_rdv,
|
||||
'message': message,
|
||||
|
||||
@@ -173,8 +173,8 @@ def login(request):
|
||||
referrer = '/' # never use the login form itself as came_from
|
||||
|
||||
came_from = request.params.get('came_from', referrer)
|
||||
password = u''
|
||||
message = u''
|
||||
password = ''
|
||||
message = ''
|
||||
if 'form.submitted' in request.params:
|
||||
login = request.params['login']
|
||||
password = request.params['password']
|
||||
|
||||
@@ -85,6 +85,7 @@ def dossier_lookup(request):
|
||||
def dossier_view(request):
|
||||
nodossier = request.matchdict['nodossier']
|
||||
societe = nodossier[0:2]
|
||||
logged_in = request.authenticated_userid.upper()
|
||||
|
||||
url = request.route_url("dossier_view", nodossier=nodossier)
|
||||
|
||||
@@ -100,6 +101,9 @@ def dossier_view(request):
|
||||
similaires = get_similaires_byChantier(request, dossier.societe, dossier.C_NOM, dossier.C_ADR, dossier.C_CP, dossier.C_VILLE)
|
||||
# lire tous les documents attachés
|
||||
docs_attaches = get_docs_attaches(request, 'DOCS_ATTACHES', nodossier)
|
||||
if nodossier.startswith('PL'):
|
||||
# lire rapport de rdf
|
||||
rapport = get_rapport_by_no(request, nodossier)
|
||||
# select background color according to society
|
||||
bg_color = "bg-%s" % societe
|
||||
|
||||
@@ -108,6 +112,7 @@ def dossier_view(request):
|
||||
'nodossier': nodossier,
|
||||
'dossier': dossier,
|
||||
'details': details,
|
||||
'rapport': rapport,
|
||||
'documents': documents,
|
||||
'similaires': similaires,
|
||||
'docs_attaches': docs_attaches,
|
||||
@@ -167,7 +172,7 @@ def dossier_selected(request):
|
||||
@view_config(route_name='suivi_edit', renderer='../templates/dossier/suivi_edit.pt', permission='view')
|
||||
def suivi_edit(request):
|
||||
|
||||
logged_in = request.authenticated_userid
|
||||
logged_in = request.authenticated_userid.upper()
|
||||
nodossier = request.matchdict['nodossier']
|
||||
nolig = request.matchdict['nolig']
|
||||
url = request.route_url("suivi_edit", nodossier=nodossier, nolig=nolig)
|
||||
@@ -177,7 +182,7 @@ def suivi_edit(request):
|
||||
# nouveau
|
||||
suivi = {}
|
||||
suivi['COMMENT'] = ''
|
||||
suivi['USERMAJ'] = logged_in.upper()
|
||||
suivi['USERMAJ'] = logged_in
|
||||
suivi['DATEMAJ'] = datetime.now()
|
||||
page_title= 'Nouveau suivi'
|
||||
else:
|
||||
@@ -196,7 +201,7 @@ def suivi_edit(request):
|
||||
new_values[param] = request.params[param]
|
||||
|
||||
if new_values:
|
||||
new_values['USERMAJ'] = logged_in.upper()
|
||||
new_values['USERMAJ'] = logged_in
|
||||
new_values['DATE'] = date.today()
|
||||
|
||||
update_suivi(request, nodossier, nolig, new_values)
|
||||
@@ -250,7 +255,7 @@ def dossier_edit(request):
|
||||
|
||||
@view_config(route_name='upload_doc', renderer='../templates/dossier/upload_doc.pt', permission='view')
|
||||
def upload_doc(request):
|
||||
logged_in = request.authenticated_userid
|
||||
logged_in = request.authenticated_userid.upper()
|
||||
nodossier = request.matchdict['nodossier']
|
||||
societe = nodossier[0:2]
|
||||
nochantier = nodossier[3:]
|
||||
@@ -300,7 +305,7 @@ def upload_doc(request):
|
||||
# Now that we know the file has been fully saved to disk move it into place.
|
||||
os.rename(temp_file_path, file_path)
|
||||
|
||||
insert_dossier_attaches(request, nodossier, filename, '%s Ko' % str(filesize), logged_in.upper())
|
||||
insert_dossier_attaches(request, nodossier, filename, '%s Ko' % str(filesize), logged_in)
|
||||
request.session.flash('%s : Ce fichier est téléchargé avec succès.' % input_name, 'success')
|
||||
# lire tous les documents attachés
|
||||
docs_attaches = get_docs_attaches(request, 'DOCS_ATTACHES', nodossier)
|
||||
@@ -314,3 +319,43 @@ def upload_doc(request):
|
||||
'docs_url': request.static_url(request.registry.settings['mondumas.devfac_url']),
|
||||
}
|
||||
|
||||
@view_config(route_name='rdf_edit', renderer='../templates/dossier/rdf_edit.pt', permission='view')
|
||||
def rdf_edit(request):
|
||||
logged_in = request.authenticated_userid.upper()
|
||||
nodossier = request.matchdict['nodossier']
|
||||
url = request.route_url('rdf_edit', nodossier=nodossier)
|
||||
|
||||
# lire le rapport
|
||||
rapport = get_rapport_by_no(request, nodossier)
|
||||
if rapport == None:
|
||||
# si non trouvé, creer un nouveau rapport
|
||||
insert_rapport(request, nodossier, logged_in)
|
||||
# lire le rapport
|
||||
rapport = get_rapport_by_no(request, nodossier)
|
||||
|
||||
caracteristiques = ["Maison individuelle", "Immeuble collectif", u"Copropriété", "Commerce", "Bureaux"]
|
||||
equipements = get_rdf_causes(request, 'C01')
|
||||
reseaux_int = get_rdf_causes(request, 'C02')
|
||||
|
||||
if 'form.submitted' in request.params:
|
||||
new_values = {}
|
||||
for param, db_value in rapport.items():
|
||||
if param in request.params and request.params[param] != db_value:
|
||||
new_values[param] = request.params[param]
|
||||
|
||||
if new_values:
|
||||
update_rdf(request, nodossier, new_values)
|
||||
request.session.flash(u"Le dossier a été mis à jour avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url('dossier_view', nodossier=nodossier))
|
||||
|
||||
return {
|
||||
'page_title': u"Modifier le rapport de RDF : %s" % nodossier,
|
||||
'url': url,
|
||||
'logged_in': logged_in,
|
||||
'rapport': rapport,
|
||||
'nodossier': nodossier,
|
||||
'caracteristiques': caracteristiques,
|
||||
'equipements': equipements,
|
||||
'reseaux_int': reseaux_int,
|
||||
}
|
||||
|
||||
|
||||
@@ -1,239 +1,312 @@
|
||||
# -*- coding: utf8 -*-
|
||||
from pyramid.response import Response
|
||||
from pyramid.renderers import render, get_renderer
|
||||
from pyramid.view import (
|
||||
view_config,
|
||||
forbidden_view_config,
|
||||
)
|
||||
from pyramid.httpexceptions import (
|
||||
HTTPFound,
|
||||
HTTPNotFound,
|
||||
HTTPForbidden,
|
||||
)
|
||||
|
||||
from pyramid_mailer.message import Message, Attachment
|
||||
from datetime import *
|
||||
import hashlib
|
||||
|
||||
from sqlalchemy.exc import DBAPIError
|
||||
from ..security import groupfinder
|
||||
|
||||
import json
|
||||
|
||||
from ..models.parametres import *
|
||||
from ..models.default import *
|
||||
from ..views.default import *
|
||||
|
||||
@view_config(route_name='parametres', renderer='../templates/parametres/parametres.pt', permission='manage')
|
||||
def parametres(request):
|
||||
logged_in = request.authenticated_userid.lower()
|
||||
|
||||
return {
|
||||
'page_title': u"Paramètres",
|
||||
'logged_in': logged_in,
|
||||
}
|
||||
|
||||
@view_config(route_name='users_list', renderer='../templates/parametres/users_list.pt', permission='manage')
|
||||
def users_list(request):
|
||||
# lire les utilisateurs
|
||||
items = get_member_by_id(request, '0')
|
||||
|
||||
# construire la liste
|
||||
liste=[]
|
||||
for item in items:
|
||||
if item.actif == 0:
|
||||
etat = 'Inactif'
|
||||
else:
|
||||
etat = ''
|
||||
|
||||
if item.access == 0:
|
||||
role = ''
|
||||
elif item.access == 8:
|
||||
role = 'Compta'
|
||||
elif item.access == 9:
|
||||
role = 'Admin'
|
||||
else:
|
||||
role = 'Gestion'
|
||||
|
||||
d = (item.CD_UTI, item.NOM, item.email, item.agenda, role, etat)
|
||||
liste.append(d)
|
||||
|
||||
return {
|
||||
'page_title': u'Liste des utilisateurs',
|
||||
'dt_data': json.dumps(liste),
|
||||
}
|
||||
|
||||
@view_config(route_name='users_ua', renderer='../templates/parametres/users_ua.pt', permission='manage')
|
||||
def users_ua(request):
|
||||
# lire les utilisateurs
|
||||
items = get_member_by_id(request, '0')
|
||||
|
||||
# construire la liste
|
||||
liste=[]
|
||||
for item in items:
|
||||
# utilisateur a au moins une connexion ?
|
||||
if item.dern_cnx_le:
|
||||
der_cnx_le = item.dern_cnx_le.strftime('%d/%m/%Y - %H:%M')
|
||||
|
||||
d = (der_cnx_le, item.CD_UTI, item.NOM, item.ua_string)
|
||||
liste.append(d)
|
||||
|
||||
return {
|
||||
'page_title': u'Liste des connexions',
|
||||
'dt_data': json.dumps(liste),
|
||||
}
|
||||
|
||||
|
||||
|
||||
@view_config(route_name='user_edit', renderer='../templates/parametres/user_edit.pt', permission='manage')
|
||||
def user_edit(request):
|
||||
cd_uti = request.matchdict['cd_uti']
|
||||
url = request.route_url('user_edit', cd_uti=cd_uti)
|
||||
message = ''
|
||||
access = ["0 | Production", "5 | Gestion", u"8 | Comptabilité", "9 | Administration"]
|
||||
|
||||
if cd_uti == '0':
|
||||
# nouveau
|
||||
individu = {}
|
||||
individu['CD_UTI'] = '0'
|
||||
individu['NOM'] = ''
|
||||
individu['email'] = ''
|
||||
individu['access'] = '0 | Production'
|
||||
individu['actif'] = 1
|
||||
individu['agenda'] = 0
|
||||
page_title= 'Nouvelle Fiche'
|
||||
else:
|
||||
# lire la fiche de l'individu
|
||||
individu = get_member_by_id(request, cd_uti)
|
||||
if not individu:
|
||||
request.session.flash(u"Utilisateur non trouvé : %s" % cd_uti, 'warning')
|
||||
return HTTPFound(location=request.route_url('users_list'))
|
||||
page_title= u"Fiche de %s" %(individu.NOM)
|
||||
|
||||
if 'form.submitted' in request.params:
|
||||
new_values = {}
|
||||
for param, db_value in individu.items():
|
||||
if param in request.params and request.params[param] != db_value:
|
||||
new_values[param] = request.params[param]
|
||||
|
||||
# actif coché ?
|
||||
if 'actif' in request.params:
|
||||
new_values['actif'] = 1
|
||||
else:
|
||||
new_values['actif'] = 0
|
||||
# agenda coché ?
|
||||
if 'agenda' in request.params:
|
||||
new_values['agenda'] = 1
|
||||
else:
|
||||
new_values['agenda'] = 0
|
||||
|
||||
if new_values:
|
||||
update_membre(request, cd_uti, new_values)
|
||||
request.session.flash(u"La fiche a été mise à jour avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url('users_list'))
|
||||
|
||||
if 'form.deleted' in request.params:
|
||||
delete_membre(request, cd_uti)
|
||||
request.session.flash(u"La fiche a été supprimée avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url('users_list'))
|
||||
|
||||
return {
|
||||
'page_title': page_title,
|
||||
'url': url,
|
||||
'individu': individu,
|
||||
'access': access,
|
||||
'message': message,
|
||||
}
|
||||
|
||||
@view_config(route_name='dashboard', renderer='../templates/parametres/dashboard.pt', permission='manage')
|
||||
def dashboard(request):
|
||||
|
||||
# lire le log de nuit
|
||||
log_nuit = get_log_nuit(request)
|
||||
|
||||
return {
|
||||
'page_title': u"Tableau de bord",
|
||||
'log_nuit': log_nuit,
|
||||
}
|
||||
|
||||
@view_config(route_name='last_emailing', renderer='../templates/parametres/last_emailing.pt', permission='manage')
|
||||
def last_emailing(request):
|
||||
|
||||
items = get_last_emailing(request)
|
||||
|
||||
# construire la liste
|
||||
liste=[]
|
||||
for item in items:
|
||||
if item.rdv_date:
|
||||
resa_date = item.rdv_date.strftime('%d-%m-%Y')
|
||||
else:
|
||||
resa_date = ""
|
||||
|
||||
if item.envoye_le:
|
||||
envoye_le = item.envoye_le.strftime('%d-%m-%Y %H:%M')
|
||||
else:
|
||||
envoye_le = ""
|
||||
|
||||
d = (resa_date, '%s-%s' % (item.societe, item.nochantier), item.nompren, item.email, item.rdv_statut, envoye_le, item.cree_le.strftime('%d-%m-%Y %H:%M'))
|
||||
liste.append(d)
|
||||
|
||||
return {
|
||||
'page_title': u'Liste des derniers emailing',
|
||||
'dt_data': json.dumps(liste),
|
||||
}
|
||||
|
||||
@view_config(route_name='orphans_de', renderer='../templates/parametres/orphans_de.pt', permission='manage')
|
||||
def orphans_de(request):
|
||||
|
||||
societe = request.matchdict['societe']
|
||||
url = request.route_url('orphans_de', societe=societe)
|
||||
message = u''
|
||||
societes = ['PE','ME','PL','PO','CD']
|
||||
nochantier = '0'
|
||||
|
||||
# prendre en compte les paramètres de saisie
|
||||
if 'societe' in request.params:
|
||||
societe = request.params["societe"]
|
||||
url = request.route_url('orphans_de', societe=societe)
|
||||
|
||||
if 'form.nochantier' in request.params:
|
||||
message = ''
|
||||
nochantier = request.params['nochantier']
|
||||
|
||||
# oui, NestedMultiDict([('form.submitted', u''), ('id0', u'271246'), ('id1', u'370929')])
|
||||
for param in request.params:
|
||||
if param[:2] == 'id':
|
||||
update_nochantier(request, societe, request.params[param], int(nochantier))
|
||||
message = u"Le numéro de chantier est mis à jour avec succès"
|
||||
|
||||
# lire le premier devis orphelin
|
||||
devis = get_orphans_DE(request, societe)
|
||||
|
||||
# lire tous les dossiers de ce chantier
|
||||
dossiers = get_dossiers_byChantier(request, societe, '%s;%s;%s' % (devis.C_NOM, devis.C_ADR, devis.C_VILLE))
|
||||
liste=[]
|
||||
nochantiers=[]
|
||||
# construire la liste
|
||||
for item in dossiers:
|
||||
dossier_id = '%s-%s' % (item.TYPE, item.numero)
|
||||
if item.nochantier != 0:
|
||||
nochantiers.append(item.nochantier)
|
||||
nochantier = item.nochantier
|
||||
d = (dossier_id, dossier_id, item.date.strftime('%d-%m-%Y'), item.nomcli, item.chantier, to_euro(item.montant),
|
||||
item.nosin, item.nochantier)
|
||||
liste.append(d)
|
||||
|
||||
if len(nochantiers) == 0:
|
||||
nochantiers.append(1)
|
||||
|
||||
return {
|
||||
'page_title': u"DEVIS orphelins",
|
||||
'url': url,
|
||||
'message': message,
|
||||
'devis': devis,
|
||||
'dt_data': json.dumps(liste),
|
||||
'societes': societes,
|
||||
'societe': societe,
|
||||
'nochantiers': nochantiers,
|
||||
'nochantier': nochantier,
|
||||
}
|
||||
# -*- coding: utf8 -*-
|
||||
from pyramid.response import Response
|
||||
from pyramid.renderers import render, get_renderer
|
||||
from pyramid.view import (
|
||||
view_config,
|
||||
forbidden_view_config,
|
||||
)
|
||||
from pyramid.httpexceptions import (
|
||||
HTTPFound,
|
||||
HTTPNotFound,
|
||||
HTTPForbidden,
|
||||
)
|
||||
|
||||
from pyramid_mailer.message import Message, Attachment
|
||||
from datetime import *
|
||||
import hashlib
|
||||
|
||||
from sqlalchemy.exc import DBAPIError
|
||||
from ..security import groupfinder
|
||||
|
||||
import json
|
||||
|
||||
from ..models.parametres import *
|
||||
from ..models.default import *
|
||||
from ..views.default import *
|
||||
|
||||
@view_config(route_name='parametres', renderer='../templates/parametres/parametres.pt', permission='manage')
|
||||
def parametres(request):
|
||||
logged_in = request.authenticated_userid.lower()
|
||||
|
||||
return {
|
||||
'page_title': u"Paramètres",
|
||||
'logged_in': logged_in,
|
||||
}
|
||||
|
||||
@view_config(route_name='users_list', renderer='../templates/parametres/users_list.pt', permission='manage')
|
||||
def users_list(request):
|
||||
# lire les utilisateurs
|
||||
items = get_member_by_id(request, '0')
|
||||
|
||||
# construire la liste
|
||||
liste=[]
|
||||
for item in items:
|
||||
if item.actif == 0:
|
||||
etat = 'Inactif'
|
||||
else:
|
||||
etat = ''
|
||||
|
||||
if item.access == 0:
|
||||
role = 'Commercial'
|
||||
elif item.access == 8:
|
||||
role = 'Compta'
|
||||
elif item.access == 9:
|
||||
role = 'Admin'
|
||||
else:
|
||||
role = 'Gestion'
|
||||
|
||||
d = (item.CD_UTI, item.NOM, item.email, item.agenda, role, etat)
|
||||
liste.append(d)
|
||||
|
||||
return {
|
||||
'page_title': u'Liste des utilisateurs',
|
||||
'dt_data': json.dumps(liste),
|
||||
}
|
||||
|
||||
@view_config(route_name='users_ua', renderer='../templates/parametres/users_ua.pt', permission='manage')
|
||||
def users_ua(request):
|
||||
# lire les utilisateurs
|
||||
items = get_member_by_id(request, '0')
|
||||
|
||||
# construire la liste
|
||||
liste=[]
|
||||
for item in items:
|
||||
# utilisateur a au moins une connexion ?
|
||||
if item.dern_cnx_le:
|
||||
der_cnx_le = item.dern_cnx_le.strftime('%d/%m/%Y - %H:%M')
|
||||
|
||||
d = (der_cnx_le, item.CD_UTI, item.NOM, item.ua_string)
|
||||
liste.append(d)
|
||||
|
||||
return {
|
||||
'page_title': u'Liste des connexions',
|
||||
'dt_data': json.dumps(liste),
|
||||
}
|
||||
|
||||
@view_config(route_name='connecter_a', permission='manage')
|
||||
def connecter_a(request):
|
||||
# paramètre fourni ?
|
||||
login = request.matchdict["login"]
|
||||
if len(login) > 0:
|
||||
request.session.invalidate()
|
||||
headers = forget(request)
|
||||
headers = remember(request, login)
|
||||
return HTTPFound(location="/", headers=headers)
|
||||
else:
|
||||
return HTTPFound(location="/")
|
||||
|
||||
|
||||
|
||||
@view_config(route_name='user_edit', renderer='../templates/parametres/user_edit.pt', permission='manage')
|
||||
def user_edit(request):
|
||||
cd_uti = request.matchdict['cd_uti']
|
||||
url = request.route_url('user_edit', cd_uti=cd_uti)
|
||||
message = ''
|
||||
access = ["0 | Production", "5 | Gestion", u"8 | Comptabilité", "9 | Administration"]
|
||||
|
||||
if cd_uti == '0':
|
||||
# nouveau
|
||||
individu = {}
|
||||
individu['CD_UTI'] = '0'
|
||||
individu['NOM'] = ''
|
||||
individu['email'] = ''
|
||||
individu['access'] = '0 | Production'
|
||||
individu['actif'] = 1
|
||||
individu['agenda'] = 0
|
||||
page_title= 'Nouvelle Fiche'
|
||||
else:
|
||||
# lire la fiche de l'individu
|
||||
individu = get_member_by_id(request, cd_uti)
|
||||
if not individu:
|
||||
request.session.flash(u"Utilisateur non trouvé : %s" % cd_uti, 'warning')
|
||||
return HTTPFound(location=request.route_url('users_list'))
|
||||
page_title= u"Fiche de %s" %(individu.NOM)
|
||||
|
||||
if 'form.submitted' in request.params:
|
||||
new_values = {}
|
||||
for param, db_value in individu.items():
|
||||
if param in request.params and request.params[param] != db_value:
|
||||
new_values[param] = request.params[param]
|
||||
|
||||
# actif coché ?
|
||||
if 'actif' in request.params:
|
||||
new_values['actif'] = 1
|
||||
else:
|
||||
new_values['actif'] = 0
|
||||
# agenda coché ?
|
||||
if 'agenda' in request.params:
|
||||
new_values['agenda'] = 1
|
||||
else:
|
||||
new_values['agenda'] = 0
|
||||
|
||||
if new_values:
|
||||
update_membre(request, cd_uti, new_values)
|
||||
request.session.flash(u"La fiche a été mise à jour avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url('users_list'))
|
||||
|
||||
if 'form.deleted' in request.params:
|
||||
delete_membre(request, cd_uti)
|
||||
request.session.flash(u"La fiche a été supprimée avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url('users_list'))
|
||||
|
||||
return {
|
||||
'page_title': page_title,
|
||||
'url': url,
|
||||
'individu': individu,
|
||||
'access': access,
|
||||
'message': message,
|
||||
}
|
||||
|
||||
@view_config(route_name='dashboard', renderer='../templates/parametres/dashboard.pt', permission='manage')
|
||||
def dashboard(request):
|
||||
|
||||
# lire le log de nuit
|
||||
log_nuit = get_log_nuit(request)
|
||||
|
||||
return {
|
||||
'page_title': u"Tableau de bord",
|
||||
'log_nuit': log_nuit,
|
||||
}
|
||||
|
||||
@view_config(route_name='last_emailing', renderer='../templates/parametres/last_emailing.pt', permission='manage')
|
||||
def last_emailing(request):
|
||||
|
||||
items = get_last_emailing(request)
|
||||
|
||||
# construire la liste
|
||||
liste=[]
|
||||
for item in items:
|
||||
if item.rdv_date:
|
||||
resa_date = item.rdv_date.strftime('%d-%m-%Y')
|
||||
else:
|
||||
resa_date = ""
|
||||
|
||||
if item.envoye_le:
|
||||
envoye_le = item.envoye_le.strftime('%d-%m-%Y %H:%M')
|
||||
else:
|
||||
envoye_le = ""
|
||||
|
||||
d = (resa_date, '%s-%s' % (item.societe, item.nochantier), item.nompren, item.email, item.rdv_statut, envoye_le, item.cree_le.strftime('%d-%m-%Y %H:%M'))
|
||||
liste.append(d)
|
||||
|
||||
return {
|
||||
'page_title': u'Liste des derniers emailing',
|
||||
'dt_data': json.dumps(liste),
|
||||
}
|
||||
|
||||
@view_config(route_name='orphans_de', renderer='../templates/parametres/orphans_de.pt', permission='manage')
|
||||
def orphans_de(request):
|
||||
|
||||
societe = request.matchdict['societe']
|
||||
url = request.route_url('orphans_de', societe=societe)
|
||||
message = u''
|
||||
societes = ['PE','ME','PL','PO','CD']
|
||||
nochantier = '0'
|
||||
|
||||
# prendre en compte les paramètres de saisie
|
||||
if 'societe' in request.params:
|
||||
societe = request.params["societe"]
|
||||
url = request.route_url('orphans_de', societe=societe)
|
||||
|
||||
if 'form.nochantier' in request.params:
|
||||
message = ''
|
||||
nochantier = request.params['nochantier']
|
||||
|
||||
# oui, NestedMultiDict([('form.submitted', u''), ('id0', u'271246'), ('id1', u'370929')])
|
||||
for param in request.params:
|
||||
if param[:2] == 'id':
|
||||
update_nochantier(request, societe, request.params[param], int(nochantier))
|
||||
message = u"Le numéro de chantier est mis à jour avec succès"
|
||||
|
||||
# lire le premier devis orphelin
|
||||
devis = get_orphans_DE(request, societe)
|
||||
|
||||
# lire tous les dossiers de ce chantier
|
||||
dossiers = get_dossiers_byChantier(request, societe, '%s;%s;%s' % (devis.C_NOM, devis.C_ADR, devis.C_VILLE))
|
||||
liste=[]
|
||||
nochantiers=[]
|
||||
# construire la liste
|
||||
for item in dossiers:
|
||||
dossier_id = '%s-%s' % (item.TYPE, item.numero)
|
||||
if item.nochantier != 0:
|
||||
nochantiers.append(item.nochantier)
|
||||
nochantier = item.nochantier
|
||||
d = (dossier_id, dossier_id, item.date.strftime('%d-%m-%Y'), item.nomcli, item.chantier, to_euro(item.montant),
|
||||
item.nosin, item.nochantier)
|
||||
liste.append(d)
|
||||
|
||||
if len(nochantiers) == 0:
|
||||
nochantiers.append(1)
|
||||
|
||||
return {
|
||||
'page_title': u"DEVIS orphelins",
|
||||
'url': url,
|
||||
'message': message,
|
||||
'devis': devis,
|
||||
'dt_data': json.dumps(liste),
|
||||
'societes': societes,
|
||||
'societe': societe,
|
||||
'nochantiers': nochantiers,
|
||||
'nochantier': nochantier,
|
||||
}
|
||||
|
||||
@view_config(route_name='rdf_causes_list', renderer='../templates/parametres/rdf_causes_list.pt', permission='manage')
|
||||
def rdf_causes_list(request):
|
||||
|
||||
# lire les causes des RDF
|
||||
items = get_rdf_causes_by_id(request, '0')
|
||||
|
||||
# construire la liste
|
||||
liste=[]
|
||||
for item in items:
|
||||
modif_le = item.modif_le.strftime('%d/%m/%Y - %H:%M')
|
||||
d = (item.code, item.libelle, modif_le)
|
||||
liste.append(d)
|
||||
|
||||
return {
|
||||
'page_title': u'RDF : Liste des causes de fuite',
|
||||
'dt_data': json.dumps(liste),
|
||||
}
|
||||
|
||||
@view_config(route_name='rdf_cause_edit', renderer='../templates/parametres/rdf_cause_edit.pt', permission='view')
|
||||
def rdf_cause_edit(request):
|
||||
|
||||
logged_in = request.authenticated_userid
|
||||
old_code = request.matchdict['code']
|
||||
url = request.route_url("rdf_cause_edit", code=old_code)
|
||||
|
||||
message = ''
|
||||
if old_code == '0':
|
||||
# nouveau
|
||||
cause = {}
|
||||
cause['code'] = ''
|
||||
cause['libelle'] = ''
|
||||
cause['modif_le'] = datetime.now()
|
||||
page_title= 'Nouvelle cause de fuite'
|
||||
else:
|
||||
page_title= "Modification de %s" % (old_code)
|
||||
# lire la cause
|
||||
cause = get_rdf_causes_by_id(request, old_code)
|
||||
if not cause:
|
||||
request.session.flash(u"Cause non trouvée : %s" % old_code, 'warning')
|
||||
return HTTPFound(location=request.route_url('rdf_causes_list'))
|
||||
|
||||
if 'form.submitted' in request.params:
|
||||
code = request.params['code']
|
||||
libelle = request.params['libelle']
|
||||
|
||||
update_rdf_cause(request, old_code, code, libelle)
|
||||
request.session.flash(u"La cause a été mise à jour avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url('rdf_causes_list'))
|
||||
|
||||
if 'form.deleted' in request.params:
|
||||
delete_rdf_cause(request, old_code)
|
||||
request.session.flash(u"La cause a été supprimée avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url('rdf_causes_list'))
|
||||
|
||||
return {
|
||||
'page_title': page_title,
|
||||
'url': url,
|
||||
'old_code': old_code,
|
||||
'cause': cause,
|
||||
'message': message,
|
||||
|
||||
Reference in New Issue
Block a user