Fall 5030: Globales Lieferdatum für AN / AB
parent
06c0d8f1a9
commit
34552888f5
|
|
@ -113,7 +113,8 @@
|
||||||
<br/>
|
<br/>
|
||||||
<span t-field="order_line.name"/>
|
<span t-field="order_line.name"/>
|
||||||
<t t-if="order_line.delivery_date">
|
<t t-if="order_line.delivery_date">
|
||||||
<br/><strong>Lieferdatum: </strong><span t-field="order_line.delivery_date"/>
|
<br/><strong>Voraussichtliches Lieferdatum: </strong>
|
||||||
|
<span t-field="order_line.delivery_date"/>
|
||||||
</t>
|
</t>
|
||||||
</td>
|
</td>
|
||||||
<td rowspan="2" class="text-right">
|
<td rowspan="2" class="text-right">
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
'sale_stock',
|
'sale_stock',
|
||||||
],
|
],
|
||||||
'data': [
|
'data': [
|
||||||
'views/sale_order_line.xml',
|
'views/sale_order.xml',
|
||||||
],
|
],
|
||||||
'installable': True,
|
'installable': True,
|
||||||
'auto_install': False,
|
'auto_install': False,
|
||||||
|
|
|
||||||
|
|
@ -1 +1,2 @@
|
||||||
from . import sale_order_line
|
from . import sale_order_line
|
||||||
|
from . import sale_order
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
# 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 SaleOrder(models.Model):
|
||||||
|
_inherit = 'sale.order'
|
||||||
|
|
||||||
|
delivery_date = fields.Date('Lieferdatum', compute='_compute_delivery_date', inverse='_inverse_delivery_date')
|
||||||
|
|
||||||
|
@api.multi
|
||||||
|
def _compute_delivery_date(self):
|
||||||
|
for order in self:
|
||||||
|
lines = order.order_line.sorted(key=lambda d: d.delivery_date)
|
||||||
|
if lines:
|
||||||
|
order.delivery_date = lines[0].delivery_date
|
||||||
|
|
||||||
|
@api.multi
|
||||||
|
def _inverse_delivery_date(self):
|
||||||
|
for order in self:
|
||||||
|
for line in order.order_line:
|
||||||
|
line.delivery_date = order.delivery_date
|
||||||
|
|
@ -7,7 +7,7 @@ from odoo import api, fields, models, _
|
||||||
class SaleOrderLine(models.Model):
|
class SaleOrderLine(models.Model):
|
||||||
_inherit = 'sale.order.line'
|
_inherit = 'sale.order.line'
|
||||||
|
|
||||||
delivery_date = fields.Date('Lieferdatum', compute='_compute_delivery_date')
|
delivery_date = fields.Date('Lieferdatum', compute='_compute_delivery_date', inverse='_inverse_delivery_date')
|
||||||
|
|
||||||
@api.multi
|
@api.multi
|
||||||
def _compute_delivery_date(self):
|
def _compute_delivery_date(self):
|
||||||
|
|
@ -15,6 +15,15 @@ class SaleOrderLine(models.Model):
|
||||||
stock_move = self.env['stock.move']
|
stock_move = self.env['stock.move']
|
||||||
move = stock_move.search([('sale_line_id', '=', line.id), ('state', 'not in', ['cancel'])])
|
move = stock_move.search([('sale_line_id', '=', line.id), ('state', 'not in', ['cancel'])])
|
||||||
if move:
|
if move:
|
||||||
line.delivery_date = move[0].date
|
line.delivery_date = move[0].date_expected
|
||||||
else:
|
else:
|
||||||
line.delivery_date = False
|
line.delivery_date = False
|
||||||
|
|
||||||
|
@api.multi
|
||||||
|
def _inverse_delivery_date(self):
|
||||||
|
for line in self:
|
||||||
|
stock_move = self.env['stock.move']
|
||||||
|
move = stock_move.search([('sale_line_id', '=', line.id), ('state', 'not in', ['cancel'])])
|
||||||
|
if move:
|
||||||
|
move.date = line.delivery_date
|
||||||
|
move.date_expected = line.delivery_date
|
||||||
|
|
|
||||||
|
|
@ -9,9 +9,13 @@
|
||||||
<field name="model">sale.order</field>
|
<field name="model">sale.order</field>
|
||||||
<field name="inherit_id" ref="sale.view_order_form"/>
|
<field name="inherit_id" ref="sale.view_order_form"/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath expr="//field[@name='order_line']/tree//field[@name='discount']" position="after">
|
<xpath expr="//field[@name='order_line']/tree//field[@name='price_subtotal']" position="before">
|
||||||
<field name="delivery_date"/>
|
<field name="delivery_date"/>
|
||||||
</xpath>
|
</xpath>
|
||||||
|
<field name="confirmation_date" position="after">
|
||||||
|
<field name="delivery_date"
|
||||||
|
attrs="{'invisible':[('state', 'in', ['draft', 'sent'])]}"/>
|
||||||
|
</field>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
Loading…
Reference in New Issue