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