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
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')