add modified date to portfolio
This commit is contained in:
@@ -70,7 +70,7 @@ class PFService(object):
|
||||
})
|
||||
return
|
||||
|
||||
def update_portefeuille(request):
|
||||
def update_portefeuille(request, today):
|
||||
# cumuler la valeur totale des actifs
|
||||
result = request.dbsession.query(Actifs, func.sum(Actifs.valeur).label("TotalValue")).first()
|
||||
TotalValue = result.TotalValue
|
||||
@@ -78,7 +78,8 @@ class PFService(object):
|
||||
items = PFService.get_actifs(request, '0')
|
||||
for item in items:
|
||||
pc_allocation = round(item.Actifs.valeur / TotalValue * 100, 3)
|
||||
request.dbsession.query(Actifs).filter(Actifs.no_id == item.Actifs.no_id).update({'pc_allocation': pc_allocation})
|
||||
request.dbsession.query(Actifs).filter(Actifs.no_id == item.Actifs.no_id).update({'pc_allocation': pc_allocation,
|
||||
'modif_le': today})
|
||||
|
||||
# maj des allocations
|
||||
items = PFService.get_allocation(request, '0')
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
{% endfor %}
|
||||
|
||||
<tr>
|
||||
<td class="text-right" colspan="4"><b>Total</b></td>
|
||||
<td class="text-right" colspan="4"><b>Total au {{ maj_pf_le.strftime('%d/%m/%Y') }}</b></td>
|
||||
<td>{{ '{0:0,.2f} €'.format(total_valeur).replace(',',' ') }}</td>
|
||||
{% if total_pv >= 0 %}
|
||||
<td class="text-right" style="color: green;">{{ '{0:0.2f} €'.format(total_pv) }}</td>
|
||||
|
||||
@@ -69,7 +69,8 @@ def portfolio(request):
|
||||
# time.sleep(1) # attendre 2 secondes
|
||||
|
||||
# update du portefeuille
|
||||
PFService.update_portefeuille(request)
|
||||
today = datetime.datetime.now()
|
||||
PFService.update_portefeuille(request, today)
|
||||
# relire les actifs
|
||||
actifs = PFService.get_actifs(request, '0')
|
||||
request.session.flash('Le portefeuille est mis à jour avec succès.', 'success')
|
||||
@@ -77,8 +78,9 @@ def portfolio(request):
|
||||
total_valeur = 0
|
||||
total_pv = 0
|
||||
total_rdt = 0
|
||||
|
||||
maj_pf_le = None
|
||||
for item in actifs:
|
||||
maj_pf_le = item.Actifs.modif_le
|
||||
total_valeur += item.Actifs.valeur
|
||||
total_pv += item.Actifs.plus_value
|
||||
if total_valeur == 0:
|
||||
@@ -109,6 +111,7 @@ def portfolio(request):
|
||||
'total_pv': total_pv,
|
||||
'total_pc_value': total_pc_value,
|
||||
'total_rdt': total_rdt,
|
||||
'maj_pf_le' : maj_pf_le,
|
||||
'swr_rate' : swr_rate,
|
||||
'swr_amount': float(total_valeur) * swr_rate / 100,
|
||||
}
|
||||
@@ -283,6 +286,7 @@ def actif_edit(request):
|
||||
form.populate_obj(entry)
|
||||
# récupérer le cours du symbole de Yahoo finance
|
||||
ticker = yf.Ticker(entry.symbole)
|
||||
import pdb;pdb.set_trace()
|
||||
entry.cours = ticker.fast_info.get('lastPrice')
|
||||
entry.devise = ticker.fast_info.get('currency')
|
||||
entry.libelle = html.unescape(ticker.info.get('shortName'))
|
||||
|
||||
Reference in New Issue
Block a user