Compare commits

...

8 Commits

Author SHA1 Message Date
Florian da Costa
3f133ab663 [IMP] Add default agent boolean when creating an agent from the commission profile view 2025-09-10 10:46:26 +02:00
Florian da Costa
47197eb5f6 [FIX] chatter in commission result view + add action name for all commission related new actions 2025-09-09 12:21:32 +02:00
Florian da Costa
5ca18e6374 [MIG] commission_simple_agent_purchase to 18 2025-09-09 12:04:37 +02:00
Benoît
4d52d54460 fix missing import 2025-09-02 17:50:27 +02:00
Benoît
0a260e0b54 mig report 2025-09-02 17:30:48 +02:00
Florian da Costa
46e11948fd [MIG] commission_simple_agent : technical migration to 18 2025-09-02 16:02:40 +02:00
Florian da Costa
a19ec0db45 [MIG] commission_simple to 18 2025-09-02 15:59:08 +02:00
Florian da Costa
6af8aac67e [MIG] sale_agent to v18 2025-09-02 15:32:29 +02:00
16 changed files with 57 additions and 275 deletions

View File

@@ -4,7 +4,7 @@
{ {
'name': 'Commission Simple', 'name': 'Commission Simple',
'version': '16.0.1.0.0', 'version': '18.0.1.0.0',
'category': 'Sales', 'category': 'Sales',
'license': 'AGPL-3', 'license': 'AGPL-3',
'summary': 'Compute commissions for salesman', 'summary': 'Compute commissions for salesman',
@@ -44,5 +44,5 @@ This module has been written by Alexis de Lattre from Akretion
'views/res_config_settings.xml', 'views/res_config_settings.xml',
'wizards/commission_compute_view.xml', 'wizards/commission_compute_view.xml',
], ],
'installable': False, 'installable': True,
} }

View File

@@ -13,7 +13,7 @@
<field name="inherit_id" ref="account.view_move_line_form"/> <field name="inherit_id" ref="account.view_move_line_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<notebook position="inside"> <notebook position="inside">
<page name="commission" string="Commission" attrs="{'invisible': [('display_type', '!=', 'product')]}"> <page name="commission" string="Commission" invisible="display_type != 'product'">
<group name="commission_grp"> <group name="commission_grp">
<field name="commission_base"/> <field name="commission_base"/>
<label for="commission_rate"/> <label for="commission_rate"/>

View File

