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()
 |