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