1
0
mirror of https://gitlab.crans.org/bde/nk20 synced 2025-11-21 05:48:26 +01:00

Some permissions

This commit is contained in:
Ehouarn
2025-11-20 16:02:38 +01:00
parent 6a77cfd4dd
commit 12b2e7869a
4 changed files with 217 additions and 4 deletions

View File

@@ -308,7 +308,7 @@ class ManageIngredientsView(LoginRequiredMixin, UpdateView):
prefix = 'form-' + str(i) + '-'
ingredient = None
if form.data[prefix + 'qrcode'] not in ['0', '']:
if form.data[prefix + 'qrcode'] not in ['0', '', 'NaN']:
ingredient = QRCode.objects.get(pk=form.data[prefix + 'qrcode']).food_container
elif form.data[prefix + 'name'] != '':
@@ -1064,9 +1064,12 @@ def get_ingredients_for_recipe(request):
# Union des Foods dont le nom commence par un nom dingrédient
query = Q()
for name in ingredient_names:
query |= Q(name__istartswith=name)
valid_regex = is_regex(name)
suffix = '__iregex' if valid_regex else '__istartswith'
prefix = '.*' if valid_regex else ''
query |= Q(**{f'name{suffix}': prefix + name}, end_of_life='')
qs = Food.objects.filter(query).distinct()
qs = qs.filter(PermissionBackend.filter_queryset(request, Food, 'view'))
data = [{'id': f.id, 'name': f.name, 'qr_code_numbers': ", ".join(str(q.qr_code_number) for q in f.QR_code.all())} for f in qs]
return JsonResponse({'ingredients': data})