diff --git a/abonapp/locale/ru/LC_MESSAGES/django.po b/abonapp/locale/ru/LC_MESSAGES/django.po index d060efd..762aeda 100644 --- a/abonapp/locale/ru/LC_MESSAGES/django.po +++ b/abonapp/locale/ru/LC_MESSAGES/django.po @@ -300,10 +300,6 @@ msgstr "График использования" msgid "Static info was Not found" msgstr "Статистика не найдена" -#: templates/abonapp/charts.html:51 -msgid "Graphs by dates" -msgstr "Графики по датам" - #: templates/abonapp/debtors.html:9 msgid "Debtors" msgstr "Должники" @@ -992,3 +988,10 @@ msgstr "Звонки" msgid "No have ip" msgstr "Нет ip адреса" +#, python-format +msgid "Graph of use by %(wantdate_d)s" +msgstr "График использования за %(wantdate_d)s" + +msgid "Show graph by date" +msgstr "Показать график по дате" + diff --git a/abonapp/models.py b/abonapp/models.py index cc95e28..e7d0e73 100644 --- a/abonapp/models.py +++ b/abonapp/models.py @@ -36,9 +36,9 @@ class AbonGroup(models.Model): class AbonLog(models.Model): - abon = models.ForeignKey('Abon') + abon = models.ForeignKey('Abon', models.CASCADE) amount = models.FloatField(default=0.0) - author = models.ForeignKey(UserProfile, related_name='+') + author = models.ForeignKey(UserProfile, models.CASCADE, related_name='+') comment = models.CharField(max_length=128) date = models.DateTimeField(auto_now_add=True) @@ -53,7 +53,7 @@ class AbonLog(models.Model): class AbonTariff(models.Model): - tariff = models.ForeignKey(Tariff, related_name='linkto_tariff') + tariff = models.ForeignKey(Tariff, models.CASCADE, related_name='linkto_tariff') # время начала действия услуги time_start = models.DateTimeField(null=True, blank=True, default=None) @@ -86,7 +86,7 @@ class AbonTariff(models.Model): class AbonStreet(models.Model): name = models.CharField(max_length=64) - group = models.ForeignKey(AbonGroup) + group = models.ForeignKey(AbonGroup, models.CASCADE) def __str__(self): return self.name @@ -289,7 +289,7 @@ class PassportInfo(models.Model): class InvoiceForPayment(models.Model): - abon = models.ForeignKey(Abon) + abon = models.ForeignKey(Abon, models.CASCADE) status = models.BooleanField(default=False) amount = models.FloatField(default=0.0) comment = models.CharField(max_length=128) @@ -363,7 +363,7 @@ class AllPayLog(models.Model): class AbonRawPassword(models.Model): - account = models.OneToOneField(Abon, primary_key=True) + account = models.OneToOneField(Abon, models.CASCADE, primary_key=True) passw_text = models.CharField(max_length=64) def __str__(self): @@ -374,7 +374,7 @@ class AbonRawPassword(models.Model): class AdditionalTelephone(models.Model): - abon = models.ForeignKey(Abon, related_name='additional_telephones') + abon = models.ForeignKey(Abon, models.CASCADE, related_name='additional_telephones') telephone = models.CharField( max_length=16, verbose_name=_('Telephone'), diff --git a/abonapp/templates/abonapp/charts.html b/abonapp/templates/abonapp/charts.html index a9481b0..97bcd2f 100644 --- a/abonapp/templates/abonapp/charts.html +++ b/abonapp/templates/abonapp/charts.html @@ -3,14 +3,22 @@ {% block content %}
{{ msg.text }}
+{{ msg.text }}
{% if msg.attachment %}
{{ msg.attachment }}
diff --git a/msg_app/urls.py b/msg_app/urls.py
index d0e27a7..21a320c 100644
--- a/msg_app/urls.py
+++ b/msg_app/urls.py
@@ -2,6 +2,9 @@ from django.conf.urls import url
from . import views
+app_name = 'msg_app'
+
+
urlpatterns = [
url(r'^$', views.home, name='home'),
url(r'^new$', views.new_conversation, name='new_conversation'),
diff --git a/searchapp/urls.py b/searchapp/urls.py
index a955e6c..3a80e5b 100644
--- a/searchapp/urls.py
+++ b/searchapp/urls.py
@@ -3,6 +3,8 @@ from django.conf.urls import url
from . import views
+app_name = 'searchapp'
+
urlpatterns = [
url(r'^$', views.home, name='home'),
diff --git a/static/css/custom.css b/static/css/custom.css
index 97ac6d3..0fe073e 100644
--- a/static/css/custom.css
+++ b/static/css/custom.css
@@ -275,5 +275,9 @@ div#loading>div.gif {
}
-pre {border: 0; background-color: transparent;}
+pre {
+ border: 0; background-color: transparent;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+}
diff --git a/statistics/models.py b/statistics/models.py
index c222edc..5e772c0 100644
--- a/statistics/models.py
+++ b/statistics/models.py
@@ -15,7 +15,7 @@ def get_dates():
class StatManager(models.Manager):
- def chart(self, ip_addr, count_of_parts=12, want_date=date.today()):
+ def chart(self, username, count_of_parts=12, want_date=date.today()):
def byte_to_mbit(x):
return ((x/60)*8)/2**20
@@ -28,7 +28,7 @@ class StatManager(models.Manager):
def avarage(elements):
return sum(elements) / len(elements)
- charts_data = self.filter(ip=ip_addr)
+ 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]
if len(charts_octets) > 0 and len(charts_octets) == len(charts_times):
@@ -50,6 +50,7 @@ class StatManager(models.Manager):
class StatElem(models.Model):
cur_time = UnixDateTimeField(primary_key=True)
+ uname = models.CharField(max_length=127, blank=True, null=True, default=None)
ip = MyGenericIPAddressField()
octets = models.PositiveIntegerField(default=0)
packets = models.PositiveIntegerField(default=0)
@@ -64,6 +65,10 @@ class StatElem(models.Model):
def delete(self, *args, **kwargs):
pass
+ @property
+ def table_name(self):
+ return self._meta.db_table
+
def delete_month(self):
cursor = connection.cursor()
table_name = self._meta.db_table
@@ -117,6 +122,5 @@ class StatCache(models.Model):
def is_today(self):
return date.today() == self.last_time.date()
-
class Meta:
db_table = 'flowcache'
diff --git a/statistics/urls.py b/statistics/urls.py
index 7d2a74a..21eec76 100644
--- a/statistics/urls.py
+++ b/statistics/urls.py
@@ -3,6 +3,9 @@ from django.conf.urls import url
from . import views
+app_name = 'statistics'
+
+
urlpatterns = [
url(r'^$', views.home, name='home'),
]
diff --git a/tariff_app/urls.py b/tariff_app/urls.py
index 48e93b9..5b25842 100644
--- a/tariff_app/urls.py
+++ b/tariff_app/urls.py
@@ -2,6 +2,7 @@ from django.conf.urls import url
from . import views
+app_name = 'tariff_app'
urlpatterns = [
url(r'^$', views.tarifs, name='home'),
diff --git a/taskapp/models.py b/taskapp/models.py
index bf2bdbc..8c2a41e 100644
--- a/taskapp/models.py
+++ b/taskapp/models.py
@@ -39,7 +39,7 @@ TASK_TYPES = (
class ChangeLog(models.Model):
- task = models.ForeignKey('Task')
+ task = models.ForeignKey('Task', models.CASCADE)
ACT_CHOICES = (
('e', _('Change task')),
('c', _('Create task')),
@@ -49,7 +49,7 @@ class ChangeLog(models.Model):
)
act_type = models.CharField(max_length=1, choices=ACT_CHOICES)
when = models.DateTimeField(auto_now_add=True)
- who = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='+')
+ who = models.ForeignKey(settings.AUTH_USER_MODEL, models.CASCADE, related_name='+')
def __str__(self):
return self.get_act_type_display()
@@ -69,7 +69,7 @@ class Task(models.Model):
state = models.CharField(_('Condition'), max_length=1, choices=TASK_STATES, default=TASK_STATES[0][0])
attachment = models.ImageField(_('Attached image'), upload_to='task_attachments/%Y.%m.%d', blank=True, null=True)
mode = models.CharField(_('The nature of the damage'), max_length=2, choices=TASK_TYPES, default=TASK_TYPES[0][0])
- abon = models.ForeignKey(Abon, null=True, blank=True, verbose_name=_('Subscriber'))
+ abon = models.ForeignKey(Abon, models.CASCADE, null=True, blank=True, verbose_name=_('Subscriber'))
class Meta:
db_table = 'task'
diff --git a/taskapp/urls.py b/taskapp/urls.py
index d3fef6f..2e1c0fb 100644
--- a/taskapp/urls.py
+++ b/taskapp/urls.py
@@ -3,6 +3,9 @@ from django.conf.urls import url
from . import views
+app_name = 'taskapp'
+
+
urlpatterns = [
url(r'^$', views.home, name='home'),
url(r'^(?P