clinic/netforce_clinic/models/hd_case_payment.py

54 lines
1.6 KiB
Python
Raw Normal View History

2014-10-22 08:55:57 +00:00
from netforce.model import Model, fields, get_model
class HDCasePayment(Model):
_name="clinic.hd.case.payment"
_transient=True
_fields={
"hd_case_id": fields.Many2One("clinic.hd.case","HdCase",required=True,on_delete="cascade"),
"pay_amount": fields.Float("Amount"),
}
def _get_hd_case_id(self,context={}):
hd_case_id=context.get("refer_id")
if not hd_case_id:
return None
return int(hd_case_id)
def _get_pay_amount(self,context={}):
hd_case_id=context.get("refer_id")
hd_case=get_model("clinic.hd.case").browse(hd_case_id)
return hd_case.amount
_defaults={
'hd_case_id': _get_hd_case_id,
'pay_amount': _get_pay_amount,
}
def cash(self,ids,context):
obj=self.browse(ids)[0]
hd_case=get_model("clinic.hd.case").browse(obj.hd_case_id.id)
context['amount']=obj.pay_amount or 0.0
print(">><< ", obj.pay_amount)
hd_case.make_payment(context=context)
obj.write({
'pay_amount': hd_case.amount,
})
print(":: ", context['amount']-obj.pay_amount)
if not obj.pay_amount:
return {
'next': {
'name': 'clinic_hd_case',
'mode': 'form',
'active_id': hd_case.id,
},
'flash': 'Paid',
}
def credit(self,ids,context):
obj=self.browse(ids)[0]
hd_case=get_model("clinic.hd.case").browse(obj.hd_case_id.id)
HDCasePayment.register()