staff rotation not update
							parent
							
								
									f63090ae62
								
							
						
					
					
						commit
						1135d7171e
					
				| 
						 | 
					@ -7,6 +7,7 @@
 | 
				
			||||||
        </button>
 | 
					        </button>
 | 
				
			||||||
        <button string="Options" dropdown="1">
 | 
					        <button string="Options" dropdown="1">
 | 
				
			||||||
            <item string="New Dialyzer" action="clinic_hd_case_dlz" states="draft,in_progress,waiting_treatment"/>
 | 
					            <item string="New Dialyzer" action="clinic_hd_case_dlz" states="draft,in_progress,waiting_treatment"/>
 | 
				
			||||||
 | 
					            <item string="Drop Dialyzer" method="drop_dlz" confirm="Are you sure?" states="completed"/>
 | 
				
			||||||
            <item string="To Draft" method="to_draft" states="paid,waiting_payment,completed,cancelled"/>
 | 
					            <item string="To Draft" method="to_draft" states="paid,waiting_payment,completed,cancelled"/>
 | 
				
			||||||
        </button>
 | 
					        </button>
 | 
				
			||||||
    </head>
 | 
					    </head>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,8 @@
 | 
				
			||||||
<list model="clinic.staff.rotation">
 | 
					<list model="clinic.staff.rotation">
 | 
				
			||||||
 | 
					    <head>
 | 
				
			||||||
 | 
					        <button string="To Draft" method="to_draft" type="default"/>
 | 
				
			||||||
 | 
					        <button string="Approve" method="approve" type="success"/>
 | 
				
			||||||
 | 
					    </head>
 | 
				
			||||||
    <field name="hire_date"/>
 | 
					    <field name="hire_date"/>
 | 
				
			||||||
    <field name="staff_id"/>
 | 
					    <field name="staff_id"/>
 | 
				
			||||||
    <field name="type"/>
 | 
					    <field name="type"/>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1487,5 +1487,25 @@ class HDCase(Model):
 | 
				
			||||||
                'name': 'clinic_popup_shop',
 | 
					                'name': 'clinic_popup_shop',
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    def drop_dlz(self,ids,context={}):
 | 
				
			||||||
 | 
					        obj=self.browse(ids)[0]
 | 
				
			||||||
 | 
					        for dline in obj.dialyzers:
 | 
				
			||||||
 | 
					            use_time=dline.use_time or 0
 | 
				
			||||||
 | 
					            dlz=dline.dialyzer_id
 | 
				
			||||||
 | 
					            if dlz.state=='drop':
 | 
				
			||||||
 | 
					                raise Exception("%s is drop!"%dlz.number)
 | 
				
			||||||
 | 
					            dlz.write({
 | 
				
			||||||
 | 
					                'use_time': use_time,
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					            dlz.drop(context=context)
 | 
				
			||||||
 | 
					        return {
 | 
				
			||||||
 | 
					            'next': {
 | 
				
			||||||
 | 
					                'name': 'clinic_hd_case',
 | 
				
			||||||
 | 
					                'mode': 'form',
 | 
				
			||||||
 | 
					                'active_id': obj.id,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            'flash': '%s is droped'%dlz.number,
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
HDCase.register()
 | 
					HDCase.register()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -150,6 +150,13 @@ class ClinicSetting(Model):
 | 
				
			||||||
            print("Only admin!!")
 | 
					            print("Only admin!!")
 | 
				
			||||||
            return
 | 
					            return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        for rt in get_model("clinic.staff.rotation").search_browse([]):
 | 
				
			||||||
 | 
					            rt.write({
 | 
				
			||||||
 | 
					                'note': ' ',
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					        print("Done!")
 | 
				
			||||||
 | 
					        return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        files=['Patients_Data_LS1.csv','Patients_Data_LS2.csv','Patients_Data_LS3.csv']
 | 
					        files=['Patients_Data_LS1.csv','Patients_Data_LS2.csv','Patients_Data_LS3.csv']
 | 
				
			||||||
        self.update_patient_file(files)
 | 
					        self.update_patient_file(files)
 | 
				
			||||||
        print("Done!")
 | 
					        print("Done!")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -38,7 +38,7 @@ class Staff(Model):
 | 
				
			||||||
            ot_per_cycle=0
 | 
					            ot_per_cycle=0
 | 
				
			||||||
            level_id=None
 | 
					            level_id=None
 | 
				
			||||||
            categ_id=None
 | 
					            categ_id=None
 | 
				
			||||||
            for rotate in obj.rotations:
 | 
					            for rotate in sorted(obj.rotations,key=lambda x: x.hire_date or ""):
 | 
				
			||||||
                if rotate.state=='approved':
 | 
					                if rotate.state=='approved':
 | 
				
			||||||
                    level_id=rotate.level_id.id
 | 
					                    level_id=rotate.level_id.id
 | 
				
			||||||
                    wage=rotate.wage
 | 
					                    wage=rotate.wage
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,7 +24,7 @@ class StaffRotation(Model):
 | 
				
			||||||
        "level_id": fields.Many2One("clinic.staff.level","Level", search=True),
 | 
					        "level_id": fields.Many2One("clinic.staff.level","Level", search=True),
 | 
				
			||||||
        "hire_date": fields.Date("Date", search=True),
 | 
					        "hire_date": fields.Date("Date", search=True),
 | 
				
			||||||
        "resign_date": fields.Date("Resign Date", search=True),
 | 
					        "resign_date": fields.Date("Resign Date", search=True),
 | 
				
			||||||
        "wage": fields.Float("Wage"),
 | 
					        "wage": fields.Float("Salary"),
 | 
				
			||||||
        "max_cycle": fields.Integer("Max Cycle"),
 | 
					        "max_cycle": fields.Integer("Max Cycle"),
 | 
				
			||||||
        "ot_per_cycle": fields.Float("OT/Cycle"),
 | 
					        "ot_per_cycle": fields.Float("OT/Cycle"),
 | 
				
			||||||
        "note": fields.Text("Note"),
 | 
					        "note": fields.Text("Note"),
 | 
				
			||||||
| 
						 | 
					@ -51,6 +51,8 @@ class StaffRotation(Model):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def approve(self,ids,context={}):
 | 
					    def approve(self,ids,context={}):
 | 
				
			||||||
        for obj in self.browse(ids):
 | 
					        for obj in self.browse(ids):
 | 
				
			||||||
 | 
					            if obj.state=='approved':
 | 
				
			||||||
 | 
					                continue
 | 
				
			||||||
            obj.write({
 | 
					            obj.write({
 | 
				
			||||||
                'state': 'approved',
 | 
					                'state': 'approved',
 | 
				
			||||||
            })
 | 
					            })
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue