add rdv_edit.pt
This commit is contained in:
@@ -18,8 +18,8 @@ pyramid.includes =
|
||||
pyramid_mailer
|
||||
pyramid_tm
|
||||
|
||||
# sqlalchemy.url = mysql://root:phuoc@localhost/bddevfac?charset=utf8
|
||||
sqlalchemy.url = mysql://root:cni/@srvbd/bddevfac?charset=utf8
|
||||
sqlalchemy.url = mysql://root:phuoc@localhost/bddevfac?charset=utf8
|
||||
# sqlalchemy.url = mysql://root:cni/@srvbd/bddevfac?charset=utf8
|
||||
|
||||
mondumas.admin_email = ctphuoc@bbox.fr
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ from zope.sqlalchemy import (
|
||||
mark_changed
|
||||
)
|
||||
|
||||
import datetime
|
||||
from datetime import *
|
||||
import dateutil.relativedelta
|
||||
import transaction
|
||||
|
||||
@@ -96,30 +96,30 @@ def get_rendez_vous(request, itc):
|
||||
results = request.dbsession.execute(query, {'datedeb': datedeb, 'itc': itc}).fetchall()
|
||||
return results
|
||||
|
||||
def delete_don(request, mbr_id, don_id):
|
||||
query = "DELETE FROM mbr_dons WHERE mbr_id = :mbr_id and don_id = :don_id;"
|
||||
execute_query(request, query, {'mbr_id': mbr_id, 'don_id': don_id})
|
||||
def delete_rdv(request, nodossier, nolig):
|
||||
societe = nodossier[0:2]
|
||||
table = get_table_details(nodossier[3:5])
|
||||
no_id = nodossier[6:]
|
||||
|
||||
query = "DELETE FROM %s where societe = '%s' and no_id=%s and nolig=%s;" % (table, societe, no_id, nolig)
|
||||
execute_query(request, query, {})
|
||||
|
||||
def update_rdv(request, nodossier, nolig, comment, commentvi, date_rdv):
|
||||
societe = nodossier[0:2]
|
||||
table = get_table_details(nodossier[3:5])
|
||||
no_id = nodossier[6:]
|
||||
|
||||
def update_don(request, mbr_id, don_id, new_values):
|
||||
# formater les champs
|
||||
s = ''
|
||||
for param in new_values.keys():
|
||||
if param == 'date':
|
||||
ddate = datetime.strptime(new_values['date'], '%d/%m/%Y')
|
||||
new_values['date'] = ddate.strftime("%Y/%m/%d")
|
||||
if s:
|
||||
s += ",%s=:%s" % (param, param)
|
||||
else:
|
||||
s = "%s=:%s" % (param, param)
|
||||
ddate = datetime.strptime(date_rdv, '%d-%m-%Y %H:%M')
|
||||
datevi = ddate.strftime("%Y-%m-%d")
|
||||
heurevi = date_rdv[-5:]
|
||||
|
||||
if don_id == '0':
|
||||
new_values['mbr_id'] = mbr_id
|
||||
query = "INSERT INTO mbr_dons SET %s" % s
|
||||
if nolig == '0':
|
||||
query = "INSERT INTO %s SET societe='%s', datevi='%s', heurevi='%s', comment='%s', commentvi='%s'" % (table, societe, datevi, heurevi, comment, commentvi)
|
||||
else:
|
||||
new_values['mbr_id'] = mbr_id
|
||||
new_values['don_id'] = don_id
|
||||
query = "UPDATE mbr_dons SET %s WHERE mbr_id = :mbr_id and don_id = :don_id;" % s
|
||||
execute_query(request, query, new_values)
|
||||
query = "UPDATE %s SET datevi='%s', heurevi='%s', comment='%s', commentvi='%s' where societe = '%s' and no_id=%s and nolig=%s;" % (table, datevi, heurevi, comment, commentvi, societe, no_id, nolig)
|
||||
|
||||
execute_query(request, query, {})
|
||||
|
||||
def update_journal(request, jnl, no_id, new_values):
|
||||
# formater les champs
|
||||
@@ -151,28 +151,6 @@ def delete_membre(request, mbr_id):
|
||||
query = "DELETE FROM membres WHERE mbr_id = :mbr_id ;"
|
||||
execute_query(request, query, {'mbr_id': mbr_id})
|
||||
|
||||
def insert_gift_to_account(request, libelle_esp, libelle_chq):
|
||||
import pdb;pdb.set_trace()
|
||||
# genere une écriture dans le journal de caisse pour les espèces
|
||||
query = "SELECT sum(montant) as total FROM mbr_dons where valide_le IS NULL and mode='ESPECE';"
|
||||
result = request.dbsession.execute(query).first()
|
||||
if result.total > 0:
|
||||
query = """INSERT INTO jnl_caisse (date, compte, libelle, recette, valide_le)
|
||||
VALUES (CURRENT_DATE, '7540', :libelle_esp, :total_esp, CURRENT_DATE);"""
|
||||
execute_query(request, query, {'libelle_esp': libelle_esp, 'total_esp': result.total})
|
||||
|
||||
# genere une écriture dans le journal de banque pour les chèques
|
||||
query = "SELECT sum(montant) as total FROM mbr_dons where valide_le IS NULL and mode='CHEQUE';"
|
||||
result = request.dbsession.execute(query).first()
|
||||
if result.total > 0:
|
||||
query = """INSERT INTO jnl_banque (date, compte, libelle, recette, valide_le)
|
||||
VALUES (CURRENT_DATE, '7540', :libelle_chq, :total_chq, CURRENT_DATE);"""
|
||||
execute_query(request, query, {'libelle_chq': libelle_chq, 'total_chq': result.total})
|
||||
|
||||
# valider les dons
|
||||
query = "UPDATE mbr_dons SET valide_le = CURRENT_DATE WHERE valide_le IS NULL;"
|
||||
execute_query(request, query, {})
|
||||
|
||||
def update_membre(request, mbr_id, new_values):
|
||||
# formater les champs
|
||||
s = ''
|
||||
|
||||
@@ -4,41 +4,31 @@
|
||||
<div tal:condition="message" tal:content="message" class="alert alert-danger" />
|
||||
<br />
|
||||
<div class="row">
|
||||
<form id="empl_edit-form" class="form-horizontal" action="${url}" method="post" tal:condition="rdv"
|
||||
<form id="rdv_edit-form" class="form-horizontal" action="${url}" method="post"
|
||||
data-fv-framework="bootstrap"
|
||||
data-fv-icon-valid="glyphicon glyphicon-ok"
|
||||
data-fv-icon-invalid="glyphicon glyphicon-remove"
|
||||
data-fv-icon-validating="glyphicon glyphicon-refresh">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-xs-2 control-label" for="date_vi">Date</label>
|
||||
<div class="col-xs-3 date">
|
||||
<input class="form-control" type="text" name="date_vi"
|
||||
value="${rdv.DATEVI.strftime('%d-%m-%Y')}"
|
||||
<label class="col-xs-2 control-label" for="date_rdv">Date et heure</label>
|
||||
<div class="col-xs-3 input-group date" id="date_rdv_picker">
|
||||
<input class="form-control" type="text" name="date_rdv" value="${date_rdv.strftime('%d-%m-%Y %H:%M')}"
|
||||
data-fv-notempty="true"
|
||||
data-fv-notempty-message="La date est obligatoire"
|
||||
data-fv-notempty-message="La date et l'heure sont obligatoires"
|
||||
data-fv-date="true"
|
||||
data-fv-date-format="DD-MM-YYYY"
|
||||
data-fv-date-message="La date n'est pas valide" />
|
||||
data-fv-date-format="DD-MM-YYYY HH:mm"
|
||||
data-fv-date-message="La date et l'heure ne sont pas valides" />
|
||||
<span class="input-group-addon add-on">
|
||||
<span class="glyphicon glyphicon-calendar"></span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-2" for="heurevi">Heure</label>
|
||||
<div class="col-xs-3">
|
||||
<input class="form-control" type="text" name="heurevi"
|
||||
value="${rdv.HEUREVI.strftime('%H:%M')}"
|
||||
data-fv-notempty="true"
|
||||
data-fv-notempty-message="L'heure est obligatoire"
|
||||
data-fv-date="true"
|
||||
data-fv-date-format="h:m"
|
||||
data-fv-date-message="L'heure n'est pas valide" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-2" for="comment">Commentaire 1</label>
|
||||
<div class="col-xs-5">
|
||||
<input class="form-control" type="text" id="comment" name="comment" value="${rdv.COMMENT}"
|
||||
<input class="form-control" type="text" id="comment" name="comment" value="${comment}"
|
||||
placeholder="30 caractères maximum"
|
||||
data-fv-notempty="true"
|
||||
data-fv-notempty-message="Un commentaire est obligatoire"
|
||||
@@ -50,7 +40,7 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-2" for="commentvi">Commentaire 2</label>
|
||||
<div class="col-xs-5">
|
||||
<input class="form-control" type="text" id="commentvi" name="commentvi" value="${rdv.COMMENTVI}"
|
||||
<input class="form-control" type="text" id="commentvi" name="commentvi" value="${commentvi}"
|
||||
placeholder="30 caractères maximum"
|
||||
data-fv-stringlength="true"
|
||||
data-fv-stringlength-max="30"
|
||||
@@ -66,7 +56,7 @@
|
||||
<button class="btn btn-primary" type="submit" name="form.submitted">
|
||||
<span class="glyphicon glyphicon-ok"></span> Enregistrer</button>
|
||||
<button class="btn btn-warning" type="submit" name="form.deleted"
|
||||
tal:condition="python: rdv.NOLIG <> '0'">
|
||||
tal:condition="python: nolig <> '0'">
|
||||
<span class="glyphicon glyphicon-remove"></span> Supprimer</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -80,7 +70,17 @@
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#empl_edit-form').formValidation();
|
||||
$('#date_rdv_picker').datetimepicker({
|
||||
format: 'DD-MM-YYYY HH:mm',
|
||||
showClear: true,
|
||||
allowInputToggle: true,
|
||||
stepping: 15,
|
||||
});
|
||||
$('#rdv_edit-form').formValidation();
|
||||
$('#date_rdv_picker').on('changeDate', function(e) {
|
||||
// Revalidate the date field
|
||||
$('#rdv_edit-form').formValidation('revalidateField', 'date_rdv');
|
||||
});
|
||||
$('form input').on('keypress', function(e) {
|
||||
return e.which !== 13;
|
||||
});
|
||||
|
||||
@@ -9,8 +9,9 @@
|
||||
<meta name="viewport" content="initial-scale=1.0, user-scalable=yes" />
|
||||
|
||||
<!-- Bootstrap core + Plug-ins CSS -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
|
||||
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="//cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.1.0/fullcalendar.min.css" rel="stylesheet">
|
||||
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/css/bootstrap-datetimepicker.min.css" rel="stylesheet">
|
||||
<!-- link href="${request.static_url('mondumas:static/dist/datatable/dataTables.bootstrap.css')}" rel="stylesheet" media="all" -->
|
||||
<link href="${request.static_url('mondumas:static/dist/formvalidation/css/formValidation.min.css')}" rel="stylesheet">
|
||||
<!-- Custom CSS -->
|
||||
@@ -24,6 +25,8 @@
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.1.0/fullcalendar.min.js"></script>
|
||||
<script src="${request.static_url('mondumas:static/dist/fullcalendar/fr.js')}"></script>
|
||||
<!-- Bootstrap Datepicker plugin -->
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/js/bootstrap-datetimepicker.min.js"></script>
|
||||
<!-- Datatable
|
||||
<script src="${request.static_url('mondumas:static/dist/datatable/jquery.dataTables.js')}"></script>
|
||||
<script src="${request.static_url('mondumas:static/dist/datatable/dataTables.bootstrap.js')}"></script>
|
||||
|
||||
@@ -38,12 +38,9 @@ def rdv_edit(request):
|
||||
message = ''
|
||||
if nolig == '0':
|
||||
# nouveau
|
||||
rdv = {}
|
||||
rdv['NOLIG'] = 0
|
||||
rdv['COMMENT'] = ''
|
||||
rdv['COMMENTVI'] = ''
|
||||
rdv['DATEVI'] = date.today()
|
||||
rdv['HEUREVI'] = '09:00'
|
||||
comment = ''
|
||||
commentvi = ''
|
||||
date_rdv = datetime.now()
|
||||
page_title= 'Nouveau rendez-vous'
|
||||
else:
|
||||
# lire le rendez-vous
|
||||
@@ -51,18 +48,20 @@ def rdv_edit(request):
|
||||
if not rdv:
|
||||
request.session.flash(u"Rendez-vous non trouvé : %s" % nodossier, 'warning')
|
||||
return HTTPFound(location=request.route_url('dossier_view', nodossier=nodossier))
|
||||
page_title= u"Modification du rendez-vous du %s" % (rdv.rdv_debut.strftime('%Y-%m-%d %H:%M'))
|
||||
|
||||
comment = rdv.COMMENT
|
||||
commentvi = rdv.COMMENTVI
|
||||
date_rdv = rdv.rdv_debut
|
||||
page_title= u"Modification du rdv du %s" % (rdv.rdv_debut.strftime('%d-%m-%Y %H:%M'))
|
||||
|
||||
if 'form.submitted' in request.params:
|
||||
new_values = {}
|
||||
for param, db_value in rdv.items():
|
||||
if param in request.params and request.params[param] != db_value:
|
||||
new_values[param] = request.params[param]
|
||||
comment = request.params['comment']
|
||||
commentvi = request.params['commentvi']
|
||||
date_rdv = request.params['date_rdv']
|
||||
|
||||
if new_values:
|
||||
update_rdv(request, nodossier, nolig, new_values)
|
||||
request.session.flash(u"Le rendez-vous a été mis à jour avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url('dossier_view', nodossier=nodossier))
|
||||
update_rdv(request, nodossier, nolig, comment, commentvi, date_rdv)
|
||||
request.session.flash(u"Le rendez-vous a été mis à jour avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url('dossier_view', nodossier=nodossier))
|
||||
|
||||
if 'form.deleted' in request.params:
|
||||
delete_rdv(request, nodossier, nolig)
|
||||
@@ -73,7 +72,10 @@ def rdv_edit(request):
|
||||
'page_title': page_title,
|
||||
'url': url,
|
||||
'nodossier': nodossier,
|
||||
'rdv': rdv,
|
||||
'nolig': nolig,
|
||||
'comment': comment,
|
||||
'commentvi': commentvi,
|
||||
'date_rdv': date_rdv,
|
||||
'message': message,
|
||||
}
|
||||
|
||||
@@ -126,13 +128,13 @@ def agenda(request):
|
||||
# déterminer la couleur de l'event selon la societe
|
||||
societe = row.nodossier[0:2]
|
||||
if societe == "PE":
|
||||
color = "#ff4444" # rouge danger
|
||||
color = "#d9534f" # rouge danger
|
||||
elif societe == "PL":
|
||||
color = "#00C851" # vert success
|
||||
color = "#5cb85c" # vert success
|
||||
elif societe == "PL":
|
||||
color = "#33b5e5" # bleu info
|
||||
color = "#5bc0de" # bleu info
|
||||
else:
|
||||
color = "#ffbb33" # orange warning
|
||||
color = "#f0ad4e" # orange warning
|
||||
|
||||
json_event = {
|
||||
'title': event_title,
|
||||
|
||||
@@ -70,7 +70,7 @@ def envoyer_mdp(request):
|
||||
lien = update_membre_mdp_oublie(request, login)
|
||||
body = u"""
|
||||
|
||||
Le lien suivant vous dirigera vers une page où vous pourrez ré-initialiser votre mot de passe d'accès à « mon.entreprise-dumas.com » :
|
||||
Le lien suivant vous dirigera vers une page où vous pourrez ré-initialiser votre mot de passe d'accès à « gestion.entreprise-dumas.com » :
|
||||
|
||||
|
||||
%s
|
||||
@@ -194,11 +194,11 @@ def envoyerMail(request, destinataire, objet, corps):
|
||||
%s
|
||||
|
||||
Cordialement,
|
||||
mon.entreprise-dumas.com
|
||||
gestion.entreprise-dumas.com
|
||||
|
||||
""" % (corps)
|
||||
|
||||
message = Message(subject=u"[Ent. Duams] %s" % objet,
|
||||
message = Message(subject=u"[Ent. Dumas] %s" % objet,
|
||||
sender=request.registry.settings['mondumas.admin_email'],
|
||||
body=body)
|
||||
message.add_recipient(destinataire)
|
||||
|
||||
Reference in New Issue
Block a user