@@ -1,206 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2019 Akretion France (http://www.akretion.com)
@author Alexis de Lattre <alexis.delattre@akretion.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)
-->
<odoo>
<menuitem id="commission_root" name="Commissions" parent="account.menu_finance" sequence="11"/>
<menuitem id="commission_config_root" name="Commissions" parent="account.menu_finance_configuration" sequence="110"/>
<!-- PROFILE -->
<record id="commission_profile_form" model="ir.ui.view">
<field name="name">commission.profile.form</field>
<field name="model">commission.profile</field>
<field name="arch" type="xml">
<form>
<sheet>
<widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>
<group name="main">
<field name="name"/>
<field name="active" invisible="1"/>
<field name="company_id" invisible="1"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="trigger_type"/>
</group>
<group name="lines" string="Rules">
<field name="line_ids" nolabel="1" colspan="2"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="commission_profile_tree" model="ir.ui.view">
<field name="name">commission.profile.tree</field>
<field name="model">commission.profile</field>
<field name="arch" type="xml">
<tree>
<field name="sequence" widget="handle"/>
<field name="name" decoration-bf="1"/>
<field name="trigger_type" optional="show"/>
<field name="company_id" groups="base.group_multi_company"/>
</tree>
</field>
</record>
<record id="commission_profile_action" model="ir.actions.act_window">
<field name="name">Commission Profiles</field>
<field name="res_model">commission.profile</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem id="commission_profile_menu" action="commission_profile_action" parent="commission_config_root" sequence="18"/>
<!-- RULE -->
<record id="commission_rule_form" model="ir.ui.view">
<field name="name">commission.rule.form</field>
<field name="model">commission.rule</field>
<field name="arch" type="xml">
<form>
<sheet>
<group name="main">
<field name="profile_id" invisible="not context.get('commission_rule_main_view')"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="company_id" invisible="1"/>
<field name="applied_on" widget="radio"/>
</group>
<group name="match" string="Match">
<field name="partner_ids" attrs="{'invisible': [('applied_on', 'not in', ('0_customer_product', '1_customer_product_category'))], 'required': [('applied_on', 'in', ('0_customer_product', '1_customer_product_category'))]}"/>
<field name="product_categ_ids" attrs="{'invisible': [('applied_on', 'not in', ('1_customer_product_category', '3_product_category'))], 'required': [('applied_on', 'in', ('1_customer_product_category', '3_product_category'))]}"/>
<field name="product_ids" attrs="{'invisible': [('applied_on', 'not in', ('0_customer_product', '2_product'))], 'required': [('applied_on', 'in', ('0_customer_product', '2_product'))]}"/>
<field name="date_start"/>
<field name="date_end"/>
</group>
<group name="compute" string="Compute">
<label for="rate"/>
<div name="rate">
<field name="rate" class="oe_inline"/> %
</div>
</group>
</sheet>
</form>
</field>
</record>
<record id="commission_rule_tree" model="ir.ui.view">
<field name="name">commission.rule.tree</field>
<field name="model">commission.rule</field>
<field name="arch" type="xml">
<tree>
<field name="profile_id" invisible="not context.get('commission_rule_main_view')"/>
<field name="applied_on"/>
<field name="date_start"/>
<field name="date_end"/>
<field name="rate" string="Rate (%)"/>
</tree>
</field>
</record>
<record id="commission_rule_search" model="ir.ui.view">
<field name="name">commission.rule.search</field>
<field name="model">commission.rule</field>
<field name="arch" type="xml">
<search>
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
<group name="groupby">
<filter name="profile_groupby" string="Profile" context="{'group_by': 'profile_id'}"/>
</group>
</search>
</field>
</record>
<record id="commission_rule_action" model="ir.actions.act_window">
<field name="name">Commission Rules</field>
<field name="res_model">commission.rule</field>
<field name="view_mode">tree,form</field>
<field name="context">{'commission_rule_main_view': True}</field>
</record>
<menuitem id="commission_rule_menu" action="commission_rule_action" parent="commission_config_root" sequence="20"/>
<!-- RESULT -->
<record id="commission_result_form" model="ir.ui.view">
<field name="name">commission.result.form</field>
<field name="model">commission.result</field>
<field name="arch" type="xml">
<form>
<group name="main">
<group name="main-left">
<field name="partner_id"/>
<field name="profile_id" groups="account.group_account_manager"/>
<field name="company_currency_id" invisible="1"/>
<field name="company_id" invisible="1"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="amount_total"/>
</group>
<group name="main-right">
<field name="date_range_id"/>
<field name="date_start"/>
<field name="date_end"/>
</group>
</group>
<group name="lines" string="Commission Lines">
<field nolabel="1" name="line_ids" colspan="2">
<tree>
<field name="move_id"/>
<field name="move_line_id"/>
<field name="base"/>
<field name="rate" string="Rate (%)"/>
<field name="amount" sum="1"/>
<field name="rule_id"/>
<field name="company_currency_id" invisible="1"/>
</tree>
</field>
</group>
</form>
</field>
</record>
<record id="commission_result_tree" model="ir.ui.view">
<field name="name">commission.result.tree</field>
<field name="model">commission.result</field>
<field name="arch" type="xml">
<tree>
<field name="date_range_id" optional="show"/>
<field name="date_start" optional="hide"/>
<field name="date_end" optional="hide"/>
<field name="partner_id"/>
<field name="profile_id" groups="account.group_account_manager"/>
<field name="company_currency_id" invisible="1"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="amount_total" sum="1" optional="show"/>
</tree>
</field>
</record>
<record id="commission_result_search" model="ir.ui.view">
<field name="name">commission.result.search</field>
<field name="model">commission.result</field>
<field name="arch" type="xml">
<search>
<field name="partner_id"/>
<field name="date_range_id"/>
<group name="groupby">
<filter name="partner_groupby" string="Salesman" context="{'group_by': 'partner_id'}"/>
<filter name="date_range_groupby" string="Period" context="{'group_by': 'date_range_id'}"/>
</group>
</search>
</field>
</record>
<record id="commission_result_action" model="ir.actions.act_window">
<field name="name">Commissions</field>
<field name="res_model">commission.result</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem id="commission_result_menu" action="commission_result_action" parent="commission_root" sequence="10"/>
</odoo>

