|  | @ -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' | 
			
		
	
	
		
		
			
				
					|  | 
 |