Browse Source

add logging to cron.py when users services is expired

devel
bashmak 8 years ago
parent
commit
a0890ebb18
  1. 825
      abonapp/locale/ru/LC_MESSAGES/django.po
  2. 8
      abonapp/views.py
  3. 30
      cron.py
  4. 69
      locale/ru/LC_MESSAGES/django.po

825
abonapp/locale/ru/LC_MESSAGES/django.po
File diff suppressed because it is too large
View File

8
abonapp/views.py

@ -395,12 +395,15 @@ def pick_tariff(request, gid, uid):
if request.method == 'POST':
trf = Tariff.objects.get(pk=request.POST.get('tariff'))
deadline = request.POST.get('deadline')
log_comment = _("Service '%(service_name)s' has connected via admin") % {
'service_name': trf.title
}
if deadline == '' or deadline is None:
abon.pick_tariff(trf, request.user)
abon.pick_tariff(trf, request.user, comment=log_comment)
else:
deadline = datetime.strptime(deadline, '%Y-%m-%d')
deadline += timedelta(hours=23, minutes=59, seconds=59)
abon.pick_tariff(trf, request.user, deadline=deadline)
abon.pick_tariff(trf, request.user, deadline=deadline, comment=log_comment)
messages.success(request, _('Tariff has been picked'))
return redirect('abonapp:abon_services', gid=gid, uid=abon.id)
except (mydefs.LogicError, NasFailedResult) as e:
@ -426,7 +429,6 @@ def pick_tariff(request, gid, uid):
@login_required
@permission_required('abonapp.delete_abontariff')
@permission_required('abonapp.can_view_abongroup', (models.AbonGroup, 'pk', 'gid'))
def unsubscribe_service(request, gid, uid, abon_tariff_id):
try:
abon_tariff = get_object_or_404(models.AbonTariff, pk=int(abon_tariff_id))

30
cron.py

@ -4,22 +4,44 @@ import django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djing.settings")
django.setup()
from django.utils import timezone
from django.db import transaction
from django.db.models import signals
from abonapp.models import Abon, AbonTariff, abontariff_pre_delete, PeriodicPayForId
from django.utils.translation import ugettext_lazy as _
from abonapp.models import Abon, AbonTariff, abontariff_pre_delete, PeriodicPayForId, AbonLog
from agent import Transmitter, NasNetworkError, NasFailedResult
from mydefs import LogicError
def main():
signals.pre_delete.disconnect(abontariff_pre_delete, sender=AbonTariff)
AbonTariff.objects.filter(deadline__lt=timezone.now()).delete()
# AbonTariff.objects.filter(abon=None).delete()
now = timezone.now()
fields = ('id', 'tariff__title', 'abon__id')
expired_services = AbonTariff.objects.filter(deadline__lt=now).exclude(abon=None)
# finishing expires services
with transaction.atomic():
for ex_srv in expired_services.only(*fields).values(*fields):
AbonLog.objects.create(
abon_id=ex_srv['abon__id'],
amount=0,
author=None,
date=now,
comment=_("Service '%(service_name)s' has expired") % {
'service_name': ex_srv['tariff__title']
}
)
expired_services.delete()
signals.pre_delete.connect(abontariff_pre_delete, sender=AbonTariff)
# sync subscribers on NAS
tm = Transmitter()
users = Abon.objects.filter(is_dynamic_ip=False, is_active=True).exclude(current_tariff=None)
tm.sync_nas(users)
signals.pre_delete.connect(abontariff_pre_delete, sender=AbonTariff)
# manage periodic pays
ppays = PeriodicPayForId.objects.filter(next_pay__lt=timezone.now()).prefetch_related('account', 'periodic_pay')
ppays = PeriodicPayForId.objects.filter(next_pay__lt=timezone.now())\
.prefetch_related('account', 'periodic_pay')
for pay in ppays:
pay.payment_for_service()

69
locale/ru/LC_MESSAGES/django.po

@ -0,0 +1,69 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Dmitry Novikov nerosketch@gmail.com, 2018.
#
#, fuzzy
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-01-26 19:22+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Dmitry Novikov nerosketch@gmail.com\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
"%100>=11 && n%100<=14)? 2 : 3);\n"
#: agent/commands/dhcp.py:19
msgid "User settings is not dynamic"
msgstr ""
#: agent/commands/dhcp.py:29
#, python-format
msgid "User with device '%s' does not exist"
msgstr ""
#: agent/commands/dhcp.py:31
#, python-format
msgid "Device with mac %s not found"
msgstr ""
#: agent/commands/dhcp.py:33
#, python-format
msgid "Port %d on device with mac %s does not exist"
msgstr ""
#: cron.py:30
#, python-format
msgid "Service '%(service_name)s' has expired"
msgstr "Срок действия услуги '%(service_name)s' истёк"
#: djing/formfields.py:13
msgid "Enter a valid integer."
msgstr ""
#: djing/formfields.py:22
msgid "Enter a valid MAC Address."
msgstr ""
#: templates/403.html:5
msgid "Permission denied"
msgstr "Доступ запрещён"
#: templates/403.html:39 templates/403_for_modal.html:4
#: templates/403_for_modal.html:7
msgid "403 - Permission denied"
msgstr "403 - Доступ запрещён"
#: templates/403.html:40 templates/403_for_modal.html:8
msgid "You have no permissions for that page"
msgstr "У вас нет прав просматривать эту страницу"
#: templates/403_for_modal.html:11
msgid "Close"
msgstr "Закрыть"
Loading…
Cancel
Save