View File

@@ -16,7 +16,7 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<form> <form>
<sheet> <sheet>
<widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/> <widget name="web_ribbon" title="Archived" bg_color="bg-danger" invisible="active"/>
<group name="main"> <group name="main">
<group name="main-left"> <group name="main-left">
<field name="name"/> <field name="name"/>
@@ -31,12 +31,12 @@
<notebook> <notebook>
<page name="assignments" string="Assignments"> <page name="assignments" string="Assignments">
<field name="assign_ids"> <field name="assign_ids">
<tree editable="bottom"> <list editable="bottom">
<field name="assign_type"/> <field name="assign_type"/>
<field name="user_id" attrs="{'required': [('assign_type', '=', 'user')], 'readonly': [('assign_type', '!=', 'user')]}"/> <field name="user_id" required="assign_type == 'user'" readonly="assign_type != 'user'"/>
<field name="company_id" groups="base.group_multi_company"/> <field name="company_id" groups="base.group_multi_company"/>
<field name="company_id" invisible="1"/> <field name="company_id" invisible="1"/>
</tree> </list>
</field> </field>
</page> </page>
<page name="rules" string="Rules"> <page name="rules" string="Rules">
@@ -48,23 +48,24 @@
</field> </field>
</record> </record>
<record id="commission_profile_tree" model="ir.ui.view"> <record id="commission_profile_list" model="ir.ui.view">
<field name="name">commission.profile.tree</field> <field name="name">commission.profile.list</field>
<field name="model">commission.profile</field> <field name="model">commission.profile</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree> <list>
<field name="sequence" widget="handle"/> <field name="sequence" widget="handle"/>
<field name="name" decoration-bf="1"/> <field name="name" decoration-bf="1"/>
<field name="trigger_type" optional="show"/> <field name="trigger_type" optional="show"/>
<field name="company_id" groups="base.group_multi_company"/> <field name="company_id" groups="base.group_multi_company"/>
</tree> </list>
</field> </field>
</record> </record>
<record id="commission_profile_action" model="ir.actions.act_window"> <record id="commission_profile_action" model="ir.actions.act_window">
<field name="name">Commission Profiles</field> <field name="name">Commission Profiles</field>
<field name="path">commission-profile</field>
<field name="res_model">commission.profile</field> <field name="res_model">commission.profile</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
</record> </record>
<menuitem id="commission_profile_menu" action="commission_profile_action" parent="commission_config_root" sequence="18"/> <menuitem id="commission_profile_menu" action="commission_profile_action" parent="commission_config_root" sequence="18"/>

View File

