def wallet_management(request, obj_id): form_class = CorrectionForm(request.POST or None) form_class1 = DepositForm(request.POST or None, owner_id=obj_id) wallet = get_wallet(obj_id) if request.method == 'POST': if 'save_correction' in request.POST: if form_class.is_valid(): api.calculate_correction(form_class.cleaned_data['balance'], obj_id, request.user, form_class.cleaned_data['comment']) messages.add_message(request, messages.INFO, 'Correction was successfully saved.') return HttpResponseRedirect(request.path) elif 'save_deposit' in request.POST: if form_class1.is_valid(): api.make_deposit_or_withdrawal( form_class1.cleaned_data['deposit_or_withdrawal'], obj_id, request.user, form_class1.cleaned_data['comment']) messages.add_message(request, messages.INFO, 'Successfully saved.') return HttpResponseRedirect(request.path) return render(request, 'admin/wallet_management.html', { 'wallet': wallet, 'form_class': form_class, 'form_class1': form_class1 })
def wallet_link(self, obj): if obj.id is not None: wallet_obj = wallet_api.get_wallet(obj.id) return '<a href="{}">{}</a>'.format( reverse('admin:wallet_wallet_change', args=(wallet_obj.id,)), self.balance(obj) )
def retrieve(self, request, pk): """Retrieves wallet details.""" wallet_obj = wallet_api.get_wallet(pk) serializer = WalletSerializer(wallet_obj) return Response( data=serializer.data, status=status.HTTP_200_OK )