Fall 4979, Mehrere Provisionsempfänger
							parent
							
								
									1f5a7e51d6
								
							
						
					
					
						commit
						86b7ce81a9
					
				|  | @ -38,6 +38,7 @@ | ||||||
|         'sale_partner_incoterm', |         'sale_partner_incoterm', | ||||||
|     ], |     ], | ||||||
|     'data': [ |     'data': [ | ||||||
|  |         'views/commission_account.xml', | ||||||
|         'wizards/wizard_confirm_production.xml', |         'wizards/wizard_confirm_production.xml', | ||||||
|         'security/security.xml', |         'security/security.xml', | ||||||
|         'data/dp_custom_data.xml', |         'data/dp_custom_data.xml', | ||||||
|  |  | ||||||
|  | @ -30,3 +30,4 @@ from . import material_type | ||||||
| from . import product | from . import product | ||||||
| from . import ir_attachment | from . import ir_attachment | ||||||
| from . import account | 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 |                 if line.uom_id == self.env.ref('product.product_uom_unit'): # wenn die Mengeneinheit Stk. ist | ||||||
|                     num_items += line.quantity |                     num_items += line.quantity | ||||||
|             record.num_items = num_items |             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') |     date_vat_check = fields.Date(string='Datum der letzten UID-Prüfung') | ||||||
|     collective_bill = fields.Boolean(string='Sammelrechnung', default=True) |     collective_bill = fields.Boolean(string='Sammelrechnung', default=True) | ||||||
|     country_id = fields.Many2one('res.country', string='Country', ondelete='restrict', default=_default_country_id) |     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 = [ |     _sql_constraints = [ | ||||||
|         ('ref_uniq', 'unique(ref)', 'Die Interne Referenz muss eindeutig sein'), |         ('ref_uniq', 'unique(ref)', 'Die Interne Referenz muss eindeutig sein'), | ||||||
|         ('portal_id_uniq', 'unique(portal_id)', 'Die Portal-ID 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.one | ||||||
|     @api.constrains('is_company', 'vat') |     @api.constrains('is_company', 'vat') | ||||||
|     def _check_unique_vat(self): |     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 | 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 | 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_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"/> |                 <field name="collective_bill"/> | ||||||
|             </xpath> |             </xpath> | ||||||
|             <field name="user_id" position="after"> |             <field name="user_id" position="after"> | ||||||
|                 <field name="commission_user_id"/> |                 <field name="commission_account_ids" widget="many2many_tags"/> | ||||||
|             </field> |             </field> | ||||||
|         </field> |         </field> | ||||||
|     </record> |     </record> | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue