diff --git a/caotek_mesavoirs/templates/actifs/actifs_list.pt b/caotek_mesavoirs/templates/actifs/actifs_list.pt
index 5c4eca7..b683675 100644
--- a/caotek_mesavoirs/templates/actifs/actifs_list.pt
+++ b/caotek_mesavoirs/templates/actifs/actifs_list.pt
@@ -41,15 +41,15 @@
"Investment success depends on asset allocation, diversification, and risk management, not on complexity." Tweddell and Pierce
-
+
+
+ Diversification à coût minimal
"Diversification is not determined by the number of securities held."
Larry Swedroe
-
@@ -45,7 +55,8 @@
| % de +/- |
% PF |
TER |
- Rdt |
+ % Rdt |
+ Rdt brut |
@@ -60,23 +71,75 @@
${ligne.pc_allocation} % |
${layout.to_percent(ligne.ter,2)} |
${layout.to_percent(ligne.rdt,1)} |
+ ${u'%.0f €' % (ligne.valeur * ligne.rdt / 100)} |
-
- |
- ${layout.to_euro(total_valeur)} |
- ${layout.to_euro(total_pv)} |
- ${layout.to_percent(total_pc_value,1)} |
- 100 % |
- |
-
+
+ | Total |
+ ${layout.to_euro(total_valeur)} |
+ ${layout.to_euro(total_pv)} |
+ ${layout.to_percent(total_pc_value, 1)} |
+ 100.0 % |
+ |
+ |
+ ${total_rdt} € |
+
+
+
+
+
diff --git a/caotek_mesavoirs/views/actifs.py b/caotek_mesavoirs/views/actifs.py
index 48f36da..92d6aa2 100644
--- a/caotek_mesavoirs/views/actifs.py
+++ b/caotek_mesavoirs/views/actifs.py
@@ -207,16 +207,25 @@ def allocation_list(request):
items = get_allocation(request, '0')
# calculer % total
total = 0
+ donut_data=[]
+ donut_data.append(('Allocation', 'Pourcent'))
+
for item in items:
+ # totaliser les pourcentages
total += item.pc_cible
+ # construire la liste pour donut
+ d = (item.classe, item.pc_cible)
+ donut_data.append(d)
+
if total <> 100:
message = u'Attention, le total de votre répartition cible ne fait pas 100%.'
return {
- 'page_title': u"Allocation d'actifs",
+ 'page_title': u"Allocation cible",
'message': message,
'items': items,
'total': total,
+ 'donut_data': json.dumps(donut_data),
}
@view_config(route_name='allocation_edit', renderer='../templates/actifs/allocation_edit.pt', permission='view')
@@ -273,12 +282,12 @@ def histo_list(request):
# lire l historique
items = get_histo_by_date(request, '0')
- # construire la liste
liste=[]
for item in items:
+ # 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))
liste.append(d)
-
+
return {
'page_title': u'Historique',
'dt_data': json.dumps(liste),
diff --git a/caotek_mesavoirs/views/default.py b/caotek_mesavoirs/views/default.py
index d645aa8..e647343 100644
--- a/caotek_mesavoirs/views/default.py
+++ b/caotek_mesavoirs/views/default.py
@@ -29,6 +29,7 @@ from ..models.default import *
from ..models.actifs import (
get_actifs,
get_allocation,
+ get_histo_by_date,
)
from ..models.members import (
get_member_by_email,
@@ -83,24 +84,54 @@ def home(request):
# lire les categories
items = get_allocation(request, '0')
+ # construire la liste pour donut
+ donut_cible=[]
+ donut_cible.append(('Allocation cible', 'Pourcent'))
+ donut_actuel=[]
+ donut_actuel.append(('Allocation actuelle', 'Pourcent'))
+
+ for item in items:
+ # construire la liste pour donut cible
+ d = (item.classe, item.pc_cible)
+ donut_cible.append(d)
+ # construire la liste pour donut actuel
+ d = (item.classe, int(item.pc_atteint * 10))
+ donut_actuel.append(d)
+
# lire les actifs
actifs = get_actifs(request, '0')
total_valeur = 0
total_pv = 0
+ total_rdt = 0
for item in actifs:
total_valeur += item.valeur
total_pv += item.plus_value
total_pc_value = total_pv / total_valeur * 100
+ total_rdt += item.valeur * item.rdt / 100
+ # lire l'historique
+ histos = get_histo_by_date(request,'0')
+ courbe_evoln=[]
+ courbe_evoln.append(('Date', 'Valeur part PF', 'Valeur part Indice'))
+
+ for item in histos:
+ # construire la liste pour donut cible
+ d = (item.date.strftime('%d/%m/%Y'), int(item.val_part * 1000), int(item.val_part_ref * 1000))
+ courbe_evoln.append(d)
+
return {
'page_title': u"Allocation d'actifs",
'message': message,
'items': items,
+ 'donut_cible': json.dumps(donut_cible),
+ 'donut_actuel': json.dumps(donut_actuel),
+ 'courbe_evoln': json.dumps(courbe_evoln),
'actifs': actifs,
'total_valeur': total_valeur,
'total_pv': total_pv,
'total_pc_value': total_pc_value,
+ 'total_rdt': int(total_rdt)
}
@view_config(route_name='doc_list', renderer='../templates/doc_list.pt', permission='view')