79 lines
2.8 KiB
Plaintext
79 lines
2.8 KiB
Plaintext
|
from netforce.model import Model, fields, get_model
|
||
|
|
||
|
class HDCasePopupDlz(Model):
|
||
|
_name="clinic.hd.case.popup.dlz"
|
||
|
_transient=True
|
||
|
|
||
|
_fields={
|
||
|
"hd_case_id": fields.Many2One("clinic.hd.case","HdCase",required=True,on_delete="cascade"),
|
||
|
'product_id': fields.Many2One("product", "Product",required=True),
|
||
|
"dialyzer_type": fields.Selection([("low","low flux"),("high","high flux"),("dbl","dbl hifulx")],"Dialyzer Type"),
|
||
|
"max_use_time": fields.Integer("Max Use Time"),
|
||
|
"exp_date": fields.Date("Expiry Date"),
|
||
|
"note": fields.Text("Note"),
|
||
|
"membrane_type": fields.Selection([("unsub","Unsub cellul"),("sub","Sub cellul"),("synthetic","Synthetic")],"Membrane Type"),
|
||
|
}
|
||
|
|
||
|
def __get_hd_case_id(self,context={}):
|
||
|
hd_case_id=context.get("refer_id")
|
||
|
print("clinic.hd.case.popup.dlz default")
|
||
|
if not hd_case_id:
|
||
|
return None
|
||
|
return int(hd_case_id)
|
||
|
|
||
|
def default_get(self,field_names=None,context={},**kw):
|
||
|
defaults=context.get("defaults",{})
|
||
|
hdcase_id=defaults.get('hd_case_id')
|
||
|
dialyzer_type=defaults.get('dialyzer_type')
|
||
|
if not hdcase_id:
|
||
|
hdcase_id=context.get("refer_id")
|
||
|
if hdcase_id:
|
||
|
hdcase=get_model('clinic.hd.case').browse(hdcase_id)
|
||
|
dom=[]
|
||
|
for dlz in get_model('clinic.dialyzer').search_browse(dom):
|
||
|
dialyzer_type=dlz.dialyzer_type or "low"
|
||
|
pass
|
||
|
res={
|
||
|
'hd_case_id': hdcase_id,
|
||
|
'dialyzer_type': 'low',
|
||
|
'max_use_time': 10,
|
||
|
}
|
||
|
print('res', res)
|
||
|
return res
|
||
|
|
||
|
def new_dlz(self,ids,context={}):
|
||
|
obj=self.browse(ids)[0]
|
||
|
hd_case=obj.hd_case_id
|
||
|
res={}
|
||
|
if hd_case:
|
||
|
context['is_wiz']=True
|
||
|
context['pop_id']=obj.id
|
||
|
res=hd_case.new_dialyzer(context=context)
|
||
|
print('res ', res)
|
||
|
return res
|
||
|
|
||
|
def onchange_product(self,context={}):
|
||
|
data=context['data']
|
||
|
hdcase_id=data['hd_case_id']
|
||
|
patient=None
|
||
|
if hdcase_id:
|
||
|
hdcase=get_model('clinic.hd.case').browse(hdcase_id)
|
||
|
patient=hdcase.patient_id
|
||
|
product_id=data['product_id']
|
||
|
data['membrane_type']=None
|
||
|
data['dialyzer_type']=None
|
||
|
data['max_use_time']=10
|
||
|
dom=[]
|
||
|
if patient:
|
||
|
dom.append(['patient_id','=',patient.id])
|
||
|
for dlz in get_model("clinic.dialyzer").search_browse(dom):
|
||
|
prod=dlz.product_id
|
||
|
if prod.id==product_id:
|
||
|
data['membrane_type']=dlz.membrane_type
|
||
|
data['dialyzer_type']=dlz.dialyzer_type or "low"
|
||
|
data['max_use_time']=dlz.max_use_time or 10
|
||
|
break
|
||
|
return data
|
||
|
|
||
|
HDCasePopupDlz.register()
|