@@ -13,8 +13,8 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<form> <form>
<header> <header>
<button name="draft2done" type="object" states="draft" string="Confirm" class="btn-primary"/> <button name="draft2done" type="object" invisible="state != 'draft'" string="Confirm" class="btn-primary"/>
<button name="backtodraft" type="object" states="done" string="Back to Draft" confirm="Are you sure you want to go back to draft?"/> <button name="backtodraft" type="object" invisible="state != 'done'" string="Back to Draft" confirm="Are you sure you want to go back to draft?"/>
<field name="state" widget="statusbar"/> <field name="state" widget="statusbar"/>
</header> </header>
<group name="main"> <group name="main">
@@ -35,7 +35,7 @@
</group> </group>
<group name="lines" string="Commission Lines"> <group name="lines" string="Commission Lines">
<field nolabel="1" name="line_ids" colspan="2"> <field nolabel="1" name="line_ids" colspan="2">
<tree> <list>
<field name="move_id"/> <field name="move_id"/>
<field name="date" optional="hide"/> <field name="date" optional="hide"/>
<field name="partner_id"/> <field name="partner_id"/>
@@ -49,23 +49,19 @@
<field name="commission_rule_id" optional="hide"/> <field name="commission_rule_id" optional="hide"/>
<field name="company_currency_id" invisible="1"/> <field name="company_currency_id" invisible="1"/>
<field name="currency_id" invisible="1"/> <field name="currency_id" invisible="1"/>
</tree> </list>
</field> </field>
</group> </group>
<div class="oe_chatter"> <chatter />
<field name="message_follower_ids" widget="mail_followers"/>
<field name="activity_ids" widget="mail_activity"/>
<field name="message_ids" widget="mail_thread"/>
</div>
</form> </form>
</field> </field>
</record> </record>
<record id="commission_result_tree" model="ir.ui.view"> <record id="commission_result_list" model="ir.ui.view">
<field name="name">commission.result.tree</field> <field name="name">commission.result.list</field>
<field name="model">commission.result</field> <field name="model">commission.result</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree> <list>
<field name="date_range_id" optional="show"/> <field name="date_range_id" optional="show"/>
<field name="date_start" optional="hide"/> <field name="date_start" optional="hide"/>
<field name="date_end" optional="hide"/> <field name="date_end" optional="hide"/>
@@ -76,7 +72,7 @@
<field name="company_id" groups="base.group_multi_company"/> <field name="company_id" groups="base.group_multi_company"/>
<field name="amount_total" sum="1" optional="show"/> <field name="amount_total" sum="1" optional="show"/>
<field name="state" decoration-info="state == 'draft'" decoration-success="state == 'done'" widget="badge"/> <field name="state" decoration-info="state == 'draft'" decoration-success="state == 'done'" widget="badge"/>
</tree> </list>
</field> </field>
</record> </record>
@@ -103,8 +99,9 @@
<record id="commission_result_action" model="ir.actions.act_window"> <record id="commission_result_action" model="ir.actions.act_window">
<field name="name">Commissions</field> <field name="name">Commissions</field>
<field name="path">commission-result</field>
<field name="res_model">commission.result</field> <field name="res_model">commission.result</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
</record> </record>
<menuitem id="commission_result_menu" action="commission_result_action" parent="commission_root" sequence="10"/> <menuitem id="commission_result_menu" action="commission_result_action" parent="commission_root" sequence="10"/>

View File

@@ -19,9 +19,9 @@
<field name="company_id" invisible="1"/> <field name="company_id" invisible="1"/>
</group> </group>
<group name="match" string="Match"> <group name="match" string="Match">
<field name="partner_ids" attrs="{'invisible': [('applied_on', 'not in', ('0_customer_product', '1_customer_product_category'))], 'required': [('applied_on', 'in', ('0_customer_product', '1_customer_product_category'))]}"/> <field name="partner_ids" invisible="applied_on not in ('0_customer_product', '1_customer_product_category')" required="applied_on in ('0_customer_product', '1_customer_product_category')"/>
<field name="product_categ_ids" attrs="{'invisible': [('applied_on', 'not in', ('1_customer_product_category', '3_product_category'))], 'required': [('applied_on', 'in', ('1_customer_product_category', '3_product_category'))]}"/> <field name="product_categ_ids" invisible="applied_on not in ('1_customer_product_category', '3_product_category')" required="applied_on in ('1_customer_product_category', '3_product_category')"/>
<field name="product_ids" attrs="{'invisible': [('applied_on', 'not in', ('0_customer_product', '2_product'))], 'required': [('applied_on', 'in', ('0_customer_product', '2_product'))]}"/> <field name="product_ids" invisible="applied_on not in ('0_customer_product', '2_product')" required="applied_on in ('0_customer_product', '2_product')"/>
<field name="date_start"/> <field name="date_start"/>
<field name="date_end"/> <field name="date_end"/>
</group> </group>
@@ -37,18 +37,18 @@
</field> </field>
</record> </record>
<record id="commission_rule_tree" model="ir.ui.view"> <record id="commission_rule_list" model="ir.ui.view">
<field name="name">commission.rule.tree</field> <field name="name">commission.rule.list</field>
<field name="model">commission.rule</field> <field name="model">commission.rule</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree> <list>
<field name="profile_id" invisible="not context.get('commission_rule_main_view')"/> <field name="profile_id" invisible="not context.get('commission_rule_main_view')"/>
<field name="applied_on"/> <field name="applied_on"/>
<field name="date_start"/> <field name="date_start"/>
<field name="date_end"/> <field name="date_end"/>
<field name="rate" string="Rate (%)"/> <field name="rate" string="Rate (%)"/>
<field name="base"/> <field name="base"/>
</tree> </list>
</field> </field>
</record> </record>
@@ -68,8 +68,9 @@
<record id="commission_rule_action" model="ir.actions.act_window"> <record id="commission_rule_action" model="ir.actions.act_window">
<field name="name">Commission Rules</field> <field name="name">Commission Rules</field>
<field name="path">commission-rule</field>
<field name="res_model">commission.rule</field> <field name="res_model">commission.rule</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
<field name="context">{'commission_rule_main_view': True}</field> <field name="context">{'commission_rule_main_view': True}</field>
</record> </record>

