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