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) _defaults={ 'hd_case_id': _get_hd_case_id, 'dialyzer_type': 'low', 'max_use_time': 10, } 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'] product_id=data['product_id'] data['membrane_type']=None for dlz in get_model("clinic.dialyzer").search_browse([]): prod=dlz.product_id if prod.id==product_id: data['membrane_type']=dlz.membrane_type break return data HDCasePopupDlz.register()