Skip to content

Commit

Permalink
Merge: expense accounting enhancement
Browse files Browse the repository at this point in the history
BSRTL-205
  • Loading branch information
gurneyalex committed May 17, 2017
2 parents b68aab1 + 120afb6 commit 7a2403c
Show file tree
Hide file tree
Showing 9 changed files with 98 additions and 0 deletions.
1 change: 1 addition & 0 deletions HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Latest (unreleased)
* SO change validation button visibility/process given product_category
* SO & crm.lead holding_amount_currency in tree view. Can be used as measure
* Add module 'sale_company_currency'
* Add and install specific_expense

**Bugfixes**

Expand Down
6 changes: 6 additions & 0 deletions odoo/local-src/specific_expense/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
============================
Specific Expense for Roctool
============================

In odoo 10, the expense accounting uses the hr.employee address_home_id to find
some information. We want to facilitate this for roctool
5 changes: 5 additions & 0 deletions odoo/local-src/specific_expense/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2017 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from . import models
17 changes: 17 additions & 0 deletions odoo/local-src/specific_expense/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
# Copyright 2017 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "RocTool specific expense",
"version": "10.0.1.0.0",
"depends": ['hr',
],
"author": "Camptocamp",
"website": "http://www.camptocamp.com",
"license": "AGPL-3",
"category": "Expense",
"data": ['data/res_partner_category.xml',
'views/employee_views.xml',
],
'installable': True,
}
8 changes: 8 additions & 0 deletions odoo/local-src/specific_expense/data/res_partner_category.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo noupdate="1">

<record id="employee_home" model="res.partner.category">
<field name="name">employee home</field>
</record>

</odoo>
5 changes: 5 additions & 0 deletions odoo/local-src/specific_expense/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2017 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from . import hr_employee
38 changes: 38 additions & 0 deletions odoo/local-src/specific_expense/models/hr_employee.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# -*- coding: utf-8 -*-
# Copyright 2017 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from odoo import models, fields, api


class Employee(models.Model):
_inherit = 'hr.employee'

expense_refund_account_id = fields.Many2one(
'account.account',
string='Expense Refund Account',
related='address_home_id.property_account_payable_id',
store=False,
readonly=False,
)

@api.model
def create(self, vals):
if vals.get('address_home_id'):
return super(Employee, self).create(vals)
country_id = vals.get('country_id')
if not country_id:
Company = self.env['res.company']
country_id = Company.browse(vals['company_id']).country_id.id
Partner = self.env['res.partner']
category_id = self.env.ref('specific_expense.employee_home').id
vals_address = {
'name': vals.get('name'),
'supplier': True,
'customer': False,
'country_id': country_id,
'category_id': [(4, category_id)],
}
partner = Partner.create(vals_address)
vals['address_home_id'] = partner.id
return super(Employee, self).create(vals)
17 changes: 17 additions & 0 deletions odoo/local-src/specific_expense/views/employee_views.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>

<record id="view_employee_form_expense" model="ir.ui.view">
<field name="name">hr.employee.form.expense</field>
<field name="model">hr.employee</field>
<field name="inherit_id" ref="hr.view_employee_form"/>
<field name="arch" type="xml">
<xpath expr="//page[@name='hr_settings']" position="inside">
<group name="expenses" string="Expenses">
<field name='expense_refund_account_id'/>
</group>
</xpath>
</field>
</record>

</odoo>
1 change: 1 addition & 0 deletions odoo/migration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -184,3 +184,4 @@ migration:
- sale_company_currency
- specific_crm
- specific_sale
- specific_expense

0 comments on commit 7a2403c

Please sign in to comment.