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