From 97881509baec39c7cae8dba54a4681bdaa61a343 Mon Sep 17 00:00:00 2001 From: eman Date: Mon, 4 Nov 2024 02:46:06 +0200 Subject: [PATCH] Integration with accounting --- .../odex_benefit/models/service_request.py | 16 ++++++++++++++++ .../odex_benefit/models/services_settings.py | 1 + .../odex_benefit/security/security_view.xml | 6 ++++++ .../odex_benefit/views/actions_and_menus.xml | 12 ++++++++++++ .../odex_benefit/views/service_request.xml | 15 +++++++++++++-- .../odex_benefit/views/services_settings.xml | 1 + 6 files changed, 49 insertions(+), 2 deletions(-) diff --git a/odex25_ensan/odex_benefit/models/service_request.py b/odex25_ensan/odex_benefit/models/service_request.py index 1d2d5a63c..1b3373e90 100644 --- a/odex25_ensan/odex_benefit/models/service_request.py +++ b/odex25_ensan/odex_benefit/models/service_request.py @@ -45,6 +45,7 @@ class ServiceRequest(models.Model): added_amount_if_mother_dead = fields.Float(string="Added Amount (If mother dead)",compute="_get_added_amount_if_mother_dead") attachment_lines = fields.One2many('service.attachments.settings','service_request_id',related='service_cat.attachment_lines',readonly=False) account_id = fields.Many2one('account.account',string='Expenses Account',related='service_cat.account_id') + accountant_id = fields.Many2one('res.users',string='Accountant',related='service_cat.accountant_id',readonly=False) service_producer_id = fields.Many2one('res.partner',string='Service Producer',related='service_cat.service_producer_id') is_service_producer = fields.Boolean(string='Is Service Producer?',related='service_cat.is_service_producer') benefit_category_ids = fields.Many2many('benefit.category', string='Allowed Categories',related='') @@ -55,9 +56,11 @@ class ServiceRequest(models.Model): has_money_field_is_appearance = fields.Boolean(string='Has money Field is appearance?',compute='_get_money_field_is_appearance') state = fields.Selection([ ('draft', 'Draft'), + ('researcher', 'Researcher'), ('send_request', 'Send Request'), ('first_approve', 'Request First Approve'), ('second_approve', 'Request Second Approve'), + ('accounting_approve', 'Accounting Approve'), ('refused', 'Refused'), ], string='state', default="draft", tracking=True) @@ -122,6 +125,10 @@ class ServiceRequest(models.Model): else: rec.has_money_field_is_appearance = False + def action_for_researcher(self): + for rec in self: + rec.state = 'researcher' + def action_send_request(self): for rec in self: rec.state = 'send_request' @@ -133,6 +140,15 @@ class ServiceRequest(models.Model): def action_second_approve(self): for rec in self: rec.state = 'second_approve' + + def action_accounting_approve(self): + for rec in self: + rec.state = 'accounting_approve' + + def action_accounting_first_refuse(self): + for rec in self: + rec.state = 'draft' + def action_refuse(self): for rec in self: rec.state = 'refused' diff --git a/odex25_ensan/odex_benefit/models/services_settings.py b/odex25_ensan/odex_benefit/models/services_settings.py index cb808144e..e656909d6 100644 --- a/odex25_ensan/odex_benefit/models/services_settings.py +++ b/odex25_ensan/odex_benefit/models/services_settings.py @@ -24,6 +24,7 @@ class ServicesSettings(models.Model): benefit_category_ids = fields.Many2many('benefit.category', string='Allowed Categories') max_maintenance_amount = fields.Float(string='Max Maintenance Amount') account_id = fields.Many2one('account.account',string='Expenses Account',domain="[('user_type_id.id','=',15)]") + accountant_id = fields.Many2one('res.users',string='Accountant') class RentLines(models.Model): _name = 'rent.lines' diff --git a/odex25_ensan/odex_benefit/security/security_view.xml b/odex25_ensan/odex_benefit/security/security_view.xml index 430231ca5..b71e1bcc4 100644 --- a/odex25_ensan/odex_benefit/security/security_view.xml +++ b/odex25_ensan/odex_benefit/security/security_view.xml @@ -56,6 +56,12 @@ + + + Accounting Accept + + + Accept income and expenses diff --git a/odex25_ensan/odex_benefit/views/actions_and_menus.xml b/odex25_ensan/odex_benefit/views/actions_and_menus.xml index ee84bc32f..98703d7a3 100644 --- a/odex25_ensan/odex_benefit/views/actions_and_menus.xml +++ b/odex25_ensan/odex_benefit/views/actions_and_menus.xml @@ -536,6 +536,16 @@

Create the Service Request

+ + + Services Requests + service.request + tree,form + [('state','=','second_approve')] + +

Create the Service Request +

+
Benefit Need @@ -949,6 +959,8 @@ parent="odex_benefit.benefit_services" action="services_settings_action"/> + diff --git a/odex25_ensan/odex_benefit/views/service_request.xml b/odex25_ensan/odex_benefit/views/service_request.xml index 0e5c8bdf8..6e0cb4e5b 100644 --- a/odex25_ensan/odex_benefit/views/service_request.xml +++ b/odex25_ensan/odex_benefit/views/service_request.xml @@ -7,7 +7,9 @@
-
@@ -39,6 +49,7 @@ + diff --git a/odex25_ensan/odex_benefit/views/services_settings.xml b/odex25_ensan/odex_benefit/views/services_settings.xml index f31411a27..b76a49fa0 100644 --- a/odex25_ensan/odex_benefit/views/services_settings.xml +++ b/odex25_ensan/odex_benefit/views/services_settings.xml @@ -18,6 +18,7 @@ +