Files

47 lines
1.7 KiB
Python

# coding=utf-8
from django.contrib.admin import site
from django.contrib.contenttypes.models import ContentType
from django.db import connection
from django.http.response import HttpResponseRedirect
from django.utils.encoding import force_text
from django.template.response import TemplateResponse
from django.contrib import messages
from django.utils.translation import ugettext_lazy as _
from django.contrib.contenttypes.models import ContentType
def pay_action(request,model,object_id):
title = _("Are you sure?")
ct = ContentType.objects.get(app_label='selfhelp',model=model)
obj = ct.get_object_for_this_type(id=int(object_id))
opts = obj._meta
objects_name = force_text(opts.verbose_name)
if model == 'reimbursement':
loan = obj.loan
amount = obj.logout_amount
if loan and (amount is None or amount< 0):
messages.error(request,u'您选择了借款单据,但是未正确填写核销金额,请在\'财务信息\'栏目中更正')
return HttpResponseRedirect("/admin/selfhelp/%s/%s"%(model,object_id))
if request.POST.get("post"):
try:
obj.action_pay(request)
messages.success(request,_('action successfully'))
except Exception,e:
messages.error(request,e)
return HttpResponseRedirect("/admin/selfhelp/%s/%s"%(model,object_id))
context = dict(
site.each_context(request),
title=title,
opts=opts,
objects_name=objects_name,
object=obj,
action_name=_('pay')
)
request.current_app = site.name
return TemplateResponse(request,'admin/invent/stockin/in_confirmation.html', context)