clinic/netforce_clinic/models/matching_payment.py

46 lines
1.3 KiB
Python

from netforce.model import Model, fields, get_model
class MatchingPayment(Model):
_name="clinic.matching.payment"
_transient=True
_fields={
'file': fields.File("File"),
'patient_type_id': fields.Many2One("clinic.patient.type","Patient Type",required=True),
'hcode_id': fields.Many2One("clinic.hospital","HCode",required=True),
'expenes': fields.Many2Many("clinic.hd.case.expense","Expenses"),
}
def _get_ptype(self,context={}):
tids=get_model('clinic.patient.type').search([['default','=',True]])
tid=None
if tids:
tid=tids[0]
return tid
_defaults={
'patient_type_id': _get_ptype,
}
def match(self,ids,context={}):
obj=self.browse(ids)[0]
for exp in obj.expenes:
exp.delete()
exp_ids=[]
for exp in get_model('clinic.hd.case.expense').search_browse([]):
exp_ids.append(exp.id)
#TODO Checking
obj.write({
'expenes': [('add',exp_ids)]
})
return {
'next': {
'name': 'clinic_matching_payment',
'mode': 'form',
'active_id': obj.id,
},
'flash': 'Succesfully',
}
MatchingPayment.register()