Ejemplo n.º 1
0
def account_management_accounttariff(request):

    account = None
    account_id = request.GET.get("account_id")
    id = request.POST.get("id")

    if request.method == 'POST':
        form = BatchAccountTariffForm(request.POST)

        if not (request.user.account.has_perm('billservice.add_accounttarif')):
            messages.error(
                request,
                _(u'У вас нет прав на создание тарифных планов у аккаунта'),
                extra_tags='alert-danger')
            return {}

        if form.is_valid():
            tariff = form.cleaned_data.get('tariff')
            dt = form.cleaned_data.get('datetime')
            for acc in form.cleaned_data.get('accounts'):
                acct = AccountTarif()
                acct.account = acc
                acct.tarif = tariff
                acct.datetime = dt
                acct.save()
                log('CREATE', request.user, acct)
            return {'form': form, 'status': True}
        else:
            print form._errors
            return {'form': form, 'status': False}
    else:

        if not (request.user.account.has_perm('billservice.add_accounttarif')):
            messages.error(request,
                           _(u'У вас нет прав на доступ в этот раздел.'),
                           extra_tags='alert-danger')
            return {}

        m_form = AccountManagementForm(request.GET)
        form = None
        if m_form.is_valid():
            form = BatchAccountTariffForm(
                initial={
                    'accounts': m_form.cleaned_data.get('accounts', []),
                    'datetime': datetime.datetime.now()
                })  # An unbound form

    return {'form': form, 'status': False, 'account': account}
Ejemplo n.º 2
0
def account_management_accounttariff(request):

    account = None
    account_id = request.GET.get("account_id")
    id = request.POST.get("id")

    if request.method == 'POST': 
        form = BatchAccountTariffForm(request.POST) 

        if  not (request.user.account.has_perm('billservice.add_accounttarif')):
            messages.error(request, _(u'У вас нет прав на создание тарифных планов у аккаунта'), extra_tags='alert-danger')
            return {}

        if form.is_valid(): 
            tariff = form.cleaned_data.get('tariff')
            dt = form.cleaned_data.get('datetime')
            for acc in form.cleaned_data.get('accounts'):
                acct = AccountTarif()
                acct.account = acc
                acct.tarif = tariff
                acct.datetime = dt
                acct.save() 
                log('CREATE', request.user, acct)
            return {'form':form,  'status': True} 
        else:
            print form._errors
            return {'form':form,  'status': False} 
    else:

        if  not (request.user.account.has_perm('billservice.add_accounttarif')):
            messages.error(request, _(u'У вас нет прав на доступ в этот раздел.'), extra_tags='alert-danger')
            return {}

        m_form = AccountManagementForm(request.GET) 
        form = None
        if m_form.is_valid():
            form = BatchAccountTariffForm(initial={'accounts': m_form.cleaned_data.get('accounts', []), 'datetime': datetime.datetime.now()}) # An unbound form

    return { 'form':form, 'status': False, 'account':account} 
Ejemplo n.º 3
0
def activate_card(login, pin):
    status_ok = 1
    status_bad_userpassword = 2
    status_card_was_activated =3
    status_bad_card = 4
    now = datetime.datetime.now()
    cur=connection.cursor()
    if login and pin:

        return_status = 0
        
        card = Card.objects.filter(type=2, login=login, pin=pin, salecard__isnull=False, disabled=False)
        if not card: 
            return  status_bad_userpassword      
        if len(card)>1:
            return  status_bad_card
        card=card[0]
        if card.activated or card.start_date>now or card.end_date<now: 
            return  status_card_was_activated
  

        account = Account()
        account.username = login
        account.password = pin
        account.status = 1
        account.created = now
        account.allow_webcab = True
        account.allow_expresscards = True
        account.save()
        
        subaccount = SubAccount()
        subaccount.account = account
        subaccount.username = login
        subaccount.password = pin
        subaccount.ipv4_vpn_pool = card.ippool
        subaccount.nas = card.nas
        subaccount.save()

        ac = AccountTarif()
        ac.account=account
        ac.tarif = card.tarif
        ac.datetime = now
        ac.save()

        transaction = Transaction()
          
        transaction.bill = _(u'Активация карты доступа')
        transaction.account=account
        transaction.accounttarif=ac
        transaction.type =  TransactionType.objects.get(internal_name= 'ACCESS_CARD')
        
        transaction.approved = True
        transaction.tarif=card.tarif
        transaction.summ=card.nominal
        transaction.created=now
        transaction.save()

        card.activated = now
        card.activated_by = account
        card.save()
        return status_ok
                
    return
Ejemplo n.º 4
0
def activate_card(login, pin):
    status_ok = 1
    status_bad_userpassword = 2
    status_card_was_activated =3
    status_bad_card = 4
    now = datetime.datetime.now()
    cur=connection.cursor()
    if login and pin:

        return_status = 0
        
        card = Card.objects.filter(type=2, login=login, pin=pin, salecard__isnull=False, disabled=False)
        if not card: 
            return  status_bad_userpassword      
        if len(card)>1:
            return  status_bad_card
        card=card[0]
        if card.activated or card.start_date>now or card.end_date<now: 
            return  status_card_was_activated
  

        account = Account()
        account.username = login
        account.password = pin
        account.status = 1
        account.created = now
        account.allow_webcab = True
        account.allow_expresscards = True
        account.save()
        
        subaccount = SubAccount()
        subaccount.account = account
        subaccount.username = login
        subaccount.password = pin
        subaccount.ipv4_vpn_pool = card.ippool
        subaccount.nas = card.nas
        subaccount.save()

        ac = AccountTarif()
        ac.account=account
        ac.tarif = card.tarif
        ac.datetime = now
        ac.save()

        transaction = Transaction()
          
        transaction.bill = _(u'Активация карты доступа')
        transaction.account=account
        transaction.accounttarif=ac
        transaction.type =  TransactionType.objects.get(internal_name= 'ACCESS_CARD')
        
        transaction.approved = True
        transaction.tarif=card.tarif
        transaction.summ=card.nominal
        transaction.created=now
        transaction.save()

        card.activated = now
        card.activated_by = account
        card.save()
        return status_ok
                
    return