[ADD] account_sale_timesheet: extends project form and panel

This commit adds a bridge module in order to extend the project form
and panel.

PR : #72736
See odoo/upgrade#2706

task-2545084
This commit is contained in:
Cedric Prieels (cpr)
2021-09-06 10:41:14 +02:00
committed by Laurent Stukkens (LTU)
parent 69e34a253f
commit fa88c5fd04
5 changed files with 79 additions and 0 deletions
@@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import models
@@ -0,0 +1,19 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
{
'name': 'Account Sale Timesheet',
'version': '1.0',
'category': 'Account/sale/timesheet',
'summary': 'Account sale timesheet',
'description': 'Bridge created to add the number of invoices linked to an AA to a project form',
'depends': ['account', 'sale_timesheet'],
'data': [
'views/project_project_views.xml',
],
'demo': [],
'installable': True,
'auto_install': True,
'license': 'OEEL-1',
}
@@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import project
@@ -0,0 +1,26 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models, _
class Project(models.Model):
_inherit = 'project.project'
invoice_count = fields.Integer(related='analytic_account_id.invoice_count')
# ----------------------------
# Project Updates
# ----------------------------
def _get_stat_buttons(self):
buttons = super(Project, self)._get_stat_buttons()
buttons.append({
'icon': 'pencil-square-o',
'text': _('Invoices'),
'number': self.invoice_count,
'action_type': 'object',
'action': 'action_open_project_invoices',
'show': self.user_has_groups('account.group_account_readonly') and bool(self.analytic_account_id) and self.invoice_count > 0,
'sequence': 11,
})
return buttons
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="project_project_view_form" model="ir.ui.view">
<field name="name">project.project.form.inherit</field>
<field name="model">project.project</field>
<field name="inherit_id" ref="project.edit_project"/>
<field name="arch" type="xml">
<xpath expr="//button[@name='%(project.action_project_task_burndown_chart_report)d']" position="after">
<button name="action_open_project_invoices" type="object" class="oe_stat_button" icon="fa-pencil-square-o"
attrs="{'invisible': ['|', ('invoice_count', '=', 0), ('analytic_account_id', '=', False)]}"
groups="account.group_account_readonly">
<div class="o_field_widget o_stat_info">
<span class="o_stat_value">
<field name="invoice_count" nolabel="1"/>
</span>
<span class="o_stat_text">
Invoices
</span>
</div>
</button>
</xpath>
</field>
</record>
</odoo>