Fall 4979, Mehrere Provisionsempfänger
parent
1f5a7e51d6
commit
86b7ce81a9
|
|
@ -38,6 +38,7 @@
|
|||
'sale_partner_incoterm',
|
||||
],
|
||||
'data': [
|
||||
'views/commission_account.xml',
|
||||
'wizards/wizard_confirm_production.xml',
|
||||
'security/security.xml',
|
||||
'data/dp_custom_data.xml',
|
||||
|
|
|
|||
|
|
@ -30,3 +30,4 @@ from . import material_type
|
|||
from . import product
|
||||
from . import ir_attachment
|
||||
from . import account
|
||||
from . import commission_account
|
||||
|
|
|
|||
|
|
@ -67,24 +67,3 @@ class AccountInvoice(models.Model):
|
|||
if line.uom_id == self.env.ref('product.product_uom_unit'): # wenn die Mengeneinheit Stk. ist
|
||||
num_items += line.quantity
|
||||
record.num_items = num_items
|
||||
|
||||
|
||||
class AccountInvoiceReport(models.Model):
|
||||
_inherit = "account.invoice.report"
|
||||
|
||||
commission_user_id = fields.Many2one('res.users', string='Provisionsempfänger', readonly=True)
|
||||
|
||||
def _select(self):
|
||||
res = super(AccountInvoiceReport, self)._select()
|
||||
res += ', sub.commission_user_id as commission_user_id'
|
||||
return res
|
||||
|
||||
def _sub_select(self):
|
||||
res = super(AccountInvoiceReport, self)._sub_select()
|
||||
res += ', partner.commission_user_id'
|
||||
return res
|
||||
|
||||
def _group_by(self):
|
||||
res = super(AccountInvoiceReport, self)._group_by()
|
||||
res += ', partner.commission_user_id'
|
||||
return res
|
||||
|
|
|
|||
|
|
@ -0,0 +1,13 @@
|
|||
# Copyright 2018-Today datenpol gmbh (<http://www.datenpol.at>)
|
||||
# License OPL-1 or later (https://www.odoo.com/documentation/user/11.0/legal/licenses/licenses.html#licenses).
|
||||
|
||||
from odoo import api, fields, models, _
|
||||
|
||||
|
||||
class CommissionAccount(models.Model):
|
||||
_name = 'commission.account'
|
||||
_description = 'Provisionsempfänger Objekt'
|
||||
_order = "sequence, name"
|
||||
|
||||
name = fields.Char(string="Bezeichnung", required=True)
|
||||
sequence = fields.Integer(string="Sequenznummer")
|
||||
|
|
@ -67,18 +67,13 @@ class Partner(models.Model):
|
|||
date_vat_check = fields.Date(string='Datum der letzten UID-Prüfung')
|
||||
collective_bill = fields.Boolean(string='Sammelrechnung', default=True)
|
||||
country_id = fields.Many2one('res.country', string='Country', ondelete='restrict', default=_default_country_id)
|
||||
commission_user_id = fields.Many2one('res.users', string='Provisionsempfänger')
|
||||
commission_account_ids = fields.Many2many(comodel_name='commission.account', string='Provisionsempfänger')
|
||||
|
||||
_sql_constraints = [
|
||||
('ref_uniq', 'unique(ref)', 'Die Interne Referenz muss eindeutig sein'),
|
||||
('portal_id_uniq', 'unique(portal_id)', 'Die Portal-ID muss eindeutig sein')
|
||||
]
|
||||
|
||||
@api.model
|
||||
def _commercial_fields(self):
|
||||
res = super(Partner, self)._commercial_fields()
|
||||
return res + ['commission_user_id']
|
||||
|
||||
@api.one
|
||||
@api.constrains('is_company', 'vat')
|
||||
def _check_unique_vat(self):
|
||||
|
|
|
|||
|
|
@ -9,3 +9,5 @@ access_product_xcategory_user,access_product_xcategory_user,model_product_xcateg
|
|||
access_product_xcategory_sales_manager,access_product_xcategory_sales_manager,model_product_xcategory,sales_team.group_sale_manager,1,1,1,1
|
||||
sale.access_sale_order_manager,sale.order.manager,model_sale_order,sales_team.group_sale_manager,1,1,1,0
|
||||
access_sale_order_unlink,sale.order.unlink,model_sale_order,dp_custom.group_allow_delete_so_drafts,1,1,1,1
|
||||
access_commission_account_user,access_commission_account_user,model_commission_account,base.group_user,1,0,0,0
|
||||
access_commission_account_manager,access_commission_account_manager,model_commission_account,sales_team.group_sale_manager,1,1,1,1
|
||||
|
|
|
|||
|
|
|
@ -0,0 +1,50 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright 2018-Today datenpol gmbh(<http://www.datenpol.at>)
|
||||
License OPL-1 or later (https://www.odoo.com/documentation/user/11.0/legal/licenses/licenses.html#licenses). -->
|
||||
|
||||
<odoo>
|
||||
|
||||
<record id="view_commission_account_form" model="ir.ui.view">
|
||||
<field name="name">view_commission_account_form</field>
|
||||
<field name="model">commission.account</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Provisionsempfänger">
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="sequence"/>
|
||||
<field name="name"/>
|
||||
</group>
|
||||
</sheet>
|
||||
<div class="oe_chatter"></div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_commission_account_tree" model="ir.ui.view">
|
||||
<field name="name">view_commission_account_tree</field>
|
||||
<field name="model">commission.account</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="sequence"/>
|
||||
<field name="name"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_commission_account" model="ir.actions.act_window">
|
||||
<field name="name">Provisionsempfänger</field>
|
||||
<field name="res_model">commission.account</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[]</field>
|
||||
<field name="context">{}</field>
|
||||
<field name="view_id" ref="view_commission_account_tree"/>
|
||||
</record>
|
||||
|
||||
<record id="menu_commission_account" model="ir.ui.menu">
|
||||
<field name="name">Provisionsempfänger</field>
|
||||
<field name="parent_id" ref="sale.menu_sale_config"/>
|
||||
<field name="action" ref="action_commission_account"/>
|
||||
<field name="sequence" eval="16"/>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
|
@ -59,7 +59,7 @@
|
|||
<field name="collective_bill"/>
|
||||
</xpath>
|
||||
<field name="user_id" position="after">
|
||||
<field name="commission_user_id"/>
|
||||
<field name="commission_account_ids" widget="many2many_tags"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
|||
Loading…
Reference in New Issue