# -*- 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 datetime import * from ..views.default import * from ..models.default import * from ..models.devis import * @view_config(route_name='devis_list', renderer='../templates/devis/devis_list.pt', permission='view') def devis_list(request): url = request.route_url('devis_list') logged_in = request.authenticated_userid.upper() message = '' member = get_member_by_id(request, logged_in) societe_defaut = member.societe societe = societe_defaut access_defaut = member.access liste=[] name = '' cb_tous = "non" if 'form.submitted' in request.params: name = request.params['name'] societe = request.params['societe'] # lire les devis devis = get_devis_byName(request, societe, name) if len(devis) == 0: message = "Devis non trouvé : %s" % name return { 'page_title': "Rechercher un devis", 'url': url, 'message': message, 'devis': devis, 'societe': societe, 'name': name, } @view_config(route_name='devis_create', permission='view') def devis_create(request): nodossier = request.matchdict['nodossier'] societe = nodossier[0:2] logged_in = request.authenticated_userid.upper() # créer un devis à partir d'un dossier no_devis = insert_devis_from_dossier(request, nodossier, logged_in) request.session.flash(u"Le devis %s a été créé avec succès" % no_devis.last_insert_id, 'success') return HTTPFound(location=request.route_url("dossier_view", nodossier=nodossier) + '#tab_documents') @view_config(route_name='devis_view', renderer='../templates/devis/devis_view.pt', permission='view') def devis_view(request): nodossier = request.matchdict['nodossier'] societe = nodossier[0:2] url = request.route_url("devis_view", nodossier=nodossier) type_doc = nodossier[3:5] if type_doc == 'DE': page_title = "Devis no : %s" % (nodossier) elif type_doc == 'FA': page_title = "Facture no : %s" % (nodossier) else: page_title = "Proforma no : %s" % (nodossier) dossier = get_devis_by_no(request, nodossier) if dossier is None: request.session.flash(u"Le document no %s est introuvable" % (nodossier), 'danger') return HTTPFound(location=request.route_url("dossier_lookup")) # lire tous les lignes du devis details = get_devis_lig_by_no(request, nodossier) # select background color according to society bg_color = "bg-%s" % societe return { 'page_title': page_title, 'nodossier': nodossier, 'dossier': dossier, 'details': details, 'bg_color': bg_color, } @view_config(route_name='devis_lignes', renderer='../templates/devis/devis_lignes.pt', permission='view') def devis_lignes(request): nodossier = request.matchdict['nodossier'] societe = nodossier[0:2] url = request.route_url("devis_lignes", nodossier=nodossier) dossier = get_devis_by_no(request, nodossier) if dossier is None: request.session.flash(u"Le document no %s est introuvable" % (nodossier), 'danger') return HTTPFound(location=request.route_url("dossier_lookup")) # lire tous les lignes du devis details = get_devis_lig_by_no(request, nodossier) # select background color according to society bg_color = "bg-%s" % societe # -- ajouter une ligne if 'form.added' in request.params: type_lig = request.params['type_lig'] import pdb;pdb.set_trace() return { 'page_title': "Devis no : %s W" % (nodossier), 'url': url, 'nodossier': nodossier, 'dossier': dossier, 'details': details, 'bg_color': bg_color, }