From 664ba814c5c953648d37be6f796db89f0ebc6f30 Mon Sep 17 00:00:00 2001 From: "watcha.h" Date: Tue, 3 Feb 2015 13:40:48 +0700 Subject: [PATCH] set product account --- netforce_clinic/layouts/clinic_account_setting.xml | 3 ++- netforce_clinic/layouts/clinic_setting.xml | 4 ++-- netforce_clinic/models/setting.py | 13 +++++++++++++ netforce_clinic/models/setting_account_product.py | 3 +++ 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/netforce_clinic/layouts/clinic_account_setting.xml b/netforce_clinic/layouts/clinic_account_setting.xml index c8104a6..670cc93 100644 --- a/netforce_clinic/layouts/clinic_account_setting.xml +++ b/netforce_clinic/layouts/clinic_account_setting.xml @@ -26,7 +26,8 @@ - + + diff --git a/netforce_clinic/layouts/clinic_setting.xml b/netforce_clinic/layouts/clinic_setting.xml index b8cadab..6569094 100644 --- a/netforce_clinic/layouts/clinic_setting.xml +++ b/netforce_clinic/layouts/clinic_setting.xml @@ -17,8 +17,8 @@ - - + + diff --git a/netforce_clinic/models/setting.py b/netforce_clinic/models/setting.py index e7e2950..e612d47 100644 --- a/netforce_clinic/models/setting.py +++ b/netforce_clinic/models/setting.py @@ -131,5 +131,18 @@ class ClinicSetting(Model): payment.to_draft() print("to draft payment ", payment.id) print("Done") + + def get_account_prod(self,ptype_id=None,prod_id=None,context={}): + res={} + for ac_prod in get_model("clinic.setting.account.product").browse([]): + prod=ac_prod.product_id + ptype=ac_prod.patient_type_id + if ptype_id==ptype.id and prod_id==prod.id: + res.update({ + 'ar_credit_id': ac_prod.ar_credit_id.id, + 'ar_debit_id': ac_prod.ar_debit_id.id, + }) + break + return res ClinicSetting.register() diff --git a/netforce_clinic/models/setting_account_product.py b/netforce_clinic/models/setting_account_product.py index 230b27f..a7f7840 100644 --- a/netforce_clinic/models/setting_account_product.py +++ b/netforce_clinic/models/setting_account_product.py @@ -9,6 +9,7 @@ class SettingAccountProduct(Model): _fields={ "setting_id": fields.Many2One("clinic.setting","Setting",required=True,on_delete="cascade"), "patient_type_id": fields.Many2One("clinic.patient.type","Patient Type"), + 'categ_id': fields.Many2One("product.categ","Category"), "product_id": fields.Many2One("product","Product"), "ar_credit_id": fields.Many2One("account.account","AR Credit",multi_company=True), "ar_debit_id": fields.Many2One("account.account","AR Debit",multi_company=True), @@ -19,4 +20,6 @@ class SettingAccountProduct(Model): "company_id": lambda *a: get_active_company(), } + _order="patient_type_id" + SettingAccountProduct.register()