mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-10-31 05:05:42 +00:00 
			
		
		
		
	Tree exclusion for PartCategory and StockLocation
This commit is contained in:
		| @@ -105,6 +105,20 @@ class CategoryList(generics.ListCreateAPIView): | ||||
|             except (ValueError, PartCategory.DoesNotExist): | ||||
|                 pass | ||||
|  | ||||
|         # Exclude PartCategory tree | ||||
|         exclude_tree = params.get('exclude_tree', None) | ||||
|  | ||||
|         if exclude_tree is not None: | ||||
|             try: | ||||
|                 cat = PartCategory.objects.get(pk=exclude_tree) | ||||
|  | ||||
|                 queryset = queryset.exclude( | ||||
|                     pk__in=[c.pk for c in cat.get_descendants(include_self=True)] | ||||
|                 ) | ||||
|  | ||||
|             except (ValueError, PartCategory.DoesNotExist): | ||||
|                 pass | ||||
|  | ||||
|         return queryset | ||||
|  | ||||
|     filter_backends = [ | ||||
|   | ||||
| @@ -343,6 +343,20 @@ class StockLocationList(generics.ListCreateAPIView): | ||||
|             except (ValueError, StockLocation.DoesNotExist): | ||||
|                 pass | ||||
|  | ||||
|         # Exclude StockLocation tree | ||||
|         exclude_tree = params.get('exclude_tree', None) | ||||
|  | ||||
|         if exclude_tree is not None: | ||||
|             try: | ||||
|                 loc = StockLocation.objects.get(pk=exclude_tree) | ||||
|  | ||||
|                 queryset = queryset.exclude( | ||||
|                     pk__in=[l.pk for l in loc.get_descendants(include_self=True)] | ||||
|                 ) | ||||
|  | ||||
|             except (ValueError, StockLocation.DoesNotExist): | ||||
|                 pass | ||||
|  | ||||
|         return queryset | ||||
|  | ||||
|     filter_backends = [ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user