diff --git a/netforce_clinic/actions/clinic_doctor.xml b/netforce_clinic/actions/clinic_doctor.xml index 9090912..5eb4df5 100644 --- a/netforce_clinic/actions/clinic_doctor.xml +++ b/netforce_clinic/actions/clinic_doctor.xml @@ -2,7 +2,7 @@ Doctors multi_view clinic.doctor - [["All",[]],["Draft",[["state","=","draft"]]],["Active",[["state","=","active"]]],["Deactive",[["state","=","deactive"]]]] + [["All",[]],["Temporaly",[["type","=","temporary"]]],["Permanent",[["type","=","permanent"]]]] list,page,form clinic_menu diff --git a/netforce_clinic/actions/clinic_nurse.xml b/netforce_clinic/actions/clinic_nurse.xml index 1f49d69..b117fe9 100644 --- a/netforce_clinic/actions/clinic_nurse.xml +++ b/netforce_clinic/actions/clinic_nurse.xml @@ -2,7 +2,7 @@ Nurses multi_view clinic.nurse - [["All",[]],["Draft",[["state","=","draft"]]],["Active",[["state","=","active"]]],["Deactive",[["state","=","deactive"]]]] + [["All",[]],["Temporaly",[["type","=","temporary"]]],["Permanent",[["type","=","permanent"]]]] list,page,form clinic_menu diff --git a/netforce_clinic/actions/view_hdcase.xml b/netforce_clinic/actions/view_hdcase.xml new file mode 100644 index 0000000..46799de --- /dev/null +++ b/netforce_clinic/actions/view_hdcase.xml @@ -0,0 +1,5 @@ + + method + clinic.hd.case + view_hdcase + diff --git a/netforce_clinic/layouts/clinic_doctor_form.xml b/netforce_clinic/layouts/clinic_doctor_form.xml index 6cd9765..69407c1 100644 --- a/netforce_clinic/layouts/clinic_doctor_form.xml +++ b/netforce_clinic/layouts/clinic_doctor_form.xml @@ -1,43 +1,26 @@
- + - - - - - - - - + - - - - - + + + + - - + - - - - - - - - - - - - - + + + + + diff --git a/netforce_clinic/layouts/clinic_doctor_list.xml b/netforce_clinic/layouts/clinic_doctor_list.xml index a6ea335..be1e6d2 100644 --- a/netforce_clinic/layouts/clinic_doctor_list.xml +++ b/netforce_clinic/layouts/clinic_doctor_list.xml @@ -1,7 +1,5 @@ - - - - + + diff --git a/netforce_clinic/layouts/clinic_nurse_form.xml b/netforce_clinic/layouts/clinic_nurse_form.xml index 8c5212b..6bb155d 100644 --- a/netforce_clinic/layouts/clinic_nurse_form.xml +++ b/netforce_clinic/layouts/clinic_nurse_form.xml @@ -1,42 +1,26 @@
- + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - + + + + + diff --git a/netforce_clinic/layouts/clinic_nurse_list.xml b/netforce_clinic/layouts/clinic_nurse_list.xml index c341d8a..ad94d58 100644 --- a/netforce_clinic/layouts/clinic_nurse_list.xml +++ b/netforce_clinic/layouts/clinic_nurse_list.xml @@ -1,5 +1,5 @@ - + diff --git a/netforce_clinic/layouts/clinic_patient_form.xml b/netforce_clinic/layouts/clinic_patient_form.xml index e3beb2f..bf3e582 100644 --- a/netforce_clinic/layouts/clinic_patient_form.xml +++ b/netforce_clinic/layouts/clinic_patient_form.xml @@ -7,40 +7,25 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + @@ -113,15 +98,9 @@ - - - - - - - - - - + + + + diff --git a/netforce_clinic/layouts/clinic_patient_list.xml b/netforce_clinic/layouts/clinic_patient_list.xml index 42dd284..752b2b2 100644 --- a/netforce_clinic/layouts/clinic_patient_list.xml +++ b/netforce_clinic/layouts/clinic_patient_list.xml @@ -1,7 +1,6 @@ - - - - + + + diff --git a/netforce_clinic/layouts/clinic_visit_form.xml b/netforce_clinic/layouts/clinic_visit_form.xml index 1618b08..f866b21 100644 --- a/netforce_clinic/layouts/clinic_visit_form.xml +++ b/netforce_clinic/layouts/clinic_visit_form.xml @@ -10,7 +10,7 @@ - + diff --git a/netforce_clinic/layouts/clinic_visit_list.xml b/netforce_clinic/layouts/clinic_visit_list.xml index 428b979..ff291bc 100644 --- a/netforce_clinic/layouts/clinic_visit_list.xml +++ b/netforce_clinic/layouts/clinic_visit_list.xml @@ -1,6 +1,6 @@ - + diff --git a/netforce_clinic/models/clinic_doctor.py b/netforce_clinic/models/clinic_doctor.py index 29cee6c..abdca17 100644 --- a/netforce_clinic/models/clinic_doctor.py +++ b/netforce_clinic/models/clinic_doctor.py @@ -7,33 +7,29 @@ class Doctor(Model): _name="clinic.doctor" _string="Doctor" _audit_log=True - _name_field="name" _multi_company=True _fields={ "number": fields.Char("Doctor No.",required=True,search=True), - "first_name": fields.Char("First name",required=True,search=True), - "last_name" : fields.Char("Last name",required=False), - "date": fields.Date("Create Date",required=True,search=True), + "name": fields.Char("Name",required=True,search=True), "card_id" : fields.Char("Identity ID"), "card_expire" : fields.Date("Expire Date"), - "birthday": fields.Date("Date of birth",required=False,search=True), - "telephone": fields.Char("Telephone",required=False,search=True), - "department": fields.Selection([("temporary","Temporary"),("permanent","Permanent")], "Dapartment"), + "birthday": fields.Date("Date of Birth",search=True), + "telephone": fields.Char("Telephone",search=True), + "type": fields.Selection([("temporary","Temporary"),("permanent","Permanent")],"Type"), "mobile": fields.Char("Mobile",required=False,search=True), - #"licen" : fields.char("licens medicine No."), - "number2" : fields.Char("Certificate No."), - "licen_issued" : fields.Date("Issued on"), + "cert_no" : fields.Char("Certificate No."), + "cert_date" : fields.Date("Certificate Date"), "birthday": fields.Date("BirthDay",search=True), "telephone": fields.Char("Telephone",search=True), "department_id": fields.Many2One("clinic.department", "Department",search=True), "mobile": fields.Char("Mobile",search=True), "state": fields.Selection([("draft","Draft"),("active","Active"),("deactive","Deactive")],"Status"), - "addresses" : fields.One2Many("address","related_id","Addresses"), - "comments" : fields.One2Many("message","related_id","Comments"), - "patients" : fields.Many2Many("clinic.patient","Patients"), - "visits" : fields.One2Many("clinic.visit","doctor_id","Visits"), - "hd_cases" : fields.One2Many("clinic.hd.case","doctor_id","HD Cases"), - "company_id" : fields.Many2One("company","Company"), + "addresses": fields.One2Many("address","related_id","Addresses"), + "comments": fields.One2Many("message","related_id","Comments"), + "patients": fields.Many2Many("clinic.patient","Patients"), + "visits": fields.One2Many("clinic.visit","nurse_id","Visits"), + "hd_cases": fields.One2Many("clinic.hd.case","nurse_id","HD cases"), + "company_id": fields.Many2One("company","Company"), } def _get_number(self,context={}): @@ -44,26 +40,21 @@ class Doctor(Model): res=self.search([["number","=",num]]) if not res: return num - get_model("sequence") .increment("sale_order") + get_model("sequence").increment("sale_order") _defaults={ - "state": "draft", + "type": "temporary", "date": lambda *a: time.strftime("%Y-%m-%d"), "number": _get_number, "company_id": lambda *a: get_active_company(), } _order="date desc,number desc" - def name_get(self,ids,context={}): - vals=[] - for obj in self.browse(ids): - name='%s %s'%(obj.first_name or "", obj.last_name or "") - vals.append((obj.id,name)) - return vals def void(self,ids,context={}): obj=self.browse(ids)[0] - obj.write({"state":"voided "}) + obj.write({"state":"voided"}) + Doctor.register() diff --git a/netforce_clinic/models/clinic_hd_case.py b/netforce_clinic/models/clinic_hd_case.py index d06de38..c1d78ab 100644 --- a/netforce_clinic/models/clinic_hd_case.py +++ b/netforce_clinic/models/clinic_hd_case.py @@ -205,4 +205,12 @@ class HDcase(Model): } return vals + def view_hdcase(self,ids,context={}): + return { + 'name': 'clinic_hd_case', + 'mode': 'form', + 'form_view_xml': 'clinic_hd_case_form', + 'active_id': ids[0], + } + HDcase.register() diff --git a/netforce_clinic/models/clinic_nurse.py b/netforce_clinic/models/clinic_nurse.py index 64c7a19..1d37e46 100644 --- a/netforce_clinic/models/clinic_nurse.py +++ b/netforce_clinic/models/clinic_nurse.py @@ -1,7 +1,6 @@ -from netforce.model import Model, fields, get_model -from netforce.utils import get_data_path import time -from netforce.access import get_active_user + +from netforce.model import Model, fields, get_model from netforce.access import get_active_company class Nurse(Model): @@ -12,17 +11,15 @@ class Nurse(Model): _multi_company=True _fields={ "number": fields.Char("Nurse No.",required=True,search=True), - "name": fields.Char("First name",required=True,search=True), - #"last_name" : fields.char("Last name"), - "lname" : fields.Char("Last name"), + "name": fields.Char("Name",required=True,search=True), "card_id" : fields.Char("Identity ID"), "card_expire" : fields.Date("Expire Date"), "birthday": fields.Date("Date of Birth",search=True), "telephone": fields.Char("Telephone",search=True), - "department": fields.Selection([("temporary","Temporary"),("permanent","Permanent")],"Department"), + "type": fields.Selection([("temporary","Temporary"),("permanent","Permanent")],"Type"), "mobile": fields.Char("Mobile",required=False,search=True), - "number2" : fields.Char("Certificate No."), - "licen_issued" : fields.Date("Issued on"), + "cert_no" : fields.Char("Certificate No."), + "cert_date" : fields.Date("Certificate Date"), "birthday": fields.Date("BirthDay",search=True), "telephone": fields.Char("Telephone",search=True), "department_id": fields.Many2One("clinic.department", "Department",search=True), @@ -48,7 +45,7 @@ class Nurse(Model): _defaults={ - "state": "draft", + "type": "temporary", "date": lambda *a: time.strftime("%Y-%m-%d"), "number": _get_number, "company_id": lambda *a: get_active_company(), diff --git a/netforce_clinic/models/clinic_patient.py b/netforce_clinic/models/clinic_patient.py index 036eefa..b1cf9e4 100644 --- a/netforce_clinic/models/clinic_patient.py +++ b/netforce_clinic/models/clinic_patient.py @@ -1,14 +1,12 @@ -from netforce.model import Model, fields, get_model -from netforce.utils import get_data_path import time -from netforce.access import get_active_user + +from netforce.model import Model, fields, get_model from netforce.access import get_active_company class Patient(Model): _name="clinic.patient" _string="Patient" _audit_log=True - _name_field="name" _multi_company=True def _get_age(self,ids,context): @@ -23,11 +21,9 @@ class Patient(Model): return res # -> {1: 30, 2: 45,.....} _fields={ - #Patient's Data "number": fields.Char("Patient ID",required=True,search=True), - "first_name": fields.Char("First Name",required=True,search=True), - "last_name": fields.Char("Last Name",required=False,search=True), - "date": fields.Date("Create Date",required=False,search=True), + "name": fields.Char("Name",required=True,search=True), + "reg_date": fields.Date("Reg.Date",required=False,search=True), "birthday": fields.Date("Date of birth",required=False,search=True), "telephone": fields.Char("Telephone",required=False,search=True), "mobile": fields.Char("Mobile",required=False,search=True), @@ -38,10 +34,10 @@ class Patient(Model): "height": fields.Integer("Height (Kg)"), "type": fields.Selection([("mg","Medical Govement"),("sc","Social Security"),("nhso","NHSO (30฿)"),("personal","Personal"),("other","Other")],"Type of treatment",required=False), "card_type": fields.Selection([("iden_id","Identity Card"),("passport","Passport")],"Card Type",required=True), - 'iden_id' : fields.Char("Card No."), + 'card_no' : fields.Char("Card No."), "app_no": fields.Char("Application No."), "salary": fields.Selection([["20000","5,001-20,000"],["50000","20,001-50,000"],["100000","50,001-100,000"],["100001","100,000+"]], "Salary"), - 'exp_id' : fields.Date("Expiry Date"), + 'exp_date' : fields.Date("Expiry Date"), "state": fields.Selection([("draft","Draft"),("active","Active"),("deactive","Deactive")],"Status",required=False), "addresses": fields.One2Many("address","related_id","Addresses"), "gender": fields.Selection([("male","Male"),("female","Female")],"Gender",required=False), diff --git a/netforce_clinic/models/clinic_visit.py b/netforce_clinic/models/clinic_visit.py index 90b995e..c1f5b80 100644 --- a/netforce_clinic/models/clinic_visit.py +++ b/netforce_clinic/models/clinic_visit.py @@ -1,7 +1,4 @@ from netforce.model import Model, fields, get_model -from netforce.utils import get_data_path -import time -from netforce.access import get_active_user from netforce.access import get_active_company class Visit(Model): @@ -12,10 +9,10 @@ class Visit(Model): _multi_company=True _fields={ "number": fields.Char("Number",required=True,search=True), - "patient_id": fields.Many2One("clinic.patient","Patients",required=True,search=True), + "patient_id": fields.Many2One("clinic.patient","Patient",required=True,search=True), "doctor_id": fields.Many2One("clinic.doctor","Doctor",search=True), "nurse_id": fields.Many2One("clinic.nurse","Nurse",search=True), - "date": fields.Date("Visit Date",required=True,search=True), + "visit_date": fields.Date("Visit Date",required=True,search=True), "department": fields.Char("Department",required=False,search=True), "cycle": fields.Selection([("1","One"),("2","Two"),("3","Tree"),("4","Four")],"Cycle",required=True), "state": fields.Selection([("pending","Pending"),("confirmed","Confirmed"),("canceled","Canceled")],"Status",required=True),