| 
						
						
							
								
							
						
						
					 | 
					@ -17,8 +17,9 @@ class SalesOrder(models.Model): | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    def _compute_delivery_status(self): | 
					 | 
					 | 
					    def _compute_delivery_status(self): | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        for rec in self: | 
					 | 
					 | 
					        for rec in self: | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            pickings = self.env['stock.picking'].search([('sale_id', '=', rec.id)]) | 
					 | 
					 | 
					            pickings = self.env['stock.picking'].search([('sale_id', '=', rec.id)]) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					            orderlines = rec.mapped('order_line') | 
					 | 
					 | 
					            orderlines = rec.mapped('order_line').filtered(lambda x:x.product_id.type != 'service') | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            if not pickings and not orderlines.filtered(lambda x:x.product_id.type == 'service'): | 
					 | 
					 | 
					            service_orderlines =  rec.mapped('order_line').filtered(lambda x:x.product_id.type == 'service') | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            if not pickings and not service_orderlines: | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                rec.delivery_status = 'nothing' | 
					 | 
					 | 
					                rec.delivery_status = 'nothing' | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            elif all(o.qty_delivered == 0 for o in orderlines): | 
					 | 
					 | 
					            elif all(o.qty_delivered == 0 for o in orderlines): | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                rec.delivery_status = 'to_deliver' | 
					 | 
					 | 
					                rec.delivery_status = 'to_deliver' | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -28,3 +29,5 @@ class SalesOrder(models.Model): | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                rec.delivery_status = 'delivered' | 
					 | 
					 | 
					                rec.delivery_status = 'delivered' | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            elif any(p.state in ('waiting', 'confirmed') for p in pickings): | 
					 | 
					 | 
					            elif any(p.state in ('waiting', 'confirmed') for p in pickings): | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                rec.delivery_status = 'processing' | 
					 | 
					 | 
					                rec.delivery_status = 'processing' | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            if not orderlines and service_orderlines and rec.state == 'sale': | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                rec.delivery_status = 'delivered' | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
					 | 
					
  |