diff --git a/apps/food/api/serializers.py b/apps/food/api/serializers.py index cda17170..1400a28a 100644 --- a/apps/food/api/serializers.py +++ b/apps/food/api/serializers.py @@ -21,9 +21,13 @@ class FoodSerializer(serializers.ModelSerializer): REST API Serializer for Food. The djangorestframework plugin will analyse the model `Food` and parse all fields in the API. """ + # This fields is used for autocompleting food in ManageIngredientsView + # TODO Find a better way to do it + owner_name = serializers.CharField(source='owner.name', read_only=True) + class Meta: model = Food - fields = '__all__' + fields = ['name', 'owner', 'allergens', 'expiry_date', 'end_of_life', 'is_ready', 'order', 'owner_name'] class BasicFoodSerializer(serializers.ModelSerializer): diff --git a/apps/food/forms.py b/apps/food/forms.py index 72bef4c4..fa926c37 100644 --- a/apps/food/forms.py +++ b/apps/food/forms.py @@ -167,7 +167,7 @@ class ManageIngredientsForm(forms.Form): model=Food, resetable=True, attrs={"api_url": "/api/food/food", - "class": "autocomplete"}, + "class": "autocomplete manageingredients-autocomplete"}, ) name.label = _('Name') diff --git a/apps/food/tests/test_food.py b/apps/food/tests/test_food.py index b7bb4cc3..4c4d356d 100644 --- a/apps/food/tests/test_food.py +++ b/apps/food/tests/test_food.py @@ -413,13 +413,12 @@ class TestFoodAPI(TestAPI): """ self.check_viewset(BasicFoodViewSet, '/api/food/basicfood/') - def test_transformedfood_api(self): - """ - Load TransformedFood API page and test all filters and permissions - """ - # TODO Repair this test - pass - # self.check_viewset(TransformedFoodViewSet, '/api/food/transformedfood/') + # TODO Repair and detabulate this test + def test_transformedfood_api(self): + """ + Load TransformedFood API page and test all filters and permissions + """ + self.check_viewset(TransformedFoodViewSet, '/api/food/transformedfood/') def test_qrcode_api(self): """ diff --git a/apps/food/views.py b/apps/food/views.py index 7e6bde15..6a2cebfa 100644 --- a/apps/food/views.py +++ b/apps/food/views.py @@ -769,7 +769,7 @@ class OrderListView(ProtectQuerysetMixin, LoginRequiredMixin, MultiTableMixin, L def get_queryset(self, **kwargs): activity = Activity.objects.get(pk=self.kwargs["activity_pk"]) - return Order.objects.filter(activity=activity) + return Order.objects.filter(activity=activity).order_by('number') def get_tables(self): activity = Activity.objects.get(pk=self.kwargs["activity_pk"]) diff --git a/note_kfet/static/js/autocomplete_model.js b/note_kfet/static/js/autocomplete_model.js index a8b2461c..1b129941 100644 --- a/note_kfet/static/js/autocomplete_model.js +++ b/note_kfet/static/js/autocomplete_model.js @@ -13,11 +13,14 @@ $(document).ready(function () { target.addClass('is-invalid') target.removeClass('is-valid') + const isManageIngredients = target.hasClass('manageingredients-autocomplete') + $.getJSON(api_url + (api_url.includes('?') ? '&' : '?') + 'format=json&search=^' + input + api_url_suffix, function (objects) { let html = '