63 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
from netforce.model import Model, fields, get_model
 | 
						|
from netforce.access import get_active_company
 | 
						|
 | 
						|
class SickBed(Model):
 | 
						|
    _name="clinic.sickbed"
 | 
						|
    _string="Sickbed"
 | 
						|
    
 | 
						|
    def _get_all(self,ids,context={}):
 | 
						|
        res={}
 | 
						|
        for obj in self.browse(ids):
 | 
						|
            hd_case=None
 | 
						|
            patient_id=None
 | 
						|
            image=None
 | 
						|
            date=''
 | 
						|
            for hd_case in sorted(obj.hd_cases, key=lambda a: a.id):
 | 
						|
                patient=hd_case.patient_id
 | 
						|
                patient_id=patient.id
 | 
						|
                image=patient.image
 | 
						|
                date=hd_case.date
 | 
						|
            res[obj.id]={
 | 
						|
                'patient_id': patient_id,
 | 
						|
                'image': image,
 | 
						|
                'date': date,
 | 
						|
            }
 | 
						|
        return res
 | 
						|
 | 
						|
    _fields={
 | 
						|
        "name": fields.Char("Name",required=True,search=True),
 | 
						|
        "available": fields.Boolean("Available"),
 | 
						|
        'hd_cases': fields.One2Many("clinic.hd.case",'sickbed_id','HDCases'),
 | 
						|
        'company_id': fields.Many2One("company","Company"),
 | 
						|
        'patient_id': fields.Many2One("clinic.patient","Lasted Patient",function="_get_all",function_multi=True),
 | 
						|
        'image': fields.File("Image",function="_get_all",function_multi=True),
 | 
						|
        'date': fields.Date("Date",function="_get_all",function_multi=True),
 | 
						|
        "state": fields.Selection([("available","Available"),("not_available","Not Available")],"Status"),
 | 
						|
        'sequence': fields.Integer("Sequence"),
 | 
						|
        'note': fields.Text("Note"),
 | 
						|
    }
 | 
						|
 | 
						|
    _defaults={
 | 
						|
        'available': True,
 | 
						|
        "company_id": lambda *a: get_active_company(),
 | 
						|
        'sequence': 0,
 | 
						|
    }
 | 
						|
    
 | 
						|
    _order="sequence"
 | 
						|
 | 
						|
    def copy(self,ids,context={}):
 | 
						|
        obj=self.browse(ids)[0]
 | 
						|
        new_id=get_model("clinic.sickbed").create({
 | 
						|
            'name': '%s(copy)' % obj.name,
 | 
						|
            })
 | 
						|
        return {
 | 
						|
            'next': {
 | 
						|
                'name': 'clinic_sickbed',
 | 
						|
                'mode': 'form',
 | 
						|
                'active_id': new_id,
 | 
						|
            },
 | 
						|
            'flash': 'Copy succesfully',
 | 
						|
        }
 | 
						|
 | 
						|
SickBed.register()
 |