Fall 5030: Globales Lieferdatum für AN / AB
parent
06c0d8f1a9
commit
34552888f5
|
|
@ -113,7 +113,8 @@
|
|||
<br/>
|
||||
<span t-field="order_line.name"/>
|
||||
<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>
|
||||
</td>
|
||||
<td rowspan="2" class="text-right">
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
'sale_stock',
|
||||
],
|
||||
'data': [
|
||||
'views/sale_order_line.xml',
|
||||
'views/sale_order.xml',
|
||||
],
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
|
|
|
|||
|
|
@ -1 +1,2 @@
|
|||
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):
|
||||
_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
|
||||
def _compute_delivery_date(self):
|
||||
|
|
@ -15,6 +15,15 @@ class SaleOrderLine(models.Model):
|
|||
stock_move = self.env['stock.move']
|
||||
move = stock_move.search([('sale_line_id', '=', line.id), ('state', 'not in', ['cancel'])])
|
||||
if move:
|
||||
line.delivery_date = move[0].date
|
||||
line.delivery_date = move[0].date_expected
|
||||
else:
|
||||
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="inherit_id" ref="sale.view_order_form"/>
|
||||
<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"/>
|
||||
</xpath>
|
||||
<field name="confirmation_date" position="after">
|
||||
<field name="delivery_date"
|
||||
attrs="{'invisible':[('state', 'in', ['draft', 'sent'])]}"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
Loading…
Reference in New Issue