ajout module devis
This commit is contained in:
125
mondumas/views/devis.py
Normal file
125
mondumas/views/devis.py
Normal file
@@ -0,0 +1,125 @@
|
||||
# -*- 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,
|
||||
}
|
||||
Reference in New Issue
Block a user