Browse Source

When statistics is empty then message about it instead of redirect

devel
bashmak 8 years ago
parent
commit
1ee6706951
  1. 26
      abonapp/templates/abonapp/charts.html
  2. 3
      abonapp/views.py
  3. 7
      statistics/models.py
  4. 1
      templates/site_base.html

26
abonapp/templates/abonapp/charts.html

@ -11,14 +11,6 @@
<div class="panel-body">
{% if charts_data %}
<div id="chrt"></div>
<form action="{% url 'abonapp:charts' group.pk abon.pk %}" method="get" class="input-group">
<span class="input-group-btn">
<button class="btn btn-default" type="submit">
<span class="glyphicon glyphicon-calendar"></span> {% trans 'Show graph by date' %}
</button>
</span>
<input type="text" class="form-control" placeholder="{% trans 'Choose a date' %}" id="date_choose" name="wantdate" value="{{ wantdate|date:'dmY' }}">
</form>
<script type="text/javascript">
$(document).ready(function ($) {
new Chartist.Line('#chrt', {
@ -46,14 +38,26 @@
tension: 0
})
});
$('#date_choose').datetimepicker({
format: 'DDMMYYYY'
});
});
</script>
{% else %}
<h2>{% trans 'Static info was Not found' %}</h2>
{% endif %}
<form action="{% url 'abonapp:charts' group.pk abon.pk %}" method="get" class="input-group">
<span class="input-group-btn">
<button class="btn btn-default" type="submit">
<span class="glyphicon glyphicon-calendar"></span> {% trans 'Show graph by date' %}
</button>
</span>
<input type="text" class="form-control" placeholder="{% trans 'Choose a date' %}" id="date_choose" name="wantdate" value="{{ wantdate|date:'dmY' }}">
</form>
<script type="text/javascript">
$(document).ready(function ($) {
$('#date_choose').datetimepicker({
format: 'DDMMYYYY'
});
});
</script>
</div>
</div>
</div>

3
abonapp/views.py

@ -579,9 +579,6 @@ def charts(request, gid, uid):
abon.group = Group.objects.get(pk=gid)
abon.save(update_fields=['group'])
if abon.ip_address is None:
charts_data = None
else:
charts_data = StatElem.objects.chart(
abon.username,
count_of_parts=30,

7
statistics/models.py

@ -1,6 +1,6 @@
import math
from datetime import datetime, timedelta, date, time
from django.db import models, connection
from django.db import models, connection, ProgrammingError
from django.utils.timezone import now
from mydefs import MyGenericIPAddressField
@ -28,6 +28,7 @@ class StatManager(models.Manager):
def avarage(elements):
return sum(elements) / len(elements)
try:
charts_data = self.filter(uname=username)
charts_times = [cd.cur_time.timestamp()*1000 for cd in charts_data]
charts_octets = [cd.octets for cd in charts_data]
@ -46,6 +47,10 @@ class StatManager(models.Manager):
return charts_data
else:
return
except ProgrammingError as e:
if "Table 'djing_db_n.flowstat" in str(e):
return
class StatElem(models.Model):

1
templates/site_base.html

@ -0,0 +1 @@
{% include 'all_base.html' %}
Loading…
Cancel
Save