From 564a83b4af6790626af56fddaa4c0b409d26ada2 Mon Sep 17 00:00:00 2001 From: bashmak Date: Sat, 16 Dec 2017 12:32:17 +0300 Subject: [PATCH 1/3] Create date filter in dialing app --- dialing_app/models.py | 4 +++- dialing_app/templates/index.html | 22 ++++++++++++++++++++-- dialing_app/views.py | 27 +++++++++++++++++++++++---- 3 files changed, 46 insertions(+), 7 deletions(-) diff --git a/dialing_app/models.py b/dialing_app/models.py index 3f939b4..8030c10 100644 --- a/dialing_app/models.py +++ b/dialing_app/models.py @@ -1,4 +1,5 @@ from django.db import models +from datetime import datetime from django.utils.translation import ugettext_lazy as _ from django.conf import settings @@ -60,7 +61,8 @@ class AsteriskCDR(models.Model): return "%s/monitor" % path def url(self): - return "%s/%s-%s-%s.wav" % ( self.path_to_media(), self.calldate.strftime('%Y/%m/%d/%H_%M'), self.src, self.dst ) + if type(self.calldate) is datetime: + return "%s/%s-%s-%s.wav" % (self.path_to_media(), self.calldate.strftime('%Y/%m/%d/%H_%M'), self.src, self.dst) class Meta: db_table = 'cdr' diff --git a/dialing_app/templates/index.html b/dialing_app/templates/index.html index ae01974..5505504 100644 --- a/dialing_app/templates/index.html +++ b/dialing_app/templates/index.html @@ -31,6 +31,24 @@ +
+ +
+ + +
+ +
+
+
@@ -42,9 +60,9 @@ - + diff --git a/dialing_app/views.py b/dialing_app/views.py index 4386a07..b708f8b 100644 --- a/dialing_app/views.py +++ b/dialing_app/views.py @@ -1,3 +1,4 @@ +from datetime import datetime from django.contrib.auth.decorators import login_required from django.contrib import messages from django.shortcuts import render, redirect @@ -66,12 +67,30 @@ def vmail_report(request): @login_required @only_admins def vfilter(request): + cdr_q = None + sd = request.GET.get('sd') s = request.GET.get('s') - cdr_q = Q(src__icontains=s) | Q(dst__icontains=s) - cdr = AsteriskCDR.objects.filter(cdr_q) + if s: + cdr_q = Q(src__icontains=s) | Q(dst__icontains=s) + + try: + if sd: + sd_date = datetime.strptime(sd, '%Y-%m-%d') + if cdr_q: + cdr_q |= Q(calldate__date=sd_date) + else: + cdr_q = Q(calldate__date=sd_date) + except ValueError: + messages.error(request, _('Make sure that your date format is correct')) + + if cdr_q is None: + cdr = AsteriskCDR.objects.all() + else: + cdr = AsteriskCDR.objects.filter(cdr_q) + cdr = pag_mn(request, cdr) return render(request, 'index.html', { 'logs': cdr, 'title': _('Find dials'), - 's': s + 's': s, + 'sd': sd }) - From cd2f22f4154af88c2baf4f8d967ed4b02658e8ae Mon Sep 17 00:00:00 2001 From: bashmak Date: Fri, 22 Dec 2017 13:30:22 +0300 Subject: [PATCH 2/3] Add remove button to task page --- taskapp/locale/ru/LC_MESSAGES/django.po | 4 +- taskapp/models.py | 19 +++--- taskapp/templates/taskapp/add_edit_task.html | 67 ++++++++------------ taskapp/views.py | 2 +- 4 files changed, 39 insertions(+), 53 deletions(-) diff --git a/taskapp/locale/ru/LC_MESSAGES/django.po b/taskapp/locale/ru/LC_MESSAGES/django.po index 78af563..368161e 100644 --- a/taskapp/locale/ru/LC_MESSAGES/django.po +++ b/taskapp/locale/ru/LC_MESSAGES/django.po @@ -202,7 +202,7 @@ msgid "Subscriber" msgstr "Абонент" #: taskapp/templates/taskapp/add_edit_task.html:75 -msgid "Reality (the date by which you must complete the task)" +msgid "Reality" msgstr "Актуальность (дата, до которой нужно завершить задачу)" #: taskapp/templates/taskapp/add_edit_task.html:90 @@ -243,7 +243,7 @@ msgstr "Адрес" #: taskapp/templates/taskapp/tasklist_finish.html:14 #: taskapp/templates/taskapp/view.html:21 msgid "Task author" -msgstr "Кто назначил" +msgstr "Автор задачи" #: taskapp/templates/taskapp/tasklist.html:15 #: taskapp/templates/taskapp/tasklist_active.html:15 diff --git a/taskapp/models.py b/taskapp/models.py index 1ed1742..bf2bdbc 100644 --- a/taskapp/models.py +++ b/taskapp/models.py @@ -60,17 +60,16 @@ def _delta_add_days(): class Task(models.Model): - descr = models.CharField(max_length=128, null=True, blank=True) + descr = models.CharField(_('Description'), max_length=128, null=True, blank=True) recipients = models.ManyToManyField(settings.AUTH_USER_MODEL, related_name='them_task') - author = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='+', on_delete=models.SET_NULL, null=True, blank=True) - #device = models.ForeignKey(Device, related_name='dev') - priority = models.CharField(max_length=1, choices=TASK_PRIORITIES, default=TASK_PRIORITIES[2][0]) - out_date = models.DateField(null=True, blank=True, default=_delta_add_days) - time_of_create = models.DateTimeField(auto_now_add=True) - state = models.CharField(max_length=1, choices=TASK_STATES, default=TASK_STATES[0][0]) - attachment = models.ImageField(upload_to='task_attachments/%Y.%m.%d', blank=True, null=True) - mode = models.CharField(max_length=2, choices=TASK_TYPES, default=TASK_TYPES[0][0]) - abon = models.ForeignKey(Abon, null=True, blank=True) + author = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='+', on_delete=models.SET_NULL, null=True, blank=True, verbose_name=_('Task author')) + priority = models.CharField(_('A priority'), max_length=1, choices=TASK_PRIORITIES, default=TASK_PRIORITIES[2][0]) + out_date = models.DateField(_('Reality'), null=True, blank=True, default=_delta_add_days) + time_of_create = models.DateTimeField(_('Date of create'), auto_now_add=True) + 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')) class Meta: db_table = 'task' diff --git a/taskapp/templates/taskapp/add_edit_task.html b/taskapp/templates/taskapp/add_edit_task.html index 2453274..212fa78 100644 --- a/taskapp/templates/taskapp/add_edit_task.html +++ b/taskapp/templates/taskapp/add_edit_task.html @@ -1,5 +1,6 @@ {% extends request.is_ajax|yesno:'bajax.html,base.html' %} {% load i18n %} +{% load bootstrap3 %} {% block main %}