Beispiel #1
0
def credit_export(request, phoneuser_id=0):
    """Stampa bilancio"""
    import datetime
    phoneuser_id = int(phoneuser_id)
    if phoneuser_id:
        try:
            phoneuser = PhoneUser.objects.get(pk=phoneuser_id)
        except:
            raise Http404

        recharges = Credit.objects.filter(phoneuser_id=phoneuser_id)
        tot_recharges = Credit.get_total(phoneuser_id)
        tot_cost = Detail.get_cost(phoneuser_id)

        variables = {
            'header': Pref.header(),
            'phoneuser': phoneuser,
            'today': datetime.date.today().strftime("%d-%m-%Y"),
            'recharges': recharges,
            'tot_recharges': tot_recharges,
            'tot_cost': tot_cost,
        }

        return render_to_response('phoneusers/credits/report.html', variables)
    else:
        raise Http404
Beispiel #2
0
def credit_save(request):
    """Save credit"""
    from decimal import Decimal
    phoneuser_id = int(request.POST.get("data[phoneuser_id]", "0"))
    recharge = request.POST.get('data[recharge]', "0")
    reason = request.POST.get('data[reason]', "")

    recharge = recharge.replace(",", ".")

    credit = Credit()

    credit.phoneuser_id = phoneuser_id
    credit.recharge = Decimal(recharge)
    credit.reason = reason

    try:
        #credit.save(user_id=request.user.id, phoneuser_id=phoneuser_id)
        credit.save()
        phoneuser = PhoneUser.objects.get(pk=phoneuser_id)
        # eliminiamo eventuali valori residui negativi
        if phoneuser.balance > 0:
            phoneuser.balance += Decimal(recharge)
        else:
            phoneuser.balance = Decimal(recharge)
        phoneuser.save()
        audit = Audit()
        audit.log(user=request.user,
            what="Effettuata ricarica di importo %s a favore di %s" % (credit.recharge, 
                credit.phoneuser))
        return credit_items(request, phoneuser_id)
    except Exception as e:
        return HttpResponse(status=400, content=json.dumps({'err_msg': format(e)}), content_type='application/json')