diff --git a/cao_blogr.sqlite b/cao_blogr.sqlite index 2e7b04f..41b02ab 100644 Binary files a/cao_blogr.sqlite and b/cao_blogr.sqlite differ diff --git a/cao_blogr.sqlite.copie b/cao_blogr.sqlite.copie deleted file mode 100644 index 87fac92..0000000 Binary files a/cao_blogr.sqlite.copie and /dev/null differ diff --git a/cao_blogr/forms.py b/cao_blogr/forms.py index 439ce6b..45d9558 100644 --- a/cao_blogr/forms.py +++ b/cao_blogr/forms.py @@ -31,7 +31,7 @@ class UserCreateForm(Form): class HistoForm(Form): no_id = IntegerField(widget=HiddenInput()) - mvt_cash = DecimalField(places=2, validators=[InputRequired()]) + mvt_cash = DecimalField('Montant à ajouter au portefeuille', places=2, validators=[InputRequired()]) class AllocationForm(Form): no_cat = IntegerField(widget=HiddenInput()) diff --git a/cao_blogr/services/portfolio.py b/cao_blogr/services/portfolio.py index 44d63c5..293bdf9 100644 --- a/cao_blogr/services/portfolio.py +++ b/cao_blogr/services/portfolio.py @@ -61,8 +61,13 @@ class PFService(object): request.dbsession.query(Actifs).filter(Actifs.devise == devise).update({'parite': taux}) return - def update_actif_valeur(request, symbole, cours, dividends): - request.dbsession.query(Actifs).filter(Actifs.symbole == symbole).update({'cours': cours, 'rendement': dividends}) + def update_actif_valeur(request, symbole, cours, valeur, plus_value, pc_plusvalue): + request.dbsession.query(Actifs).filter(Actifs.symbole == symbole + ).update({'cours': cours, + 'valeur': valeur, + 'plus_value':plus_value, + 'pc_plusvalue': pc_plusvalue, + }) return def update_portefeuille(request): @@ -89,17 +94,7 @@ class PFService(object): request.dbsession.query(Actifs).filter(Actifs.no_id == no_id).delete(synchronize_session=False) return - def get_dividends(ticker): - d = 0 - # le ticker a des dividendes ? - if len(ticker.dividends) > 0: - # oui, cumuler les dividendes sur un an - h = ticker.history(period="1y") - nb = len(ticker.dividends) - for i in range(nb): - d += ticker.dividends[nb - 1 - i] - return d diff --git a/cao_blogr/static/theme.css b/cao_blogr/static/theme.css index 9470c68..d3aa86c 100644 --- a/cao_blogr/static/theme.css +++ b/cao_blogr/static/theme.css @@ -11,9 +11,6 @@ h3, h4 { font-size: 20px; color: #111; } -.container { - padding: 80px 120px; -} .person { border: 10px solid transparent; margin-bottom: 25px; @@ -38,6 +35,22 @@ h3, h4 { display: none; /* Hide the carousel text when the screen is less than 600 pixels wide */ } } +@media (min-width: 1200px) { + .container{ + padding: 70px 0 0 0; + max-width: 950px; + } +} +@media print { + /* ne pas affichier l'url after the link */ + a[href]:after { + content: none !important; + } +* { + color: inherit !important; + background-color: inherit !important; + } +} .bg-1 { background: #bc2131; color: #bdbdbd; diff --git a/cao_blogr/templates/home.jinja2 b/cao_blogr/templates/home.jinja2 index ad1e1af..d65cd44 100644 --- a/cao_blogr/templates/home.jinja2 +++ b/cao_blogr/templates/home.jinja2 @@ -3,8 +3,7 @@ {% block content %} {% if request.authenticated_userid %} -

- Nouveau +

[ Nouveau ]

{% endif%} diff --git a/cao_blogr/templates/portfolio/histo_edit.jinja2 b/cao_blogr/templates/portfolio/histo_edit.jinja2 index a3daf6b..ecae537 100644 --- a/cao_blogr/templates/portfolio/histo_edit.jinja2 +++ b/cao_blogr/templates/portfolio/histo_edit.jinja2 @@ -13,7 +13,11 @@ {% endfor %}
- {{form.mvt_cash(class_='form-control')}} +
+
+ {{form.mvt_cash(class_='form-control')}} +
+

(si le montant est négatif, le montant est retiré du portefeuille)


diff --git a/cao_blogr/templates/portfolio/portfolio.jinja2 b/cao_blogr/templates/portfolio/portfolio.jinja2 index 7813a58..63c18e4 100644 --- a/cao_blogr/templates/portfolio/portfolio.jinja2 +++ b/cao_blogr/templates/portfolio/portfolio.jinja2 @@ -3,8 +3,7 @@ {% block content %}

- - Nouvelle classe + [ Nouvelle classe ]

@@ -92,12 +91,9 @@ diff --git a/cao_blogr/views/portfolio.py b/cao_blogr/views/portfolio.py index 83e64d4..528aa0f 100644 --- a/cao_blogr/views/portfolio.py +++ b/cao_blogr/views/portfolio.py @@ -53,18 +53,19 @@ def portfolio(request): for item in actifs: if item.Allocation.type == 'ACTION': + symbole = item.Actifs.symbole # lire le cours de l'action - ticker = yf.Ticker(item.Actifs.symbole) + ticker = yf.Ticker(symbole) # ticker delisted ? - if item.Actifs.symbole == 'SHLDQ': - price = 0 - dividends = 0 + if symbole == 'SHLDQ': + cours = 0 else: - price = ticker.fast_info.get('lastPrice') - # caluler son rendement - dividends = PFService.get_dividends(ticker) + cours = ticker.fast_info.get('lastPrice') - PFService.update_actif_valeur(request, item.Actifs.symbole, price, dividends) + valeur = cours * item.Actifs.parite * item.Actifs.nombre + plus_value = valeur - (item.Actifs.pru * item.Actifs.nombre) + pc_plusvalue = valeur * 100 / (item.Actifs.pru * item.Actifs.nombre) - 100 + PFService.update_actif_valeur(request, symbole, cours, valeur, plus_value, pc_plusvalue) # time.sleep(1) # attendre 2 secondes # update du portefeuille @@ -178,6 +179,7 @@ def histo_edit(request): if no_id == '0': # create a new tag entry = Histo() + entry.mvt_cash = 0 entry.date = datetime.datetime.now() form = HistoForm(request.POST, entry) page_title = "Nouveau Histo"