View File

@@ -13,22 +13,12 @@
<field name="model">res.config.settings</field> <field name="model">res.config.settings</field>
<field name="inherit_id" ref="account.res_config_settings_view_form" /> <field name="inherit_id" ref="account.res_config_settings_view_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//div[@id='storno']" position="after"> <xpath expr="//block[@id='storno']" position="after">
<h2>Commissions</h2> <block title="Commissions" id="commission_simple">
<div class="row mt16 o_settings_container" id="commission_simple"> <setting id="commission_date_range_type" title="Date range type">
<div class="col-12 col-lg-12 o_setting_box" id="commission_simple-settings"> <field name="commission_date_range_type_id"/>
<div class="o_setting_left_pane" /> </setting>
<div class="o_setting_right_pane"> </block>
<div class="row" id="commission_date_range_type_id">
<label
for="commission_date_range_type_id"
class="col-md-5"
/>
<field name="commission_date_range_type_id" />
</div>
</div>
</div>
</div>
</xpath> </xpath>
</field> </field>
</record> </record>

View File

@@ -4,7 +4,7 @@
{ {
'name': 'Commission Simple Agent', 'name': 'Commission Simple Agent',
'version': '16.0.1.0.0', 'version': '18.0.1.0.0',
'category': 'Sales', 'category': 'Sales',
'license': 'AGPL-3', 'license': 'AGPL-3',
'summary': 'Glue module between commission_simple and sale_agent', 'summary': 'Glue module between commission_simple and sale_agent',
@@ -18,5 +18,5 @@
'views/commission_profile.xml', 'views/commission_profile.xml',
'views/commission_result.xml', 'views/commission_result.xml',
], ],
'installable': False, 'installable': True,
} }

View File

@@ -11,8 +11,8 @@
<field name="model">commission.profile</field> <field name="model">commission.profile</field>
<field name="inherit_id" ref="commission_simple.commission_profile_form"/> <field name="inherit_id" ref="commission_simple.commission_profile_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//field[@name='assign_ids']/tree/field[@name='user_id']" position="after"> <xpath expr="//field[@name='assign_ids']/list/field[@name='user_id']" position="after">
<field name="agent_id" attrs="{'required': [('assign_type', '=', 'agent')], 'readonly': [('assign_type', '!=', 'agent')]}"/> <field name="agent_id" required="assign_type == 'agent'" readonly="assign_type != 'agent'" context="{'default_agent': True}"/>
</xpath> </xpath>
</field> </field>
</record> </record>

View File

@@ -7,9 +7,9 @@
<odoo> <odoo>
<record id="commission_result_tree" model="ir.ui.view"> <record id="commission_result_list" model="ir.ui.view">
<field name="model">commission.result</field> <field name="model">commission.result</field>
<field name="inherit_id" ref="commission_simple.commission_result_tree"/> <field name="inherit_id" ref="commission_simple.commission_result_list"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<field name="assign_type" position="attributes"> <field name="assign_type" position="attributes">
<attribute name="decoration-danger">assign_type == 'agent'</attribute> <attribute name="decoration-danger">assign_type == 'agent'</attribute>

View File

