Browse Source

Добавил выбор даты просмотра для графиков

devel
bashmak 9 years ago
parent
commit
3465a404ae
  1. 12
      abonapp/locale/ru/LC_MESSAGES/django.po
  2. 19
      abonapp/templates/abonapp/charts.html
  3. 19
      abonapp/views.py

12
abonapp/locale/ru/LC_MESSAGES/django.po

@ -857,3 +857,15 @@ msgstr "Графики"
msgid "Sub information"
msgstr "Информация абонента"
msgid "Streets"
msgstr "Улицы"
msgid "Static info was Not found"
msgstr "Статистика не найдена"
msgid "Graphs by dates"
msgstr "Графики по датам"
msgid "Graph of use"
msgstr "График использования"

19
abonapp/templates/abonapp/charts.html

@ -3,10 +3,10 @@
{% block content %}
<div class="row">
<div class="col-sm-12">
<div class="col-sm-10">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">График использования</h3>
<h3 class="panel-title">{% trans 'Graph of use' %}</h3>
</div>
<div class="panel-body">
{% if charts_data %}
@ -16,7 +16,6 @@
new Chartist.Line('#chrt', {
series: [
{
name: 'График траффика',
data: [
{{ charts_data }}
]
@ -39,11 +38,23 @@
});
</script>
{% else %}
<h2>Траффик не найден</h2>
<h2>{% trans 'Static info was Not found' %}</h2>
{% endif %}
</div>
</div>
</div>
<div class="col-sm-2">
<div class="panel panel-default">
<div class="panel-heading">{% trans 'Graphs by dates' %}</div>
<div class="list-group">
{% for dat in dates %}
<a href="{% url 'abonapp:charts' abon_group.pk abon.pk %}?wantdate={{ dat|date:'dmY' }}" class="list-group-item{% if dat == now %} active{% endif %}">{{ dat|date:'j E' }}</a>
{% empty %}
{% trans 'Static info was Not found' %}
{% endfor %}
</div>
</div>
</div>
</div>
{% endblock %}

19
abonapp/views.py

@ -18,7 +18,7 @@ from . import forms
from . import models
import mydefs
from devapp.models import Device
from datetime import datetime
from datetime import datetime, date
from taskapp.models import Task
@ -717,8 +717,14 @@ def charts(request, gid, uid):
from statistics.models import getModel
high = 100
wandate = request.GET.get('wantdate')
if wandate:
wandate = datetime.strptime(wandate, '%d%m%Y').date()
else:
wandate = date.today()
try:
StatElem = getModel()
StatElem = getModel(wandate)
abon = models.Abon.objects.get(pk=uid)
if abon.group is None:
abon.group = models.AbonGroup.objects.get(pk=gid)
@ -728,7 +734,11 @@ def charts(request, gid, uid):
if abon.ip_address is None:
charts_data = None
else:
charts_data = StatElem.objects.chart(abon.ip_address)
charts_data = StatElem.objects.chart(
abon.ip_address,
count_of_parts=24,
want_date=wandate
)
abontariff = abon.active_tariff()
if abontariff is not None:
@ -750,7 +760,8 @@ def charts(request, gid, uid):
'abon_group': abongroup,
'abon': abon,
'charts_data': ',\n'.join(charts_data) if charts_data is not None else None,
'high': high
'high': high,
'dates': StatElem.objects.get_dates()
})

Loading…
Cancel
Save