Skip to contentSkip to conversation

restviews: hide unpublished layers

PATCH New Paul Eggleton 1 participant 1 message Jan 17, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 restviews: hide unpublished layers

Layers that aren't published shouldn't be visible via the API. (We don't need to apply that filter to recipes, machines or distros though since a layer's content won't automatically be indexed unless it has been published).

---
 layerindex/restviews.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
layerindex/restviews.py +4 -4
index 57f1552..b0c8a7a 100644
@@ -5,7 +5,7 @@ from layerindex.querysethelper import params_to_queryset, get_search_tuple
 class ParametricSearchableModelViewSet(viewsets.ModelViewSet):
     def get_queryset(self):
         model = self.__class__.serializer_class.Meta.model
-        qs = model.objects.all()
+        qs = self.queryset
         (filter_string, search_term, ordering_string) = get_search_tuple(self.request, model)
         return params_to_queryset(model, qs, filter_string, search_term, ordering_string)
 
@@ -22,7 +22,7 @@ class LayerItemSerializer(serializers.ModelSerializer):
         model = LayerItem
 
 class LayerItemViewSet(ParametricSearchableModelViewSet):
-    queryset = LayerItem.objects.all()
+    queryset = LayerItem.objects.filter(status='P')
     serializer_class = LayerItemSerializer
 
 class LayerBranchSerializer(serializers.ModelSerializer):
@@ -30,7 +30,7 @@ class LayerBranchSerializer(serializers.ModelSerializer):
         model = LayerBranch
 
 class LayerBranchViewSet(ParametricSearchableModelViewSet):
-    queryset = LayerBranch.objects.all()
+    queryset = LayerBranch.objects.filter(layer__status='P')
     serializer_class = LayerBranchSerializer
 
 class LayerDependencySerializer(serializers.ModelSerializer):
@@ -38,7 +38,7 @@ class LayerDependencySerializer(serializers.ModelSerializer):
         model = LayerDependency
 
 class LayerDependencyViewSet(ParametricSearchableModelViewSet):
-    queryset = LayerDependency.objects.all()
+    queryset = LayerDependency.objects.filter(layerbranch__layer__status='P')
     serializer_class = LayerDependencySerializer
 
 class RecipeSerializer(serializers.ModelSerializer):
Signature · 1 line
2.5.5