@@ -4,7 +4,7 @@
{ {
'name': 'Commission Simple Agent Purchase', 'name': 'Commission Simple Agent Purchase',
'version': '16.0.1.0.0', 'version': '18.0.1.0.0',
'category': 'Sales', 'category': 'Sales',
'license': 'AGPL-3', 'license': 'AGPL-3',
'summary': 'Glue module between commission_simple_agent and purchase', 'summary': 'Glue module between commission_simple_agent and purchase',
@@ -18,5 +18,5 @@
'views/commission_result.xml', 'views/commission_result.xml',
'wizards/res_config_settings.xml', 'wizards/res_config_settings.xml',
], ],
'installable': False, 'installable': True,
} }

View File

@@ -12,7 +12,7 @@
<field name="inherit_id" ref="commission_simple.commission_result_form"/> <field name="inherit_id" ref="commission_simple.commission_result_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<group name="main-right" position="inside"> <group name="main-right" position="inside">
<field name="purchase_id" attrs="{'invisible': [('assign_type', '!=', 'agent')]}"/> <field name="purchase_id" invisible="assign_type != 'agent'"/>
</group> </group>
</field> </field>
</record> </record>

View File

@@ -13,11 +13,10 @@
<field name="model">res.config.settings</field> <field name="model">res.config.settings</field>
<field name="inherit_id" ref="commission_simple.res_config_settings_view_form" /> <field name="inherit_id" ref="commission_simple.res_config_settings_view_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//div[@id='commission_simple-settings']/div[hasclass('o_setting_right_pane')]" position="inside"> <xpath expr="//block[@id='commission_simple']" position="inside">
<div class="row" id="commission_product_id"> <setting id="commission_product" title="Commission Product">
<label for="commission_product_id" class="col-md-5" /> <field name="commission_product_id" context="{'default_type': 'service', 'default_purchase_ok': True, 'default_sale_ok': False, 'default_available_in_pos': False, 'default_purchase_method': 'purchase'}"/>
<field name="commission_product_id" context="{'default_detailed_type': 'service', 'default_purchase_ok': True, 'default_sale_ok': False, 'default_available_in_pos': False, 'default_purchase_method': 'purchase'}"/> </setting>
</div>
</xpath> </xpath>
</field> </field>
</record> </record>

View File

@@ -4,7 +4,7 @@
{ {
'name': 'Sale Agent', 'name': 'Sale Agent',
'version': '16.0.1.0.0', 'version': '18.0.1.0.0',
'category': 'Sales', 'category': 'Sales',
'license': 'AGPL-3', 'license': 'AGPL-3',
'summary': 'Add agent on partner, sale order and customer invoice/refund', 'summary': 'Add agent on partner, sale order and customer invoice/refund',
@@ -19,5 +19,5 @@
"views/account_invoice_report.xml", "views/account_invoice_report.xml",
], ],
'demo': ['demo/demo.xml'], 'demo': ['demo/demo.xml'],
'installable': False, 'installable': True,
} }

View File

@@ -3,6 +3,7 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import fields, models from odoo import fields, models
from odoo.tools import SQL
class AccountInvoiceReport(models.Model): class AccountInvoiceReport(models.Model):
@@ -11,5 +12,4 @@ class AccountInvoiceReport(models.Model):
invoice_agent_id = fields.Many2one("res.partner", string="Agent", readonly=True) invoice_agent_id = fields.Many2one("res.partner", string="Agent", readonly=True)
def _select(self): def _select(self):
select_str = super()._select() return SQL("%s, move.invoice_agent_id AS invoice_agent_id", super()._select())
return f"{select_str}, move.invoice_agent_id AS invoice_agent_id"

View File

@@ -14,7 +14,7 @@
<field name="inherit_id" ref="base.view_partner_form"/> <field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//page[@name='sales_purchases']//group[@name='sale']/field[@name='user_id']" name="user_id" position="after"> <xpath expr="//page[@name='sales_purchases']//group[@name='sale']/field[@name='user_id']" name="user_id" position="after">
<field name="agent_id" attrs="{'invisible': [('parent_id', '!=', False)]}"/> <field name="agent_id" invisible="parent_id"/>
</xpath> </xpath>
<group name="misc" position="inside"> <group name="misc" position="inside">
<field name="agent"/> <field name="agent"/>