correction liens devis en att et facture en att
This commit is contained in:
@@ -234,3 +234,9 @@ def update_devis_cloture(request, nodevis, status, logged_in):
|
||||
# met le montant regle à 1 centime pour terminé le dossier
|
||||
query = "UPDATE devis SET STATUS = :status, USERMAJ = :logged_in WHERE societe=:societe AND no_id=:nochantier;"
|
||||
execute_query(request, query, {'societe': societe, 'nochantier': nochantier, 'status': status, 'logged_in': logged_in})
|
||||
|
||||
def get_devis_en_att(request, societe):
|
||||
query = """SELECT d.date, LPAD(d.no_id,6,'0') AS numero, d.nomcli, CONCAT(d.c_nom,'; ',d.c_adr,'; ',d.c_ville) AS chantier, d.totalht AS montant, d.status, s.libelle, d.nosin, d.nopol, d.usermaj
|
||||
FROM devis d JOIN p_statuts s ON d.STATUS = s.CODE WHERE d.societe=:societe AND d.STATUS < 4 ORDER BY d.societe, d.STATUS, d.nomcli;"""
|
||||
results = request.dbsession.execute(query, {'societe': societe}).fetchall()
|
||||
return results
|
||||
@@ -339,12 +339,6 @@ def get_status_by_id(request, code):
|
||||
results = request.dbsession.execute(query, {'code': code}).first()
|
||||
return results
|
||||
|
||||
def get_devis_en_att(request, societe):
|
||||
query = """SELECT d.date, LPAD(d.no_id,6,'0') AS numero, d.nomcli, CONCAT(d.c_nom,'; ',d.c_adr,'; ',d.c_ville) AS chantier, d.totalht AS montant, d.status, s.libelle, d.nosin, d.nopol, d.usermaj
|
||||
FROM devis d JOIN p_statuts s ON d.STATUS = s.CODE WHERE d.societe=:societe AND d.STATUS < 4 ORDER BY d.societe, d.STATUS, d.nomcli;"""
|
||||
results = request.dbsession.execute(query, {'societe': societe}).fetchall()
|
||||
return results
|
||||
|
||||
def get_factures_en_att(request, societe):
|
||||
query = """SELECT f.date, LPAD(f.no_id,6,'0') AS numero, f.nomcli, CONCAT(f.c_nom,'; ',f.c_adr,'; ',f.c_ville) AS chantier, f.totalht AS montant, f.status, s.libelle, f.nosin, f.nopol, f.usermaj
|
||||
FROM facture f JOIN p_statuts s ON f.STATUS = s.CODE WHERE f.societe=:societe AND f.STATUS < 8 ORDER BY f.societe, f.STATUS, f.nomcli;"""
|
||||
|
||||
@@ -27,6 +27,12 @@ def includeme(config):
|
||||
config.add_route('devis_web', '/devis_web/{nodevis}')
|
||||
config.add_route('devis_view', '/devis_view/{nodevis}')
|
||||
config.add_route('devis_preview', '/devis_preview/{nodevis}')
|
||||
config.add_route('devis_en_att','/devis_en_att')
|
||||
config.add_route('devis_select', '/devis_select/{date}')
|
||||
config.add_route('devis_selected', '/devis_selected/{goto}/{date}/{nodevis}')
|
||||
config.add_route('factures_en_att','/factures_en_att')
|
||||
config.add_route('facture_select', '/facture_select/{date}')
|
||||
config.add_route('facture_selected', '/facture_selected/{goto}/{date}/{nofacture}')
|
||||
# dossier
|
||||
config.add_route('demandes','/demandes')
|
||||
config.add_route('demandes_dl','/demandes_dl/{societe}/{email_from}/{email_uid}')
|
||||
@@ -48,8 +54,6 @@ def includeme(config):
|
||||
config.add_route('upload_img', '/upload_img/{norapport}/{origine}')
|
||||
config.add_route('upload_om', '/upload_om')
|
||||
config.add_route('dem_devis','/dem_devis')
|
||||
config.add_route('devis_en_att','/devis_en_att')
|
||||
config.add_route('factures_en_att','/factures_en_att')
|
||||
# parametres
|
||||
config.add_route('parametres', '/parametres')
|
||||
config.add_route('article_edit', '/article_edit/{ref}')
|
||||
|
||||
@@ -393,3 +393,122 @@ def devis_lig_mv(request):
|
||||
move_devis_ligne(request, nodevis, int(nolig), move)
|
||||
request.session.flash(u"La ligne de devis a été déplacée avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url("devis_web", nodevis=nodevis))
|
||||
|
||||
@view_config(route_name='devis_en_att', renderer='../templates/devis/devis_en_att.pt', permission='view')
|
||||
@view_config(route_name='devis_select', renderer='../templates/devis/devis_en_att.pt', permission='view')
|
||||
def devis_en_att(request):
|
||||
|
||||
if 'devis_select' in request.current_route_path() :
|
||||
# récupérer les paramètres de l'appel de la view
|
||||
datePlan = request.matchdict['date']
|
||||
# sélectionner devis -> goto planning
|
||||
goto_url = '/devis_selected/agenda/%s/' % datePlan
|
||||
url = request.route_url('devis_selected', date=datePlan)
|
||||
else:
|
||||
# recherche devis en att -> goto fiche devis
|
||||
goto_url = '/devis_selected/devis_view/%s/' % date.today().strftime('%Y-%m-%d')
|
||||
url = request.route_url('devis_en_att')
|
||||
|
||||
logged_in = request.authenticated_userid.upper()
|
||||
url = request.route_url('devis_en_att')
|
||||
member = get_member_by_id(request, logged_in)
|
||||
societe_defaut = member.societe
|
||||
societe = societe_defaut
|
||||
access_defaut = member.access
|
||||
liste=[]
|
||||
|
||||
if 'form.submitted' in request.params:
|
||||
societe = request.params['societe']
|
||||
|
||||
list_devis_en_att = get_devis_en_att(request, societe)
|
||||
|
||||
for item in list_devis_en_att:
|
||||
d = ('%s-DE%s' % (societe, item.numero),item.date.strftime('%d-%m-%Y'), item.nomcli, item.chantier, to_euro(item.montant),
|
||||
item.nosin, item.libelle, item.usermaj)
|
||||
liste.append(d)
|
||||
|
||||
order_option = 'desc'
|
||||
|
||||
return {
|
||||
'page_title': "Devis en attente d'acceptation",
|
||||
'url': url,
|
||||
'goto_url': goto_url,
|
||||
'dt_data': json.dumps(liste),
|
||||
'societe': societe,
|
||||
'order_option': order_option,
|
||||
}
|
||||
|
||||
@view_config(route_name='devis_selected', permission='view')
|
||||
def devis_selected(request):
|
||||
|
||||
# récupérer les paramètres de l'appel de la view
|
||||
goto = request.matchdict['goto']
|
||||
datePlan = request.matchdict['date']
|
||||
nodevis = request.matchdict['nodevis']
|
||||
|
||||
# fiche dossier
|
||||
devis = get_devis_by_no(request, nodevis)
|
||||
if goto == 'devis_view':
|
||||
return HTTPFound(location=request.route_url('devis_view', nodevis=nodevis))
|
||||
else:
|
||||
return HTTPFound(location=request.route_url('agenda', date=datePlan))
|
||||
|
||||
@view_config(route_name='factures_en_att', renderer='../templates/devis/factures_en_att.pt', permission='view')
|
||||
@view_config(route_name='facture_select', renderer='../templates/devis/factures_en_att.pt', permission='view')
|
||||
def factures_en_att(request):
|
||||
|
||||
if 'facture_select' in request.current_route_path() :
|
||||
# récupérer les paramètres de l'appel de la view
|
||||
datePlan = request.matchdict['date']
|
||||
# sélectionner devis -> goto planning
|
||||
goto_url = '/facture_selected/agenda/%s/' % datePlan
|
||||
url = request.route_url('devis_selected', date=datePlan)
|
||||
else:
|
||||
# recherche devis en att -> goto fiche devis
|
||||
goto_url = '/facture_selected/devis_view/%s/' % date.today().strftime('%Y-%m-%d')
|
||||
url = request.route_url('factures_en_att')
|
||||
|
||||
logged_in = request.authenticated_userid.upper()
|
||||
url = request.route_url('factures_en_att')
|
||||
member = get_member_by_id(request, logged_in)
|
||||
societe_defaut = member.societe
|
||||
societe = societe_defaut
|
||||
access_defaut = member.access
|
||||
liste=[]
|
||||
|
||||
if 'form.submitted' in request.params:
|
||||
societe = request.params['societe']
|
||||
|
||||
list_factures_en_att = get_factures_en_att(request, societe)
|
||||
|
||||
for item in list_factures_en_att:
|
||||
d = ('%s-FA%s' % (societe, item.numero),item.date.strftime('%d-%m-%Y'), item.nomcli, item.chantier, to_euro(item.montant),
|
||||
item.nosin, item.libelle, item.usermaj)
|
||||
liste.append(d)
|
||||
|
||||
order_option = 'desc'
|
||||
|
||||
|
||||
return {
|
||||
'page_title': "Factures en attente de réglement",
|
||||
'url': url,
|
||||
'goto_url': goto_url,
|
||||
'dt_data': json.dumps(liste),
|
||||
'societe': societe,
|
||||
'order_option': order_option,
|
||||
}
|
||||
|
||||
@view_config(route_name='facture_selected', permission='view')
|
||||
def facture_selected(request):
|
||||
|
||||
# récupérer les paramètres de l'appel de la view
|
||||
goto = request.matchdict['goto']
|
||||
datePlan = request.matchdict['date']
|
||||
nofacture = request.matchdict['nofacture']
|
||||
|
||||
# fiche dossier
|
||||
facture = get_facture_by_no(request, nofacture)
|
||||
if goto == 'devis_view':
|
||||
return HTTPFound(location=request.route_url('devis_view', nodevis=nofacture))
|
||||
else:
|
||||
return HTTPFound(location=request.route_url('agenda', date=datePlan))
|
||||
@@ -1574,69 +1574,3 @@ def dem_devis(request):
|
||||
'societe': societe,
|
||||
'order_option': order_option,
|
||||
}
|
||||
|
||||
@view_config(route_name='devis_en_att', renderer='../templates/dossier/devis_en_att.pt', permission='view')
|
||||
def devis_en_att(request):
|
||||
logged_in = request.authenticated_userid.upper()
|
||||
goto_url = '/dossier_selected/dossier_view/%s/' % date.today().strftime('%Y-%m-%d')
|
||||
url = request.route_url('devis_en_att')
|
||||
member = get_member_by_id(request, logged_in)
|
||||
societe_defaut = member.societe
|
||||
societe = societe_defaut
|
||||
access_defaut = member.access
|
||||
liste=[]
|
||||
|
||||
if 'form.submitted' in request.params:
|
||||
societe = request.params['societe']
|
||||
|
||||
list_devis_en_att = get_devis_en_att(request, societe)
|
||||
|
||||
for item in list_devis_en_att:
|
||||
d = ('%s-DE%s' % (societe, item.numero),item.date.strftime('%d-%m-%Y'), item.nomcli, item.chantier, to_euro(item.montant),
|
||||
item.nosin, item.libelle, item.usermaj)
|
||||
liste.append(d)
|
||||
|
||||
order_option = 'desc'
|
||||
|
||||
|
||||
return {
|
||||
'page_title': "Devis en attente d'acceptation",
|
||||
'url': url,
|
||||
'goto_url': goto_url,
|
||||
'dt_data': json.dumps(liste),
|
||||
'societe': societe,
|
||||
'order_option': order_option,
|
||||
}
|
||||
|
||||
@view_config(route_name='factures_en_att', renderer='../templates/dossier/factures_en_att.pt', permission='view')
|
||||
def factures_en_att(request):
|
||||
logged_in = request.authenticated_userid.upper()
|
||||
goto_url = '/dossier_selected/dossier_view/%s/' % date.today().strftime('%Y-%m-%d')
|
||||
url = request.route_url('factures_en_att')
|
||||
member = get_member_by_id(request, logged_in)
|
||||
societe_defaut = member.societe
|
||||
societe = societe_defaut
|
||||
access_defaut = member.access
|
||||
liste=[]
|
||||
|
||||
if 'form.submitted' in request.params:
|
||||
societe = request.params['societe']
|
||||
|
||||
list_factures_en_att = get_factures_en_att(request, societe)
|
||||
|
||||
for item in list_factures_en_att:
|
||||
d = ('%s-FA%s' % (societe, item.numero),item.date.strftime('%d-%m-%Y'), item.nomcli, item.chantier, to_euro(item.montant),
|
||||
item.nosin, item.libelle, item.usermaj)
|
||||
liste.append(d)
|
||||
|
||||
order_option = 'desc'
|
||||
|
||||
|
||||
return {
|
||||
'page_title': "Factures en attente de réglement",
|
||||
'url': url,
|
||||
'goto_url': goto_url,
|
||||
'dt_data': json.dumps(liste),
|
||||
'societe': societe,
|
||||
'order_option': order_option,
|
||||
}
|
||||
Reference in New Issue
Block a user