ajout Doc techniques dans dossier_view.pt et articles.pt
This commit is contained in:
@@ -82,6 +82,7 @@ def home(request):
|
||||
'page_title': 'Bienvenue sur %s' % request.host,
|
||||
'project': 'mondumas',
|
||||
'access': access,
|
||||
'logged_in': logged_in,
|
||||
}
|
||||
|
||||
@view_config(route_name='envoyer_mdp', renderer='../templates/default/envoyer_mdp.pt')
|
||||
@@ -338,12 +339,12 @@ def ajax_article(request):
|
||||
ref = request.GET['ref']
|
||||
|
||||
# lire l'article
|
||||
items = get_article(request, 'REF', ref)
|
||||
items = get_article(request, 'REF2', ref)
|
||||
# puis retourne son libellé et son prixht
|
||||
liste=[]
|
||||
d = {}
|
||||
d['ref'] = items.ref_cli2
|
||||
d['libelle'] = items.LIBART
|
||||
d['libelle'] = items.libelle
|
||||
d['prixht'] = "%.2f" % items.PRIXHT2
|
||||
liste.append(d)
|
||||
|
||||
|
||||
@@ -135,6 +135,9 @@ def devis_web(request):
|
||||
return HTTPFound(request.route_url("devis_ligne", type_ligne=type_lig, nodevis=nodevis, nolig='0'))
|
||||
|
||||
if 'form.generate' in request.params:
|
||||
# lire la societe
|
||||
soc = get_societes(request, societe)
|
||||
|
||||
options = {
|
||||
'page-size': 'A4',
|
||||
'margin-top': '1cm',
|
||||
@@ -142,7 +145,8 @@ def devis_web(request):
|
||||
'margin-bottom': '1cm',
|
||||
'margin-left': '1cm',
|
||||
'footer-font-size':'7',
|
||||
'footer-right': '[page] of [topage]',
|
||||
'footer-center': soc.code_ape,
|
||||
'footer-right': '[page] / [topage]',
|
||||
}
|
||||
|
||||
# créer le répertoire du chantier s'il n'existe pas encore
|
||||
@@ -151,7 +155,7 @@ def devis_web(request):
|
||||
# générer le devis en PDF
|
||||
filename = "%s-DD%s-DE%s-devis.pdf" % (societe, nochantier, no_id)
|
||||
dest = "mondumas/static/DEVFAC/DOCS_ATTACHES/%s/%s/%s" % (societe, nochantier, filename)
|
||||
import pdb;pdb.set_trace()
|
||||
# import pdb;pdb.set_trace()
|
||||
|
||||
# supprimer le fichier s'il existe déjà
|
||||
if os.path.exists(dest):
|
||||
@@ -166,10 +170,10 @@ def devis_web(request):
|
||||
config = pdfkit.configuration(wkhtmltopdf="C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe")
|
||||
pdfkit.from_url(origin, dest, configuration=config, options=options)
|
||||
|
||||
insert_dossier_attaches(request, '%s-%s' % (societe, nochantier), 0, 0, filename, '160 Ko', logged_in)
|
||||
insert_dossier_attaches(request, '%s-%s' % (societe, nochantier), 0, 0, 'CLT', filename, '160 Ko', logged_in)
|
||||
|
||||
request.session.flash(u"Le devis a été généré avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url('devis_web', nodevis=nodevis))
|
||||
return HTTPFound(location=request.route_url('dossier_view', nodossier='%s-%s' % (societe, nochantier)))
|
||||
|
||||
return {
|
||||
'page_title': "Devis no : %s W" % (nodevis),
|
||||
@@ -184,20 +188,20 @@ def devis_web(request):
|
||||
@view_config(route_name='devis_ligne', renderer='../templates/devis/devis_ligne.pt', permission='view')
|
||||
def devis_ligne(request):
|
||||
type_ligne = request.matchdict['type_ligne']
|
||||
nodossier = request.matchdict['nodossier']
|
||||
nodevis = request.matchdict['nodevis']
|
||||
nolig = request.matchdict['nolig']
|
||||
societe = nodossier[0:2]
|
||||
no_id = nodossier[5:]
|
||||
url = request.route_url("devis_ligne", type_ligne=type_ligne, nodossier=nodossier, nolig=nolig)
|
||||
societe = nodevis[0:2]
|
||||
no_id = nodevis[5:]
|
||||
url = request.route_url("devis_ligne", type_ligne=type_ligne, nodevis=nodevis, nolig=nolig)
|
||||
logged_in = request.authenticated_userid.upper()
|
||||
message = ''
|
||||
|
||||
dossier = get_devis_by_no(request, nodossier)
|
||||
dossier = get_devis_by_no(request, nodevis)
|
||||
if dossier is None:
|
||||
request.session.flash(u"Le document no %s est introuvable" % (nodossier), 'danger')
|
||||
request.session.flash(u"Le document no %s est introuvable" % (nodevis), 'danger')
|
||||
return HTTPFound(location=request.route_url("dossier_lookup"))
|
||||
# lire le nombre total de lignes du devis
|
||||
lignes = get_devis_lignes_by_no(request, nodossier, '0')
|
||||
lignes = get_devis_lignes_by_no(request, nodevis, '0')
|
||||
nb_lignes = len(lignes)
|
||||
|
||||
if nolig == '0':
|
||||
@@ -218,7 +222,7 @@ def devis_ligne(request):
|
||||
page_title= 'Nouvelle ligne %s' % type_ligne
|
||||
else:
|
||||
# lire la ligne du devis
|
||||
ligne = get_devis_lignes_by_no(request, nodossier, nolig)
|
||||
ligne = get_devis_lignes_by_no(request, nodevis, nolig)
|
||||
page_title= "Modification de la ligne %s" % (nolig)
|
||||
# import pdb;pdb.set_trace()
|
||||
|
||||
@@ -239,9 +243,9 @@ def devis_ligne(request):
|
||||
new_values['nolig'] = nb_lignes + 1
|
||||
else:
|
||||
new_values['nolig'] = nolig
|
||||
update_devis_ligne(request, nodossier, nolig, new_values)
|
||||
update_devis_ligne(request, nodevis, nolig, new_values)
|
||||
request.session.flash("La ligne de texte a été mis à jour avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url("devis_web", nodossier=nodossier))
|
||||
return HTTPFound(location=request.route_url("devis_web", nodevis=nodevis))
|
||||
|
||||
elif type_ligne == 'AR':
|
||||
# ajout d'un article
|
||||
@@ -282,22 +286,22 @@ def devis_ligne(request):
|
||||
new_values['nolig'] = nb_lignes + 1
|
||||
else:
|
||||
new_values['nolig'] = nolig
|
||||
update_devis_ligne(request, nodossier, nolig, new_values)
|
||||
update_devis_ligne(request, nodevis, nolig, new_values)
|
||||
request.session.flash(u"La ligne de devis a été mis à jour avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url("devis_web", nodossier=nodossier))
|
||||
return HTTPFound(location=request.route_url("devis_web", nodevis=nodevis))
|
||||
|
||||
# -- ajouter une ligne
|
||||
if 'form.deleted' in request.params:
|
||||
delete_devis_ligne(request, nodossier, nolig)
|
||||
delete_devis_ligne(request, nodevis, nolig)
|
||||
request.session.flash(u"La ligne de devis a été supprimée avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url("devis_web", nodossier=nodossier))
|
||||
return HTTPFound(location=request.route_url("devis_web", nodevis=nodevis))
|
||||
|
||||
|
||||
return {
|
||||
'page_title': page_title,
|
||||
'url': url,
|
||||
'message': message,
|
||||
'nodossier': nodossier,
|
||||
'nodevis': nodevis,
|
||||
'nolig': nolig,
|
||||
'dossier': dossier,
|
||||
'ligne': ligne,
|
||||
@@ -328,22 +332,22 @@ def devis_preview(request):
|
||||
dt_html = ''
|
||||
for ligne in details:
|
||||
if ligne.ref == 'T1':
|
||||
dt_html += '<h4 class="text-center">%s</h4>' % ligne.libelle
|
||||
dt_html += '<tr><td colspan="3" style="text-align:center;"><h4>%s</h4></td></tr>' % ligne.libelle
|
||||
elif ligne.ref == 'T2':
|
||||
dt_html += '<p><b>%s</b></p>' % ligne.libelle
|
||||
dt_html += '<tr><td colspan="3"><p><b>%s</b></p></td></tr>' % ligne.libelle
|
||||
elif ligne.ref == 'TX':
|
||||
dt_html += '<div class="col-sm-7"><p>%s</p></div>' % ligne.libelle
|
||||
dt_html += '<tr><td colspan="3"><p>%s</p></td></tr>' % ligne.libelle
|
||||
elif ligne.type_ligne == 'AR':
|
||||
dt_html += '<div class="col-sm-7"><p>%s<br />' % ligne.libelle
|
||||
dt_html += '<tr><td><p>%s<br />' % ligne.libelle
|
||||
if ligne.metrage:
|
||||
dt_html += '<i>%s</i><br />' % ligne.metrage
|
||||
dt_html += ligne.metrage
|
||||
if ligne.deduction:
|
||||
dt_html += 'déduction :<br />'
|
||||
dt_html += '<i>%s</i><br />' % ligne.deduction
|
||||
dt_html += '</p></div>'
|
||||
dt_html += '<div class="col-sm-1"><p class="text-right">%s</p></div>' % ligne.qte
|
||||
dt_html += '<div class="col-sm-2"><p class="text-right">%s</p></div>' % to_euro(ligne.prixht)
|
||||
dt_html += '<div class="col-sm-2"><p class="text-right">%s</p></div>' % to_euro(ligne.mtht)
|
||||
dt_html += '<br />déduction :<br />'
|
||||
dt_html += '<i>%s</i>' % ligne.deduction
|
||||
dt_html += '</td>'
|
||||
dt_html += '<td style="text-align:right; vertical-align:top">%s</td>' % ligne.qte
|
||||
dt_html += '<td style="text-align:right; vertical-align:top">%s</td>' % to_euro(ligne.prixht)
|
||||
dt_html += '<td style="text-align:right; vertical-align:top">%s</td></tr>' % to_euro(ligne.mtht)
|
||||
|
||||
return {
|
||||
'page_title': '',
|
||||
|
||||
@@ -96,6 +96,8 @@ 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)
|
||||
|
||||
# lire son niveau d'accès
|
||||
member = get_member_by_id(request, logged_in)
|
||||
access = member.access
|
||||
@@ -108,12 +110,14 @@ def dossier_view(request):
|
||||
return HTTPFound(location=request.route_url("dossier_lookup"))
|
||||
# lire tous le suivi du dossier
|
||||
details = get_dossier_rdv_by_no(request, nodossier, '0')
|
||||
# lire toutes les dossiers du chantiers
|
||||
# lire toutes les devis et factures du chantier
|
||||
documents = get_documents_byChantier(request, nodossier)
|
||||
# lire toutes les dossiers similaires
|
||||
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, nodossier, 0, 0, '')
|
||||
docs_attaches = get_docs_attaches(request, nodossier, 0, 0, 'CLT', '')
|
||||
# lire tous les documents techniques
|
||||
docs_techniques = get_docs_attaches(request, nodossier, 0, 0, 'FRN', '')
|
||||
if nodossier.startswith('PL'):
|
||||
# lire rapport de rdf
|
||||
rapports = get_rapport_by_no(request, nodossier, '')
|
||||
@@ -121,9 +125,15 @@ def dossier_view(request):
|
||||
rapports = []
|
||||
# select background color according to society
|
||||
bg_color = "bg-%s" % societe
|
||||
|
||||
|
||||
if 'form.close' in request.params:
|
||||
update_dossier_cloture(request, nodossier, logged_in)
|
||||
request.session.flash(u"Le dossier a été cloturé avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url('dossier_view', nodossier=nodossier))
|
||||
|
||||
return {
|
||||
'page_title': "Dossier : %s" % (nodossier),
|
||||
'url': url,
|
||||
'nodossier': nodossier,
|
||||
'dossier': dossier,
|
||||
'details': details,
|
||||
@@ -131,6 +141,7 @@ def dossier_view(request):
|
||||
'documents': documents,
|
||||
'similaires': similaires,
|
||||
'docs_attaches': docs_attaches,
|
||||
'docs_techniques': docs_techniques,
|
||||
'docs_url': request.static_url(request.registry.settings['mondumas.devfac_url']),
|
||||
'bg_color': bg_color,
|
||||
'access': access,
|
||||
@@ -264,10 +275,16 @@ def dossier_edit(request):
|
||||
def upload_doc(request):
|
||||
logged_in = request.authenticated_userid.upper()
|
||||
nodossier = request.matchdict['nodossier']
|
||||
origine = request.matchdict['origine']
|
||||
if origine == 'CLT':
|
||||
page_title = "Télécharger un document attaché"
|
||||
else:
|
||||
page_title = "Télécharger un document technique"
|
||||
|
||||
societe = nodossier[0:2]
|
||||
nochantier = nodossier[3:]
|
||||
|
||||
url = request.route_url("upload_doc", nodossier=nodossier)
|
||||
url = request.route_url("upload_doc", nodossier=nodossier, origine=origine)
|
||||
message = ""
|
||||
|
||||
dossier = get_dossier_by_no(request, nodossier)
|
||||
@@ -276,7 +293,7 @@ def upload_doc(request):
|
||||
return HTTPFound(location=request.route_url("dossier_lookup"))
|
||||
|
||||
# lire tous les documents attachés
|
||||
docs_attaches = get_docs_attaches(request, nodossier, 0, 0, '')
|
||||
docs_attaches = get_docs_attaches(request, nodossier, 0, 0, origine, '')
|
||||
|
||||
if 'form.submitted' in request.params:
|
||||
# récupère le fichier download dans le dossier /tmp
|
||||
@@ -290,14 +307,14 @@ def upload_doc(request):
|
||||
|
||||
# fabriquer le nom du document
|
||||
filename = '%s-DD%s-%s' % (societe, nochantier, input_name)
|
||||
tempFile2Dossier(request, societe, nochantier, '0', 0, temp_file, filename, logged_in)
|
||||
tempFile2Dossier(request, societe, nochantier, '0', 0, origine, temp_file, filename, 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, nodossier, 0, 0, '')
|
||||
docs_attaches = get_docs_attaches(request, nodossier, 0, 0, origine, '')
|
||||
|
||||
return {
|
||||
'page_title': "Télécharger un document",
|
||||
'page_title': page_title,
|
||||
'url': url,
|
||||
'nodossier': nodossier,
|
||||
'dossier': dossier,
|
||||
@@ -356,7 +373,7 @@ def upload_img(request):
|
||||
|
||||
# fabriquer le nom du rapport
|
||||
filename = '%s-DD%s-%s-%s' % (societe, nochantier, norapport, input_name)
|
||||
tempFile2Dossier(request, societe, nochantier, norapport, nosection, temp_file, filename, logged_in)
|
||||
tempFile2Dossier(request, societe, nochantier, norapport, nosection, 'CLT', temp_file, filename, logged_in)
|
||||
|
||||
request.session.flash('%s : Ce fichier est téléchargé avec succès.' % input_name, 'success')
|
||||
|
||||
@@ -594,7 +611,7 @@ def rdf_view(request):
|
||||
'margin-bottom': '3cm',
|
||||
'margin-left': '2cm',
|
||||
'footer-font-size':'7',
|
||||
'footer-right': '[page] of [topage]',
|
||||
'footer-right': '[page] / [topage]',
|
||||
}
|
||||
|
||||
# créer le répertoire du rapport s'il n'existe pas encore
|
||||
@@ -603,6 +620,10 @@ def rdf_view(request):
|
||||
# générer le rapport en PDF
|
||||
filename = "PL-DD%s-rapport_RDF_no_%s.pdf" % (str(rapport.nochantier), norapport)
|
||||
dest = "mondumas/static/DEVFAC/DOCS_ATTACHES/PL/%s/%s" % (str(rapport.nochantier), filename)
|
||||
|
||||
# supprimer le fichier s'il existe déjà
|
||||
if os.path.exists(dest):
|
||||
os.remove(dest)
|
||||
|
||||
# developpement ou production
|
||||
if request.registry.settings["mail.username"] == "sas.dumas@orange.fr":
|
||||
@@ -613,7 +634,7 @@ def rdf_view(request):
|
||||
config = pdfkit.configuration(wkhtmltopdf="C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe")
|
||||
pdfkit.from_url(origin, dest, configuration=config, options=options)
|
||||
|
||||
insert_dossier_attaches(request, nodossier, 0, 0, filename, '160 Ko', logged_in)
|
||||
insert_dossier_attaches(request, nodossier, 0, 0, 'CLT', filename, '160 Ko', logged_in)
|
||||
# si generation pdf, maj de la date du rapport
|
||||
new_values = {}
|
||||
new_values['date_rapport'] = date.today()
|
||||
@@ -725,7 +746,7 @@ def rdf_bill(request):
|
||||
return HTTPFound(location=request.route_url('rdf_view', no_id=norapport))
|
||||
|
||||
# lire tous les articles RDF
|
||||
articles = get_articles_by_fam(request, 'RDF')
|
||||
articles = get_articles_rdf(request)
|
||||
article = 'RDF1'
|
||||
|
||||
if 'form.submitted' in request.params:
|
||||
@@ -870,7 +891,7 @@ def demandes(request):
|
||||
# récupère le nom du fichier et ajouter le no de dossier
|
||||
filename = os.path.basename(temp_file_path)
|
||||
filename = '%s-DD%s-%s' % (societe, nochantier, filename)
|
||||
tempFile2Dossier(request, societe, nochantier, '0', 0, temp_file_path, filename, 'EMAIL')
|
||||
tempFile2Dossier(request, societe, nochantier, '0', 0, 'CLT', temp_file_path, filename, 'EMAIL')
|
||||
traite = 1
|
||||
|
||||
return traite
|
||||
@@ -890,7 +911,7 @@ def demandes(request):
|
||||
|
||||
# récupère le nom du fichier et ajouter le no de dossier
|
||||
filename = '%s-DD%s-%s' % (societe, dem_devis.NO_ID, 'ANNULATION.pdf')
|
||||
tempFile2Dossier(request, societe, dem_devis.NO_ID, '0', 0, temp_file_path, filename, 'EMAIL')
|
||||
tempFile2Dossier(request, societe, dem_devis.NO_ID, '0', 0, 'CLT', temp_file_path, filename, 'EMAIL')
|
||||
# insérer une ligne de suivi ANNULATION
|
||||
insert_suivi(request, nodossier, '!!MISSION ANNULEE PAR la MAIF')
|
||||
# log de nuit
|
||||
@@ -908,7 +929,7 @@ def demandes(request):
|
||||
|
||||
# récupère le nom du fichier et ajouter le no de dossier
|
||||
filename = '%s-DD%s-%s' % (societe, dem_devis.NO_ID, 'ANNULATION.pdf')
|
||||
tempFile2Dossier(request, societe, dem_devis.NO_ID, '0', 0, temp_file_path, filename, 'EMAIL')
|
||||
tempFile2Dossier(request, societe, dem_devis.NO_ID, '0', 0, 'CLT', temp_file_path, filename, 'EMAIL')
|
||||
# insérer une ligne de suivi ANNULATION
|
||||
insert_suivi(request, nodossier, '!!MISSION ANNULEE PAR DOMUS')
|
||||
# log de nuit
|
||||
@@ -1083,7 +1104,7 @@ def downloadFile2Temp(input_file, input_name, ext_allowed):
|
||||
|
||||
return temp_file_path
|
||||
|
||||
def tempFile2Dossier(request, societe, nochantier, norapport, nosection, temp_file, filename, logged_in):
|
||||
def tempFile2Dossier(request, societe, nochantier, norapport, nosection, origine, temp_file, filename, logged_in):
|
||||
# créer le répertoire du chantier
|
||||
if norapport == '0':
|
||||
path = '%s/%s/%s' % (request.registry.settings['mondumas.devfac_dir'], societe, nochantier)
|
||||
@@ -1100,7 +1121,7 @@ def tempFile2Dossier(request, societe, nochantier, norapport, nosection, temp_fi
|
||||
shutil.move(temp_file, filepath)
|
||||
|
||||
filesize = round(os.path.getsize(filepath) / 1024)
|
||||
insert_dossier_attaches(request, '%s-%s' % (societe, nochantier), norapport, nosection, filename, '%s Ko' % str(filesize), logged_in)
|
||||
insert_dossier_attaches(request, '%s-%s' % (societe, nochantier), norapport, nosection, origine, filename, '%s Ko' % str(filesize), logged_in)
|
||||
|
||||
def download_pdf_to_tmp(email_message):
|
||||
# downloading attachments
|
||||
|
||||
@@ -43,8 +43,8 @@ def infrastructure(request):
|
||||
'logged_in': logged_in,
|
||||
}
|
||||
|
||||
@view_config(route_name='users_list', renderer='../templates/parametres/users_list.pt', permission='manage')
|
||||
def users_list(request):
|
||||
@view_config(route_name='users', renderer='../templates/parametres/users.pt', permission='manage')
|
||||
def users(request):
|
||||
# lire les utilisateurs
|
||||
items = get_member_by_id(request, '0')
|
||||
|
||||
@@ -132,7 +132,7 @@ def user_edit(request):
|
||||
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'))
|
||||
return HTTPFound(location=request.route_url('users'))
|
||||
page_title= "Fiche de %s" %(individu.NOM)
|
||||
lienmdp = '%s/%s' % (individu.CD_UTI, date.today().strftime('%d%m%Y'))
|
||||
|
||||
@@ -151,12 +151,12 @@ def user_edit(request):
|
||||
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'))
|
||||
return HTTPFound(location=request.route_url('users'))
|
||||
|
||||
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 HTTPFound(location=request.route_url('users'))
|
||||
|
||||
return {
|
||||
'page_title': page_title,
|
||||
@@ -261,8 +261,8 @@ def orphans_de(request):
|
||||
'nochantier': nochantier,
|
||||
}
|
||||
|
||||
@view_config(route_name='rdf_causes_list', renderer='../templates/parametres/rdf_causes_list.pt', permission='manage')
|
||||
def rdf_causes_list(request):
|
||||
@view_config(route_name='rdf_causes', renderer='../templates/parametres/rdf_causes.pt', permission='manage')
|
||||
def rdf_causes(request):
|
||||
|
||||
# lire les causes des RDF
|
||||
items = get_rdf_causes_by_id(request, '0')
|
||||
@@ -300,19 +300,19 @@ def rdf_cause_edit(request):
|
||||
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'))
|
||||
return HTTPFound(location=request.route_url('rdf_causes'))
|
||||
|
||||
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')
|
||||
request.session.flash(u"La cause a été mise à jour avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url('rdf_causes'))
|
||||
|
||||
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')
|
||||
request.session.flash(u"La cause a été supprimée avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url('rdf_causes'))
|
||||
|
||||
return {
|
||||
@@ -356,7 +356,7 @@ def emails_msg(request):
|
||||
# lire le message
|
||||
item = get_emails_sent(request, '', nolig)
|
||||
if not item:
|
||||
request.session.flash("Impossible de lire le message %s" % nolig, 'damger')
|
||||
request.session.flash("Impossible de lire le message %s" % nolig, 'damger')
|
||||
return HTTPFound(location=request.route_url('rdf_causes'))
|
||||
|
||||
return {
|
||||
@@ -442,3 +442,89 @@ def text_view(request):
|
||||
'page_title': intitule,
|
||||
'texte': texte,
|
||||
'text_id': text_id,
|
||||
}
|
||||
|
||||
@view_config(route_name='articles', renderer='../templates/parametres/articles.pt', permission='manage')
|
||||
def articles(request):
|
||||
|
||||
familles = ["Article", "Texte"]
|
||||
famille = 'ARticle'
|
||||
|
||||
# si table a changé
|
||||
if 'famille' in request.params:
|
||||
famille = request.params["famille"]
|
||||
|
||||
# lire les articles
|
||||
items = get_articles_byFam(request, famille[0])
|
||||
|
||||
# construire la liste
|
||||
liste=[]
|
||||
for item in items:
|
||||
d = (item.REF, item.LIBART, item.LIBCOMPL1, to_euro(item.PRIXHT1), to_euro(item.PRIXHT2), item.ref_cli1, item.ref_cli2)
|
||||
liste.append(d)
|
||||
|
||||
return {
|
||||
'page_title': 'Liste des articles',
|
||||
'dt_data': json.dumps(liste),
|
||||
'familles': familles,
|
||||
'famille': famille,
|
||||
}
|
||||
|
||||
@view_config(route_name='article_edit', renderer='../templates/parametres/article_edit.pt', permission='manage')
|
||||
def article_edit(request):
|
||||
ref = request.matchdict['ref']
|
||||
url = request.route_url('article_edit', ref=ref)
|
||||
logged_in = request.authenticated_userid
|
||||
message = ''
|
||||
|
||||
familles = ["Article", "Texte"]
|
||||
|
||||
if ref == '0':
|
||||
# nouveau
|
||||
item = {}
|
||||
item['REF'] = '0'
|
||||
item['FAM'] = 'A'
|
||||
item['LIBART'] = ''
|
||||
item['PRIXHT1'] = 0
|
||||
item['PRIXHT2'] = 0
|
||||
item['ref_cli1'] = ''
|
||||
item['ref_cli2'] = ''
|
||||
item['LIBCOMPL1'] = ''
|
||||
item['LIBCOMPL2'] = ''
|
||||
item['LIBCOMPL3'] = ''
|
||||
item['LIBCOMPL4'] = ''
|
||||
page_title= 'Nouvel article'
|
||||
else:
|
||||
# lire l'article
|
||||
item = get_article(request, 'REF', ref)
|
||||
if not item:
|
||||
request.session.flash("article non trouvé : %s" % ref, 'warning')
|
||||
return HTTPFound(location=request.route_url('articles'))
|
||||
page_title= "article : %s - %s" %(item.REF, item.LIBART)
|
||||
|
||||
if 'form.submitted' in request.params:
|
||||
new_ref = request.params["REF"]
|
||||
if new_ref == '0':
|
||||
message = "Veuillez saisir un code article valide."
|
||||
else:
|
||||
new_values = {}
|
||||
for param, db_value in item.items():
|
||||
if param in request.params and request.params[param] != db_value:
|
||||
new_values[param] = request.params[param]
|
||||
|
||||
if new_values:
|
||||
update_article(request, ref, new_values)
|
||||
request.session.flash("Le article a été mis à jour avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url('articles'))
|
||||
|
||||
if 'form.deleted' in request.params:
|
||||
delete_article(request, ref)
|
||||
request.session.flash("Le article a été supprimé avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url('articles'))
|
||||
|
||||
return {
|
||||
'page_title': page_title,
|
||||
'url': url,
|
||||
'message': message,
|
||||
'item': item,
|
||||
'familles': familles,
|
||||
|
||||
Reference in New Issue
Block a user