@@ -59,6 +59,7 @@ class Calc:
|
|||||||
|
|
||||||
def GetCurrentValue(self, userid, crypto, total_investment, current_value, total_tax_free):
|
def GetCurrentValue(self, userid, crypto, total_investment, current_value, total_tax_free):
|
||||||
amount_kept = 0
|
amount_kept = 0
|
||||||
|
last_updated = None
|
||||||
out = {}
|
out = {}
|
||||||
out["crypto"] = crypto
|
out["crypto"] = crypto
|
||||||
|
|
||||||
@@ -93,6 +94,7 @@ class Calc:
|
|||||||
out["current_value"] = cv
|
out["current_value"] = cv
|
||||||
out["amount_kept"] = amount_kept
|
out["amount_kept"] = amount_kept
|
||||||
out["rateEUR"] = rateEUR.rate
|
out["rateEUR"] = rateEUR.rate
|
||||||
|
last_updated = rateEUR.datetime_valid
|
||||||
else:
|
else:
|
||||||
out["current_value"] = None
|
out["current_value"] = None
|
||||||
out["amount_kept"] = None
|
out["amount_kept"] = None
|
||||||
@@ -134,4 +136,4 @@ class Calc:
|
|||||||
out["value_tax_free"] = amount_available_to_sell * rateEUR.rate
|
out["value_tax_free"] = amount_available_to_sell * rateEUR.rate
|
||||||
total_tax_free += out["value_tax_free"]
|
total_tax_free += out["value_tax_free"]
|
||||||
|
|
||||||
return (total_investment, current_value, total_tax_free, rateEUR.rate, rateUSD.rate, out)
|
return (total_investment, current_value, total_tax_free, rateEUR.rate, rateUSD.rate, last_updated, out)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
<div class="form-box">
|
<div class="form-box">
|
||||||
<h2>Monitor</h2>
|
<h2>Monitor</h2>
|
||||||
<a href="/monitor" class="button button-primary">Refresh</a><br/>
|
<a href="/monitor" class="button button-primary">Refresh</a><br/>
|
||||||
|
<font size="-1">last update: {{last_updated|date:'Y-m-d H:i:s'}} ({{django_timezone}})</font><br/>
|
||||||
<p>Hint: these numbers are not very accurate.</p>
|
<p>Hint: these numbers are not very accurate.</p>
|
||||||
|
|
||||||
Total investment: {{total_investment|floatformat:2}} EUR<br/>
|
Total investment: {{total_investment|floatformat:2}} EUR<br/>
|
||||||
|
|||||||
+13
-2
@@ -1,5 +1,7 @@
|
|||||||
from django.shortcuts import render, redirect
|
from django.shortcuts import render, redirect
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
|
from django.conf import settings
|
||||||
|
import pytz
|
||||||
from apps.transactions.models import Transaction
|
from apps.transactions.models import Transaction
|
||||||
from apps.rates.models import ExchangeRate
|
from apps.rates.models import ExchangeRate
|
||||||
from apps.monitor.calc import Calc
|
from apps.monitor.calc import Calc
|
||||||
@@ -13,14 +15,23 @@ def monitor(request):
|
|||||||
total_investment = 0
|
total_investment = 0
|
||||||
current_value = 0
|
current_value = 0
|
||||||
total_tax_free = 0
|
total_tax_free = 0
|
||||||
|
last_updated = None
|
||||||
calc = Calc()
|
calc = Calc()
|
||||||
|
|
||||||
for crypto in crypto_currencies:
|
for crypto in crypto_currencies:
|
||||||
(total_investment, current_value, total_tax_free, rateEUR, rateUSD, out2) = calc.GetCurrentValue(request.user.id, crypto, total_investment, current_value, total_tax_free)
|
(total_investment, current_value, total_tax_free, rateEUR, rateUSD, last_updated, out2) = calc.GetCurrentValue(request.user.id, crypto, total_investment, current_value, total_tax_free)
|
||||||
|
|
||||||
cryptos.append({"crypto": crypto, "rateEUR": rateEUR, "rateUSD": rateUSD, **out2})
|
cryptos.append({"crypto": crypto, "rateEUR": rateEUR, "rateUSD": rateUSD, **out2})
|
||||||
|
|
||||||
return render(request,"monitor.html",{'cryptos':cryptos, 'total_tax_free': total_tax_free, 'total_investment': total_investment, 'current_value': current_value})
|
django_timezone = pytz.timezone(settings.TIME_ZONE)
|
||||||
|
|
||||||
|
return render(request,"monitor.html",
|
||||||
|
{'cryptos':cryptos,
|
||||||
|
'total_tax_free': total_tax_free,
|
||||||
|
'total_investment': total_investment,
|
||||||
|
'current_value': current_value,
|
||||||
|
'last_updated': last_updated,
|
||||||
|
'django_timezone': django_timezone})
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def graph(request):
|
def graph(request):
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
django
|
django
|
||||||
django-registration
|
django-registration
|
||||||
|
pytz
|
||||||
matplotlib
|
matplotlib
|
||||||
btcde
|
btcde
|
||||||
|
|||||||
@@ -15,3 +15,4 @@ EMAIL_USE_TLS = True
|
|||||||
|
|
||||||
SITE_ID = 1
|
SITE_ID = 1
|
||||||
ABOUT_URL = 'https://about.example.com'
|
ABOUT_URL = 'https://about.example.com'
|
||||||
|
TIME_ZONE = 'Europe/Amsterdam'
|
||||||
|
|||||||
Reference in New Issue
Block a user