Skip to content

Commit

Permalink
Create employee & address_home if needed
Browse files Browse the repository at this point in the history
Create employee & address_home if needed
  • Loading branch information
leemannd committed May 17, 2017
1 parent 159cf8c commit 3b13d73
Show file tree
Hide file tree
Showing 7 changed files with 96 additions and 0 deletions.
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['address_home_id']:
return super(Employee, self).create(vals)
country_id = None
if not vals['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 if country_id else vals.get('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>

0 comments on commit 3b13d73

Please sign in to comment.