Dmitry Novikov 7 years ago
parent
commit
035fa8bacf
  1. 2
      clientsideapp/views.py
  2. 1
      devapp/base_intr.py
  3. 4
      finapp/tests.py
  4. 8
      finapp/views.py

2
clientsideapp/views.py

@ -62,7 +62,7 @@ def buy_service(request, srv_id):
customer_nas_command.delay(abon.pk, 'sync') customer_nas_command.delay(abon.pk, 'sync')
messages.success( messages.success(
request, request,
_("The service '%s' wan successfully activated") % service.title
_("The service '%s' was successfully activated") % service.title
) )
else: else:
current_service = abon.active_tariff() current_service = abon.active_tariff()

1
devapp/base_intr.py

@ -23,6 +23,7 @@ class DeviceConfigurationError(DeviceImplementationError):
class DevBase(object, metaclass=ABCMeta): class DevBase(object, metaclass=ABCMeta):
def __init__(self, dev_instance=None): def __init__(self, dev_instance=None):
super().__init__()
self.db_instance = dev_instance self.db_instance = dev_instance
@property @property

4
finapp/tests.py

@ -37,6 +37,7 @@ class MyBaseTestCase(metaclass=ABCMeta):
def setUp(self): def setUp(self):
grp = Group.objects.create(title='Grp1') grp = Group.objects.create(title='Grp1')
grp.refresh_from_db()
a1 = Abon.objects.create_user( a1 = Abon.objects.create_user(
telephone='+79781234567', telephone='+79781234567',
username='abon', username='abon',
@ -44,7 +45,9 @@ class MyBaseTestCase(metaclass=ABCMeta):
) )
a1.group = grp a1.group = grp
a1.save(update_fields=('group',)) a1.save(update_fields=('group',))
a1.refresh_from_db()
my_admin = UserProfile.objects.create_superuser('+79781234567', 'local_superuser', 'ps') my_admin = UserProfile.objects.create_superuser('+79781234567', 'local_superuser', 'ps')
my_admin.refresh_from_db()
self.adminuser = my_admin self.adminuser = my_admin
self.abon = a1 self.abon = a1
self.group = grp self.group = grp
@ -68,6 +71,7 @@ class AllPayTestCase(MyBaseTestCase, TestCase):
service_id='service_id', service_id='service_id',
slug='pay_gw_slug' slug='pay_gw_slug'
) )
pay_system.refresh_from_db()
self.pay_system = pay_system self.pay_system = pay_system
def user_pay_view(self): def user_pay_view(self):

8
finapp/views.py

@ -3,7 +3,7 @@ from hashlib import md5
from django.contrib import messages from django.contrib import messages
from django.contrib.auth.mixins import PermissionRequiredMixin from django.contrib.auth.mixins import PermissionRequiredMixin
from django.db import DatabaseError
from django.db import DatabaseError, transaction
from django.db.models import Count from django.db.models import Count
from django.http import HttpResponse from django.http import HttpResponse
from django.shortcuts import get_object_or_404, resolve_url from django.shortcuts import get_object_or_404, resolve_url
@ -15,7 +15,6 @@ from django.utils.translation import ugettext_lazy as _
from xmlview.decorators import xml_view from xmlview.decorators import xml_view
from djing import lib from djing import lib
from djing.global_base_views import OrderedFilteredList from djing.global_base_views import OrderedFilteredList
from djing.lib import safe_int
from djing.lib.mixins import LoginAdminMixin, LoginAdminPermissionMixin from djing.lib.mixins import LoginAdminMixin, LoginAdminPermissionMixin
from finapp.forms import PayAllTimeGatewayForm from finapp.forms import PayAllTimeGatewayForm
from finapp.models import AllTimePayLog, PayAllTimeGateway from finapp.models import AllTimePayLog, PayAllTimeGateway
@ -40,14 +39,14 @@ class AllTimePay(DetailView):
return r return r
def check_sign(self, data: dict, sign: str) -> bool: def check_sign(self, data: dict, sign: str) -> bool:
act = safe_int(data.get('ACT'))
act = lib.safe_int(data.get('ACT'))
pay_account = data.get('PAY_ACCOUNT') pay_account = data.get('PAY_ACCOUNT')
serv_id = data.get('SERVICE_ID') serv_id = data.get('SERVICE_ID')
pay_id = data.get('PAY_ID') pay_id = data.get('PAY_ID')
md = md5() md = md5()
s = '_'.join( s = '_'.join(
(str(act), pay_account or '', serv_id or '', (str(act), pay_account or '', serv_id or '',
pay_id, self.object.secret)
pay_id or '', self.object.secret)
) )
md.update(bytes(s, 'utf-8')) md.update(bytes(s, 'utf-8'))
our_sign = md.hexdigest() our_sign = md.hexdigest()
@ -112,6 +111,7 @@ class AllTimePay(DetailView):
if pays.exists(): if pays.exists():
return self._bad_ret(-100, 'Pay already exists') return self._bad_ret(-100, 'Pay already exists')
with transaction.atomic():
abon.add_ballance( abon.add_ballance(
None, pay_amount, None, pay_amount,
comment='%s %.2f' % (self.object.title, pay_amount) comment='%s %.2f' % (self.object.title, pay_amount)

Loading…
Cancel
Save