Merge pull request #1683 from expsa/ensan_services_tasks_27_10
Integration with accounting
This commit is contained in:
commit
05e167ce51
|
|
@ -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'
|
||||
|
|
|
|||
|
|
@ -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'
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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"-->
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
Loading…
Reference in New Issue