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" msgid "Sub information"
msgstr "Информация абонента" 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 %} {% block content %}
<div class="row"> <div class="row">
<div class="col-sm-12">
<div class="col-sm-10">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<h3 class="panel-title">График использования</h3>
<h3 class="panel-title">{% trans 'Graph of use' %}</h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
{% if charts_data %} {% if charts_data %}
@ -16,7 +16,6 @@
new Chartist.Line('#chrt', { new Chartist.Line('#chrt', {
series: [ series: [
{ {
name: 'График траффика',
data: [ data: [
{{ charts_data }} {{ charts_data }}
] ]
@ -39,11 +38,23 @@
}); });
</script> </script>
{% else %} {% else %}
<h2>Траффик не найден</h2>
<h2>{% trans 'Static info was Not found' %}</h2>
{% endif %} {% endif %}
</div> </div>
</div> </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> </div>
{% endblock %} {% endblock %}

19
abonapp/views.py

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