ajout histo_edit.pt et calcul de l'évolution de la valeur de la part
This commit is contained in:
@@ -109,12 +109,33 @@ def get_classes(request, classe):
|
|||||||
results = request.dbsession.execute(query, {'classe': classe}).first()
|
results = request.dbsession.execute(query, {'classe': classe}).first()
|
||||||
return results
|
return results
|
||||||
|
|
||||||
def get_histo_by_date(request, date):
|
def get_histo(request, no_id):
|
||||||
if date == '0':
|
if no_id == '0':
|
||||||
query = "SELECT * FROM histo ORDER BY date"
|
query = "SELECT * FROM histo ORDER BY date"
|
||||||
results = request.dbsession.execute(query).fetchall()
|
results = request.dbsession.execute(query).fetchall()
|
||||||
else:
|
else:
|
||||||
# lire le histo par la date
|
# lire le histo par le no_id
|
||||||
query = """SELECT * FROM histo WHERE date=:date;"""
|
query = """SELECT * FROM histo WHERE no_id=:no_id;"""
|
||||||
results = request.dbsession.execute(query, {'date': date}).first()
|
results = request.dbsession.execute(query, {'no_id': no_id}).first()
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
def update_histo(request, no_id, new_values):
|
||||||
|
# formater les champs
|
||||||
|
s = ''
|
||||||
|
for param in new_values.keys():
|
||||||
|
if s:
|
||||||
|
s += ",%s=:%s" % (param, param)
|
||||||
|
else:
|
||||||
|
s = "%s=:%s" % (param, param)
|
||||||
|
|
||||||
|
if no_id == '0':
|
||||||
|
query = "INSERT INTO histo SET date=CURRENT_DATE(), %s" % s
|
||||||
|
else:
|
||||||
|
new_values['no_id'] = no_id
|
||||||
|
query = "UPDATE histo SET %s WHERE no_id = :no_id;" % s
|
||||||
|
execute_query(request, query, new_values)
|
||||||
|
|
||||||
|
def delete_histo(request, no_id):
|
||||||
|
query = "DELETE FROM histo WHERE no_id = :no_id ;"
|
||||||
|
execute_query(request, query, {'no_id': no_id})
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ def includeme(config):
|
|||||||
config.add_route('allocation_list', '/allocation_list')
|
config.add_route('allocation_list', '/allocation_list')
|
||||||
config.add_route('allocation_edit', '/allocation_edit/{no_cat}')
|
config.add_route('allocation_edit', '/allocation_edit/{no_cat}')
|
||||||
config.add_route('histo_list', '/histo_list')
|
config.add_route('histo_list', '/histo_list')
|
||||||
|
config.add_route('histo_edit', '/histo_edit/{no_id}')
|
||||||
# members
|
# members
|
||||||
config.add_route('changer_mdp', '/changer_mdp')
|
config.add_route('changer_mdp', '/changer_mdp')
|
||||||
config.add_route('envoyer_mdp', '/envoyer_mdp')
|
config.add_route('envoyer_mdp', '/envoyer_mdp')
|
||||||
|
|||||||
@@ -89,11 +89,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="control-label col-xs-2" for="rdt">Rendement</label>
|
<label class="control-label col-xs-2" for="pc_rdt">% Rendement</label>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<div class="input-group-addon">%</div>
|
<div class="input-group-addon">%</div>
|
||||||
<input class="form-control" type="text" id="rdt" name="rdt" value="${actif.rdt}"
|
<input class="form-control" type="text" id="rdt" name="pc_rdt" value="${actif.pc_rdt}"
|
||||||
data-fv-numeric="true"
|
data-fv-numeric="true"
|
||||||
data-fv-numeric-message="Le nombre doit être composé de chiffres et/ou de ." />
|
data-fv-numeric-message="Le nombre doit être composé de chiffres et/ou de ." />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -63,11 +63,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="control-label col-xs-2" for="rdt">Rendement</label>
|
<label class="control-label col-xs-2" for="pc_rdt">% Rendement</label>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<div class="input-group-addon">%</div>
|
<div class="input-group-addon">%</div>
|
||||||
<input class="form-control" type="text" id="rdt" name="rdt" value="${actif.rdt}"
|
<input class="form-control" type="text" id="pc_rdt" name="pc_rdt" value="${actif.pc_rdt}"
|
||||||
data-fv-numeric="true"
|
data-fv-numeric="true"
|
||||||
data-fv-numeric-message="Le nombre doit être composé de chiffres et/ou de ." />
|
data-fv-numeric-message="Le nombre doit être composé de chiffres et/ou de ." />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -3,12 +3,14 @@
|
|||||||
|
|
||||||
<div tal:condition="message" tal:content="message" class="alert alert-danger" />
|
<div tal:condition="message" tal:content="message" class="alert alert-danger" />
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="${request.application_url}/" class="btn btn-default" role="button">
|
||||||
|
<span class="glyphicon glyphicon-chevron-left"></span> Retour</a>
|
||||||
|
<a href="allocation_edit/0" class="btn btn-success" role="button">
|
||||||
|
<span class="glyphicon glyphicon-plus"></span> Nouvelle classe</a>
|
||||||
|
</p>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-5">
|
<div class="col-md-5">
|
||||||
<p>
|
|
||||||
<a href="allocation_edit/0" class="btn btn-success" role="button">
|
|
||||||
<span class="glyphicon glyphicon-plus"></span> Nouvelle classe</a>
|
|
||||||
</p>
|
|
||||||
<table id="allocation_list" class="table table-condensed table-bordered">
|
<table id="allocation_list" class="table table-condensed table-bordered">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
67
caotek_mesavoirs/templates/actifs/histo_edit.pt
Normal file
67
caotek_mesavoirs/templates/actifs/histo_edit.pt
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
<metal:block use-macro="main_template">
|
||||||
|
<div metal:fill-slot="content">
|
||||||
|
|
||||||
|
<div tal:condition="message" tal:content="message" class="alert alert-danger" />
|
||||||
|
<br />
|
||||||
|
<div class="row">
|
||||||
|
<form id="histo_edit-form" class="form-horizontal" action="${url}" method="post" tal:condition="item"
|
||||||
|
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">Date</label>
|
||||||
|
<div class="col-xs-2">
|
||||||
|
<p class="form-control-static"><b>${item.date.strftime('%d-%m-%Y')}</b></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="control-label col-xs-2" for="mvt_cash">Montant cash</label>
|
||||||
|
<div class="col-xs-2">
|
||||||
|
<div class="input-group">
|
||||||
|
<div class="input-group-addon">€</div>
|
||||||
|
<input class="form-control" type="text" id="mvt_cash" name="mvt_cash" value="${item.mvt_cash}"
|
||||||
|
data-fv-numeric="true"
|
||||||
|
data-fv-numeric-message="Le montant doit être composé de chiffres ou de ., +, -" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-xs-2 control-label">Nombre part</label>
|
||||||
|
<div class="col-xs-2">
|
||||||
|
<p class="form-control-static"><b>${item.nb_part}</b></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="col-xs-offset-2 col-xs-10">
|
||||||
|
<div class="form-group">
|
||||||
|
<a class="btn btn-default" href="${request.application_url}/histo_list">
|
||||||
|
<span class="glyphicon glyphicon-chevron-left"></span> Retour</a>
|
||||||
|
<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="item.no_id <> 0">
|
||||||
|
<span class="glyphicon glyphicon-remove"></span> Supprimer</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
</div> <!-- row -->
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(document).ready(function() {
|
||||||
|
$('#histo_edit-form').formValidation();
|
||||||
|
$('form input').on('keypress', function(e) {
|
||||||
|
return e.which !== 13;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</metal:block>
|
||||||
@@ -4,6 +4,8 @@
|
|||||||
<p>
|
<p>
|
||||||
<a href="${request.application_url}/" class="btn btn-default" role="button">
|
<a href="${request.application_url}/" class="btn btn-default" role="button">
|
||||||
<span class="glyphicon glyphicon-chevron-left"></span> Retour</a>
|
<span class="glyphicon glyphicon-chevron-left"></span> Retour</a>
|
||||||
|
<a href="histo_edit/0" class="btn btn-success" role="button">
|
||||||
|
<span class="glyphicon glyphicon-plus"></span> Ajout/retrait de cash</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<table id="histo_list" class="table table-striped table-bordered">
|
<table id="histo_list" class="table table-striped table-bordered">
|
||||||
@@ -14,8 +16,9 @@
|
|||||||
<th>Valeur Pf</th>
|
<th>Valeur Pf</th>
|
||||||
<th>Nb Part</th>
|
<th>Nb Part</th>
|
||||||
<th>Valeur Part</th>
|
<th>Valeur Part</th>
|
||||||
<th>Nb Part ref</th>
|
<th>Cours ref</th>
|
||||||
<th>Valeur Part ref</th>
|
<th>Valeur Part ref</th>
|
||||||
|
<th>No Id</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
</table>
|
</table>
|
||||||
@@ -33,7 +36,14 @@
|
|||||||
pageLength: 50,
|
pageLength: 50,
|
||||||
bLengthChange: false,
|
bLengthChange: false,
|
||||||
columnDefs: [
|
columnDefs: [
|
||||||
{className:"text-right", "targets": [1,2,3,4,5,6]}
|
{className:"text-right", "targets": [1,2,3,4,5,6]},
|
||||||
|
{className:"text-center", "targets": [7]},
|
||||||
|
{ "targets": 7,
|
||||||
|
"render": function (data, type, full, meta) {
|
||||||
|
// ajouter un link vers le formulaire
|
||||||
|
return '<a href="/histo_edit/' + data + '">' + data + '</a>';
|
||||||
|
},
|
||||||
|
},
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,34 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-md-5">
|
||||||
|
<table id="portfolio" class="table table-condensed table-bordered">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Porteffeuille</th>
|
||||||
|
<th class="text-right">Montant</th>
|
||||||
|
<th class="text-right">%</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Valorisation</td>
|
||||||
|
<td class="text-right">${layout.to_euro(member.pf_valeur)}</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Plus value</td>
|
||||||
|
<td class="text-right">${layout.to_euro(member.pf_plusvalue)}</td>
|
||||||
|
<td class="text-right">${layout.to_percent(member.pf_plusvalue_pc, 1)}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Rendemant brut</td>
|
||||||
|
<td class="text-right">${layout.to_euro(member.pf_rendement)}</td>
|
||||||
|
<td class="text-right">${layout.to_percent(member.pf_rdt_pc, 1)}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@@ -55,8 +83,8 @@
|
|||||||
<th class="text-right">% de +/-</th>
|
<th class="text-right">% de +/-</th>
|
||||||
<th class="text-right">% PF</th>
|
<th class="text-right">% PF</th>
|
||||||
<th class="text-right">TER</th>
|
<th class="text-right">TER</th>
|
||||||
<th class="text-right">% Rdt</th>
|
|
||||||
<th class="text-right">Rdt brut</th>
|
<th class="text-right">Rdt brut</th>
|
||||||
|
<th class="text-right">% Rdt</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@@ -70,8 +98,8 @@
|
|||||||
<td tal:condition="ligne.pc_plusvalue <0" class="text-right" style="color: red;">${layout.to_percent(ligne.pc_plusvalue,1)}</td>
|
<td tal:condition="ligne.pc_plusvalue <0" class="text-right" style="color: red;">${layout.to_percent(ligne.pc_plusvalue,1)}</td>
|
||||||
<td class="text-right">${ligne.pc_allocation} %</td>
|
<td class="text-right">${ligne.pc_allocation} %</td>
|
||||||
<td class="text-right">${layout.to_percent(ligne.ter,2)}</td>
|
<td class="text-right">${layout.to_percent(ligne.ter,2)}</td>
|
||||||
<td class="text-right">${layout.to_percent(ligne.rdt,1)}</td>
|
<td class="text-right">${u'%.0f €' % (ligne.rendement)}</td>
|
||||||
<td class="text-right">${u'%.0f €' % (ligne.valeur * ligne.rdt / 100)}</td>
|
<td class="text-right">${layout.to_percent(ligne.pc_rdt,1)}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="text-right" colspan="2"><b>Total</b></td>
|
<td class="text-right" colspan="2"><b>Total</b></td>
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ def actif_edit(request):
|
|||||||
actif['nombre'] = '0'
|
actif['nombre'] = '0'
|
||||||
actif['pru'] = '0'
|
actif['pru'] = '0'
|
||||||
actif['ter'] = '0'
|
actif['ter'] = '0'
|
||||||
actif['rdt'] = '0'
|
actif['pc_rdt'] = '0'
|
||||||
page_title= 'Nouvel actif ACTION'
|
page_title= 'Nouvel actif ACTION'
|
||||||
else:
|
else:
|
||||||
# lire la fiche du actif
|
# lire la fiche du actif
|
||||||
@@ -163,7 +163,7 @@ def actif2_edit(request):
|
|||||||
actif['pru'] = '0'
|
actif['pru'] = '0'
|
||||||
actif['cours'] = '0'
|
actif['cours'] = '0'
|
||||||
actif['ter'] = '0'
|
actif['ter'] = '0'
|
||||||
actif['rdt'] = '0'
|
actif['pc_rdt'] = '0'
|
||||||
page_title= 'Nouvel actif'
|
page_title= 'Nouvel actif'
|
||||||
else:
|
else:
|
||||||
# lire la fiche du actif
|
# lire la fiche du actif
|
||||||
@@ -254,7 +254,7 @@ def allocation_edit(request):
|
|||||||
|
|
||||||
if 'form.submitted' in request.params:
|
if 'form.submitted' in request.params:
|
||||||
new_values = {}
|
new_values = {}
|
||||||
for param, db_value in categorie.items():
|
for param, db_value in allocation.items():
|
||||||
if param in request.params and request.params[param] != db_value:
|
if param in request.params and request.params[param] != db_value:
|
||||||
new_values[param] = request.params[param]
|
new_values[param] = request.params[param]
|
||||||
|
|
||||||
@@ -280,15 +280,69 @@ def allocation_edit(request):
|
|||||||
@view_config(route_name='histo_list', renderer='../templates/actifs/histo_list.pt', permission='manage')
|
@view_config(route_name='histo_list', renderer='../templates/actifs/histo_list.pt', permission='manage')
|
||||||
def histo_list(request):
|
def histo_list(request):
|
||||||
# lire l historique
|
# lire l historique
|
||||||
items = get_histo_by_date(request, '0')
|
items = get_histo(request, '0')
|
||||||
|
|
||||||
liste=[]
|
liste=[]
|
||||||
for item in items:
|
for item in items:
|
||||||
# construire la liste pour datatable
|
# construire la liste pour datatable
|
||||||
d = (item.date.strftime('%d/%m/%Y'), to_euro(item.mvt_cash), to_euro(item.valeur_pf), to_euro(item.nb_part), to_euro(item.val_part), to_euro(item.nb_part_ref), to_euro(item.val_part_ref))
|
d = (item.date.strftime('%d/%m/%Y'), to_euro(item.mvt_cash), to_euro(item.valeur_pf), to_euro(item.nb_part),
|
||||||
|
to_euro(item.val_part), to_euro(item.cours_ref), to_euro(item.val_part_ref), str(item.no_id).zfill(4))
|
||||||
liste.append(d)
|
liste.append(d)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'page_title': u'Historique',
|
'page_title': u'Historique',
|
||||||
'dt_data': json.dumps(liste),
|
'dt_data': json.dumps(liste),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@view_config(route_name='histo_edit', renderer='../templates/actifs/histo_edit.pt', permission='view')
|
||||||
|
def histo_edit(request):
|
||||||
|
no_id = request.matchdict['no_id']
|
||||||
|
url = request.route_url('histo_edit', no_id=no_id)
|
||||||
|
message = ''
|
||||||
|
today = datetime.today()
|
||||||
|
|
||||||
|
if no_id == '0':
|
||||||
|
# nouveau
|
||||||
|
item = {}
|
||||||
|
item['no_id'] = 0
|
||||||
|
item['date'] = today
|
||||||
|
item['mvt_cash'] = 0.0
|
||||||
|
item['nb_part'] = 0.0
|
||||||
|
page_title= u'Nouveau mouvement'
|
||||||
|
else:
|
||||||
|
# lire la fiche de la categorie
|
||||||
|
item = get_histo(request, no_id)
|
||||||
|
if not item:
|
||||||
|
request.session.flash(u"Histo non trouvé : %s" % no_id, 'warning')
|
||||||
|
return HTTPFound(location=request.route_url('histo_list'))
|
||||||
|
page_title= u"Mouvement %s du %s" % (item.no_id, item.date.strftime('%d/%m/%Y'))
|
||||||
|
|
||||||
|
if 'form.submitted' in request.params:
|
||||||
|
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:
|
||||||
|
# lire le cours de l'indice de réfence : Carmignac Investissement A EUR Acc
|
||||||
|
sym = Share('FR0010148981.PA')
|
||||||
|
new_values['cours_ref'] = sym.get_price()
|
||||||
|
|
||||||
|
update_histo(request, no_id, new_values)
|
||||||
|
request.session.flash(u"La fiche a été mise à jour avec succès.", 'success')
|
||||||
|
return HTTPFound(location=request.route_url('histo_list'))
|
||||||
|
|
||||||
|
|
||||||
|
if 'form.deleted' in request.params:
|
||||||
|
delete_histo(request, no_id)
|
||||||
|
request.session.flash(u"La fiche a été supprimée avec succès.", 'success')
|
||||||
|
return HTTPFound(location=request.route_url('histo_list'))
|
||||||
|
|
||||||
|
return {
|
||||||
|
'page_title': page_title,
|
||||||
|
'url': url,
|
||||||
|
'item': item,
|
||||||
|
'today': today,
|
||||||
|
'message': message,
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ from ..models.default import *
|
|||||||
from ..models.actifs import (
|
from ..models.actifs import (
|
||||||
get_actifs,
|
get_actifs,
|
||||||
get_allocation,
|
get_allocation,
|
||||||
get_histo_by_date,
|
get_histo,
|
||||||
)
|
)
|
||||||
from ..models.members import (
|
from ..models.members import (
|
||||||
get_member_by_email,
|
get_member_by_email,
|
||||||
@@ -80,6 +80,9 @@ def to_percent(x, d):
|
|||||||
|
|
||||||
@view_config(route_name='home', renderer='../templates/home.pt', permission='view')
|
@view_config(route_name='home', renderer='../templates/home.pt', permission='view')
|
||||||
def home(request):
|
def home(request):
|
||||||
|
logged_in = authenticated_userid(request)
|
||||||
|
member = get_member_by_email(request, logged_in)
|
||||||
|
|
||||||
message = ''
|
message = ''
|
||||||
|
|
||||||
# lire les categories
|
# lire les categories
|
||||||
@@ -108,10 +111,10 @@ def home(request):
|
|||||||
total_valeur += item.valeur
|
total_valeur += item.valeur
|
||||||
total_pv += item.plus_value
|
total_pv += item.plus_value
|
||||||
total_pc_value = total_pv / total_valeur * 100
|
total_pc_value = total_pv / total_valeur * 100
|
||||||
total_rdt += item.valeur * item.rdt / 100
|
total_rdt += item.rendement
|
||||||
|
|
||||||
# lire l'historique
|
# lire l'historique
|
||||||
histos = get_histo_by_date(request,'0')
|
histos = get_histo(request,'0')
|
||||||
courbe_evoln=[]
|
courbe_evoln=[]
|
||||||
courbe_evoln.append(('Date', 'Valeur part PF', 'Valeur part Indice'))
|
courbe_evoln.append(('Date', 'Valeur part PF', 'Valeur part Indice'))
|
||||||
|
|
||||||
@@ -124,6 +127,7 @@ def home(request):
|
|||||||
'page_title': u"Allocation d'actifs",
|
'page_title': u"Allocation d'actifs",
|
||||||
'message': message,
|
'message': message,
|
||||||
'items': items,
|
'items': items,
|
||||||
|
'member': member,
|
||||||
'donut_cible': json.dumps(donut_cible),
|
'donut_cible': json.dumps(donut_cible),
|
||||||
'donut_actuel': json.dumps(donut_actuel),
|
'donut_actuel': json.dumps(donut_actuel),
|
||||||
'courbe_evoln': json.dumps(courbe_evoln),
|
'courbe_evoln': json.dumps(courbe_evoln),
|
||||||
@@ -131,7 +135,7 @@ def home(request):
|
|||||||
'total_valeur': total_valeur,
|
'total_valeur': total_valeur,
|
||||||
'total_pv': total_pv,
|
'total_pv': total_pv,
|
||||||
'total_pc_value': total_pc_value,
|
'total_pc_value': total_pc_value,
|
||||||
'total_rdt': int(total_rdt)
|
'total_rdt': total_rdt
|
||||||
}
|
}
|
||||||
|
|
||||||
@view_config(route_name='doc_list', renderer='../templates/doc_list.pt', permission='view')
|
@view_config(route_name='doc_list', renderer='../templates/doc_list.pt', permission='view')
|
||||||
|
|||||||
@@ -15,9 +15,9 @@ pyramid.includes =
|
|||||||
pyramid_chameleon
|
pyramid_chameleon
|
||||||
pyramid_layout
|
pyramid_layout
|
||||||
pyramid_mailer
|
pyramid_mailer
|
||||||
pyramid_tm
|
pyramid_tmq
|
||||||
|
|
||||||
sqlalchemy.url = mysql://root:phuoc/@srvbd/bd_mesavoirs?charset=utf8
|
sqlalchemy.url = mysql://root:phuoc@srvbd/bd_mesavoirs?charset=utf8
|
||||||
|
|
||||||
caotek_mesavoirs.admin_email = phuoc@caotek.fr
|
caotek_mesavoirs.admin_email = phuoc@caotek.fr
|
||||||
|
|
||||||
@@ -28,8 +28,8 @@ mail.port = 25
|
|||||||
[server:main]
|
[server:main]
|
||||||
use = egg:waitress#main
|
use = egg:waitress#main
|
||||||
host = 0.0.0.0
|
host = 0.0.0.0
|
||||||
port = 6543
|
port = 9280
|
||||||
#url_scheme = https
|
url_scheme = https
|
||||||
|
|
||||||
###
|
###
|
||||||
# logging configuration
|
# logging configuration
|
||||||
|
|||||||
Reference in New Issue
Block a user