Fall 5588: Übernahme von Steuerzuordnung und Zahlungsbedingung
parent
5c03797092
commit
026caa88e5
|
|
@ -22,13 +22,11 @@ import re
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from odoo import api, fields, models, _
|
from odoo import api, fields, models, _
|
||||||
from odoo.tools import float_is_zero
|
|
||||||
from odoo.exceptions import ValidationError, UserError
|
from odoo.exceptions import ValidationError, UserError
|
||||||
from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT
|
from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT
|
||||||
from odoo.tools import float_compare
|
from odoo.tools import float_compare
|
||||||
from odoo.http import request
|
from odoo.tools import float_is_zero
|
||||||
|
|
||||||
import requests
|
|
||||||
|
|
||||||
class SaleOrder(models.Model):
|
class SaleOrder(models.Model):
|
||||||
_name = 'sale.order'
|
_name = 'sale.order'
|
||||||
|
|
@ -65,10 +63,10 @@ class SaleOrder(models.Model):
|
||||||
pg9_call = fields.Char(string='PG9-Auftrag', compute='_pg9_call', store=False)
|
pg9_call = fields.Char(string='PG9-Auftrag', compute='_pg9_call', store=False)
|
||||||
|
|
||||||
@api.multi
|
@api.multi
|
||||||
def _pg9_call(self) :
|
def _pg9_call(self):
|
||||||
for record in self :
|
for record in self:
|
||||||
if record.origin != False:
|
if record.origin != False:
|
||||||
xref = 'xref:'+record.origin
|
xref = 'xref:' + record.origin
|
||||||
record.pg9_call = 'http://localhost:9531/pg9/order/' + xref
|
record.pg9_call = 'http://localhost:9531/pg9/order/' + xref
|
||||||
|
|
||||||
# end def _pg9_call
|
# end def _pg9_call
|
||||||
|
|
@ -211,9 +209,17 @@ class SaleOrder(models.Model):
|
||||||
payment_term = partner.property_payment_term_id
|
payment_term = partner.property_payment_term_id
|
||||||
if partner.retail_partner_id:
|
if partner.retail_partner_id:
|
||||||
payment_term = partner.retail_partner_id.property_payment_term_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({
|
vals.update({
|
||||||
'partner_id': partner.id,
|
'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,
|
'user_id': partner.user_id.id,
|
||||||
'payment_term_id': payment_term.id,
|
'payment_term_id': payment_term.id,
|
||||||
'partner_shipping_id': delivery_partner.id,
|
'partner_shipping_id': delivery_partner.id,
|
||||||
|
|
@ -403,6 +409,47 @@ class SaleOrder(models.Model):
|
||||||
res = '%s %s' % (currency_obj.symbol, res)
|
res = '%s %s' % (currency_obj.symbol, res)
|
||||||
return 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):
|
class SaleOrderLine(models.Model):
|
||||||
_inherit = 'sale.order.line'
|
_inherit = 'sale.order.line'
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue