Merge pull request #1683 from expsa/ensan_services_tasks_27_10

Integration with accounting
This commit is contained in:
enagahh 2024-11-04 02:47:35 +02:00 committed by GitHub
commit 05e167ce51
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 49 additions and 2 deletions

View File

@ -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'

View File

@ -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'

View File

@ -56,6 +56,12 @@
<field name="category_id" ref="module_category_benefit"/>
<field name="users" eval="[(4, ref('base.user_root'))]"/>
<field name="implied_ids" eval="[(4, ref('group_benefit_info'))]"/>
</record>
<record id="group_benefit_accounting_accept" model="res.groups">
<field name="name">Accounting Accept</field>
<field name="category_id" ref="module_category_benefit"/>
<field name="users" eval="[(4, ref('base.user_root'))]"/>
<!-- <field name="implied_ids" eval="[(4, ref('group_benefit_info'))]"/>-->
</record>
<record id="group_accept_income_and_expenses" model="res.groups">
<field name="name">Accept income and expenses</field>

View File

@ -536,6 +536,16 @@
<p class="oe_view_nocontent_create">Create the Service Request
</p>
</field>
</record>
<record model="ir.actions.act_window" id="service_request_accounting_action">
<field name="name">Services Requests</field>
<field name="res_model">service.request</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('state','=','second_approve')]</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">Create the Service Request
</p>
</field>
</record>
<record model="ir.actions.act_window" id="benefit_need_action">
<field name="name">Benefit Need</field>
@ -949,6 +959,8 @@
parent="odex_benefit.benefit_services" action="services_settings_action"/>
<menuitem id="services_requests_menu" name="Services Requests" sequence="2"
parent="odex_benefit.benefit_services" action="service_request_action"/>
<menuitem id="menu_service_request_accounting_accept" name="Services Requests" parent="account.menu_finance_payables"
action="service_request_accounting_action" sequence="9"/>
<!-- <menuitem id="benefit_need_menu" name="Benefit Need" sequence="1"-->
<!-- parent="odex_benefit.benefit_services" action="benefit_need_action"/>-->
<!-- <menuitem id="benefit_zkat_main_menu" name="Benefit Zkat" sequence="2"-->

View File

@ -7,7 +7,9 @@
<field name="arch" type="xml">
<form string="Service Request">
<header>
<button name="action_send_request" type="object" states="draft"
<button name="action_for_researcher" type="object" states="draft"
string="Researcher Accept" class="oe_highlight"/>
<button name="action_send_request" type="object" states="researcher"
string="Send Request" class="oe_highlight"/>
<button name="action_first_approve" type="object"
string="Request First Approve" class="oe_highlight"
@ -17,10 +19,18 @@
string="Request Second Approve" class="oe_highlight"
confirm="Are you sure you want to second approve ?"
states="first_approve" groups="odex_benefit.group_benefit_branch_manager,odex_benefit.group_benefit_manager"/>
<button name="action_accounting_approve" type="object"
string="Accounting Approve" class="oe_highlight"
confirm="Are you sure you want to approve ?"
states="second_approve" groups="odex_benefit.group_benefit_accounting_accept"/>
<button name="action_accounting_first_refuse" type="object"
string="Accounting First Refuse" class="oe_highlight"
confirm="Are you sure you want to first refuse ?"
states="second_approve" groups="odex_benefit.group_benefit_accounting_accept"/>
<button name="action_refuse" type="object"
string="Refuse" class="oe_highlight"
confirm="Are you sure you want to refuse request ?"
states="first_approve,second_approve"/>
states="first_approve,second_approve,draft,send_request,accounting_approve"/>
<field name="state" widget="statusbar"/>
</header>
<sheet>
@ -39,6 +49,7 @@
<field name="branch_custom_id" force_save="1"/>
<field name="member_id" attrs="{'invisible':[('benefit_type','!=','member')],'readonly':[('state','not in',['draft','send_request'])],'required':[('benefit_type','=','member')]}"/>
<field name="account_id"/>
<field name="accountant_id" attrs="{'invisible':[('state','in',['draft','researcher','send_request','first_approve','second_approve'])]}"/>
<field name="is_service_producer" invisible="1"/>
<field name="service_producer_id" attrs="{'invisible':[('is_service_producer','=',False)]}"/>
</group>

View File

@ -18,6 +18,7 @@
<field name="service_type" attrs="{'invisible':[('is_main_service','=',True)]}"/>
<field name="is_this_service_for_student"/>
<field name="account_id"/>
<field name="accountant_id"/>
</group>
</group>
<notebook>