Browse Source

New trade form

master
Denis Tereshkin 9 years ago
parent
commit
3cd5858c80
  1. 14
      forms.py
  2. 13
      templates/dashboard/trades.html
  3. 1
      urls.py
  4. 12
      views.py

14
forms.py

@ -0,0 +1,14 @@ @@ -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)

13
templates/dashboard/trades.html

@ -1,7 +1,16 @@ @@ -1,7 +1,16 @@
{% extends "dashboard/base.html" %}
{% load bootstrap3 %}
{% load mathfilters %}
{% block content %}
<div class="panel panel-default panel-collapse collapse" id="new_trade_form">
<div class="panel-body">
<form action="#" method="POST">
{% bootstrap_form new_trade_form %}
{% bootstrap_button button_type='submit' content='Submit' %}
</form>
</div>
</div>
<table class="table table-condensed">
<tr>
<td>Time</td>
@ -13,7 +22,7 @@ @@ -13,7 +22,7 @@
<td>Volume</td>
<td>Strategy ID</td>
<td>Signal ID</td>
<td></td>
<td> <a href="#new_trade_form" role="button" data-toggle="collapse">New trade...</a> </td>
</tr>
{% for trade in trades %}
<tr>
@ -26,7 +35,7 @@ @@ -26,7 +35,7 @@
<td>{{ trade.volume|stringformat:".3f"}} {{ trade.volumeCurrency }}</td>
<td>{{ trade.strategyId }}</td>
<td>{{ trade.signalId }}</td>
<td><button type="button" class="btn btn-danger" onclick="if(window.confirm('Confirm deletion')) { document.location.href = '/delete_trade?id={{ trade.pk }}'}; return false;">Delete</button></td>
<td><button type="button" class="btn btn-danger" onclick="if(window.confirm('Confirm deletion')) { document.location.href = '{% url 'delete_trade' trade_id=trade.pk %}'}; return false;">Delete</button></td>
</tr>
{% endfor %}
</table>

1
urls.py

@ -8,5 +8,6 @@ urlpatterns = [ @@ -8,5 +8,6 @@ urlpatterns = [
url(r'^add_instance$', views.add_instance, name='add_instance'),
url(r'^delete_instance/(?P<instance_id>[^/]+)$', views.delete_instance, name='delete_instance'),
url(r'^trades/$', views.trades_index, name='trades_index'),
url(r'^delete_trade/(?P<trade_id>[^/]+)$', views.delete_trade, name='delete_trade'),
]

12
views.py

@ -6,6 +6,7 @@ from django.urls import reverse @@ -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): @@ -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'))

Loading…
Cancel
Save