diff --git a/forms.py b/forms.py
new file mode 100644
index 0000000..1def45d
--- /dev/null
+++ b/forms.py
@@ -0,0 +1,14 @@
+from django import forms
+
+class NewTradeForm(forms.Form):
+ timestamp = forms.DateTimeField()
+ account = forms.CharField(max_length=256)
+ security = forms.CharField(max_length=256)
+ operation = forms.ChoiceField(choices=[('buy', 'Buy'), ('sell', 'Sell')])
+ price = forms.DecimalField()
+ quantity = forms.IntegerField()
+ volume = forms.DateField()
+ volumeCurrency = forms.CharField(max_length=10)
+ strategyId = forms.CharField(max_length=64)
+ signalId = forms.CharField(max_length=64)
+
diff --git a/templates/dashboard/trades.html b/templates/dashboard/trades.html
index de9287f..8a1b064 100644
--- a/templates/dashboard/trades.html
+++ b/templates/dashboard/trades.html
@@ -1,7 +1,16 @@
{% extends "dashboard/base.html" %}
+{% load bootstrap3 %}
{% load mathfilters %}
{% block content %}
+
| Time |
@@ -13,7 +22,7 @@
Volume |
Strategy ID |
Signal ID |
- |
+ New trade... |
{% for trade in trades %}
@@ -26,7 +35,7 @@
| {{ trade.volume|stringformat:".3f"}} {{ trade.volumeCurrency }} |
{{ trade.strategyId }} |
{{ trade.signalId }} |
- |
+ |
{% endfor %}
diff --git a/urls.py b/urls.py
index 3f307eb..3faf375 100644
--- a/urls.py
+++ b/urls.py
@@ -8,5 +8,6 @@ urlpatterns = [
url(r'^add_instance$', views.add_instance, name='add_instance'),
url(r'^delete_instance/(?P[^/]+)$', views.delete_instance, name='delete_instance'),
url(r'^trades/$', views.trades_index, name='trades_index'),
+ url(r'^delete_trade/(?P[^/]+)$', views.delete_trade, name='delete_trade'),
]
diff --git a/views.py b/views.py
index 9bba457..994750d 100644
--- a/views.py
+++ b/views.py
@@ -6,6 +6,7 @@ from django.urls import reverse
from django.contrib import messages
from .models import RobotInstance, Trade
+from .forms import NewTradeForm
import redis
import json
import datetime
@@ -71,9 +72,18 @@ def delete_instance(request, instance_id):
return HttpResponseRedirect(reverse('overview'))
def trades_index(request):
+ now = datetime.datetime.utcnow()
+ new_trade_form = NewTradeForm(initial={'timestamp' : now})
trades = Trade.objects.all()
template = loader.get_template('dashboard/trades.html')
context = {
- 'trades' : trades
+ 'trades' : trades,
+ 'new_trade_form' : new_trade_form
}
return HttpResponse(template.render(context, request))
+
+def delete_trade(request, trade_id):
+ trade = get_object_or_404(Trade, pk=trade_id)
+ trade.delete()
+ return HttpResponseRedirect(reverse('trades_index'))
+