Fall 5588: Übernahme von Steuerzuordnung und Zahlungsbedingung
							parent
							
								
									5c03797092
								
							
						
					
					
						commit
						026caa88e5
					
				|  | @ -22,13 +22,11 @@ import re | |||
| from datetime import datetime | ||||
| 
 | ||||
| from odoo import api, fields, models, _ | ||||
| from odoo.tools import float_is_zero | ||||
| from odoo.exceptions import ValidationError, UserError | ||||
| from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT | ||||
| from odoo.tools import float_compare | ||||
| from odoo.http import request | ||||
| from odoo.tools import float_is_zero | ||||
| 
 | ||||
| import requests | ||||
| 
 | ||||
| class SaleOrder(models.Model): | ||||
|     _name = 'sale.order' | ||||
|  | @ -65,10 +63,10 @@ class SaleOrder(models.Model): | |||
|     pg9_call = fields.Char(string='PG9-Auftrag', compute='_pg9_call', store=False) | ||||
| 
 | ||||
|     @api.multi | ||||
|     def _pg9_call(self) : | ||||
|         for record in self : | ||||
|     def _pg9_call(self): | ||||
|         for record in self: | ||||
|             if record.origin != False: | ||||
|                 xref = 'xref:'+record.origin | ||||
|                 xref = 'xref:' + record.origin | ||||
|                 record.pg9_call = 'http://localhost:9531/pg9/order/' + xref | ||||
| 
 | ||||
|     # end def _pg9_call | ||||
|  | @ -211,9 +209,17 @@ class SaleOrder(models.Model): | |||
|         payment_term = partner.property_payment_term_id | ||||
|         if partner.retail_partner_id: | ||||
|             payment_term = partner.retail_partner_id.property_payment_term_id | ||||
|         addr = partner.address_get(['delivery', 'invoice']) | ||||
|         vals['partner_invoice_id'] = vals.setdefault('partner_invoice_id', addr['invoice']) | ||||
|         partner_invoice_id = self.env['res.partner'].browse([vals['partner_invoice_id']]) | ||||
|         fiscal_position_id = False | ||||
|         if partner_invoice_id: | ||||
|             if partner_invoice_id.property_account_position_id: | ||||
|                 fiscal_position_id = partner_invoice_id.property_account_position_id.id | ||||
|         vals.update({ | ||||
|             'partner_id': partner.id, | ||||
|             'fiscal_position_id': partner.property_account_position_id.id, | ||||
|             'partner_invoice_id': partner_invoice_id.id, | ||||
|             'fiscal_position_id': fiscal_position_id, | ||||
|             'user_id': partner.user_id.id, | ||||
|             'payment_term_id': payment_term.id, | ||||
|             'partner_shipping_id': delivery_partner.id, | ||||
|  | @ -403,6 +409,47 @@ class SaleOrder(models.Model): | |||
|                 res = '%s %s' % (currency_obj.symbol, res) | ||||
|         return res | ||||
| 
 | ||||
|     @api.multi | ||||
|     @api.onchange('partner_id') | ||||
|     def onchange_partner_id(self): | ||||
|         if not self.partner_id: | ||||
|             self.update({ | ||||
|                 'partner_invoice_id': False, | ||||
|                 'partner_shipping_id': False, | ||||
|             }) | ||||
|             return | ||||
| 
 | ||||
|         addr = self.partner_id.address_get(['delivery', 'invoice']) | ||||
|         values = { | ||||
|             'partner_invoice_id': addr['invoice'], | ||||
|             'partner_shipping_id': addr['delivery'], | ||||
|             'pricelist_id': self.partner_id.property_product_pricelist and self.partner_id.property_product_pricelist.id or False, | ||||
|             'user_id': self.partner_id.user_id.id or self.env.uid | ||||
|         } | ||||
|         if self.env['ir.config_parameter'].sudo().get_param( | ||||
|                 'sale.use_sale_note') and self.env.user.company_id.sale_note: | ||||
|             values['note'] = self.with_context(lang=self.partner_id.lang).env.user.company_id.sale_note | ||||
| 
 | ||||
|         if self.partner_id.team_id: | ||||
|             values['team_id'] = self.partner_id.team_id.id | ||||
|         self.update(values) | ||||
| 
 | ||||
|     @api.multi | ||||
|     @api.onchange('partner_invoice_id') | ||||
|     def onchange_partner_invoice_id(self): | ||||
|         if not self.partner_invoice_id: | ||||
|             self.update({ | ||||
|                 'payment_term_id': False, | ||||
|                 'fiscal_position_id': False, | ||||
|             }) | ||||
|             return | ||||
| 
 | ||||
|         values = { | ||||
|             'fiscal_position_id': self.partner_invoice_id.property_account_position_id and self.partner_invoice_id.property_account_position_id.id or False, | ||||
|             'payment_term_id': self.partner_invoice_id.property_payment_term_id and self.partner_invoice_id.property_payment_term_id.id or False, | ||||
|         } | ||||
|         self.update(values) | ||||
| 
 | ||||
| 
 | ||||
| class SaleOrderLine(models.Model): | ||||
|     _inherit = 'sale.order.line' | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue