Exemple #1
0
def activate_pay_card(account_id,  card_id, pin):

    now = datetime.datetime.now()
    
    return_value = "CARD_NOT_FOUND"
    account = Account.objects.get(id=account_id)
    if pin and card_id and account_id:
        return_value = ''
        if settings.HOTSPOT_ONLY_PIN:
            card = Card.objects.filter(pin=pin,  disabled=False)
        else:
            card = Card.objects.filter(type=0, id=card_id, pin=pin,  disabled=False)
        if card:
            card = card[0]            
            if not card.salecard: 
                return_value = "CARD_NOT_SOLD"                
            elif card.activated: 
                return_value = "CARD_ALREADY_ACTIVATED"                
            elif card.start_date>now or card.end_date<now: 
                return_value =  "CARD_EXPIRED"
            if not return_value:           
    
                transaction = Transaction()
                  
                transaction.bill = _(u'Активация карты оплаты')
                transaction.account=account
                transaction.type = TransactionType.objects.get(internal_name='PAY_CARD')
                
                transaction.approved = True
                transaction.summ=card.nominal
                transaction.created=now
                transaction.save()            
                
                card.activated=now
                card.activated_by=account
                card.save()
                return_value = "CARD_ACTIVATED"
        else:
             return_value =  "CARD_NOT_FOUND"
            
              
    return return_value
Exemple #2
0
def activate_pay_card(account_id,  card_id, pin):

    now = datetime.datetime.now()
    
    return_value = "CARD_NOT_FOUND"
    account = Account.objects.get(id=account_id)
    if pin and (settings.HOTSPOT_ONLY_PIN or card_id) and account_id:
        return_value = ''
        if settings.HOTSPOT_ONLY_PIN:
            card = Card.objects.filter(pin=pin,  disabled=False)
        else:
            card = Card.objects.filter(type=0, id=card_id, pin=pin,  disabled=False)
        if card:
            card = card[0]            
            if not card.salecard and not settings.HOTSPOT_ONLY_PIN:
                return_value = "CARD_NOT_SOLD"                
            elif card.activated: 
                return_value = "CARD_ALREADY_ACTIVATED"                
            elif card.start_date>now or card.end_date<now: 
                return_value =  "CARD_EXPIRED"
            if not return_value:           
    
                transaction = Transaction()
                  
                transaction.bill = _(u'Активация карты оплаты')
                transaction.account=account
                transaction.type = TransactionType.objects.get(internal_name='PAY_CARD')
                
                transaction.approved = True
                transaction.summ=card.nominal
                transaction.created=now
                transaction.save()            
                
                card.activated=now
                card.activated_by=account
                card.save()
                return_value = "CARD_ACTIVATED"
        else:
             return_value =  "CARD_NOT_FOUND"
            
              
    return return_value
Exemple #3
0
def index(request):
    message=''
    if request.method == 'POST':
        form = PayForm(request.POST)
        if form.is_valid():
            username=form.cleaned_data['username']
            password=form.cleaned_data['password']
            summ=form.cleaned_data['summ']
            account_username=form.cleaned_data['account_username']
            description=form.cleaned_data['description']
            promise=form.cleaned_data['promise']
            try:
                user=SystemUser.objects.get(username=username, text_password=password)
            except:
                return {'form':form,'message':u'Пользователя с таким логином и паролем не существует',}

            try:
                account=Account.objects.get(username=account_username)
            except:
                return {'form':form,'message':u'Пользователя с таким логином и паролем не существует',}
            
            t=Transaction()
            t.account=account
            t.type=TransactionType.objects.get(internal_name='MANUAL_TRANSACTION')
            t.approved=True
            t.summ=-1*summ
            t.description=description
            t.created=datetime.datetime.now()
            t.promise=promise
            t.systemuser=user
            t.save()
            account=Account.objects.get(username=account_username)
            
            message=u'Платёж успешно выполнен. Новый баланс пользователя %s' % account.ballance
            
    else:
        form = PayForm()
        
    return {'form':form,'message':message}
Exemple #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
Exemple #5
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