mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 09:12:11 +01:00 
			
		
		
		
	Corrections de quelques bugs (par Quark)
This commit is contained in:
		@@ -168,7 +168,8 @@ class BasicFoodCreateView(ProtectQuerysetMixin, ProtectedCreateView):
 | 
			
		||||
    template_name = "food/food_update.html"
 | 
			
		||||
 | 
			
		||||
    def get_sample_object(self):
 | 
			
		||||
        return BasicFood(
 | 
			
		||||
        # We choose a club which may work or BDE else
 | 
			
		||||
        food = BasicFood(
 | 
			
		||||
            name="",
 | 
			
		||||
            owner_id=1,
 | 
			
		||||
            expiry_date=timezone.now(),
 | 
			
		||||
@@ -177,6 +178,14 @@ class BasicFoodCreateView(ProtectQuerysetMixin, ProtectedCreateView):
 | 
			
		||||
            date_type='DLC',
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        for membership in self.request.user.memberships.all():
 | 
			
		||||
            club_id = membership.club.id
 | 
			
		||||
            food.owner_id = club_id
 | 
			
		||||
            if PermissionBackend.check_perm(self.request, "food.add_basicfood", food):
 | 
			
		||||
                return food
 | 
			
		||||
 | 
			
		||||
        return food
 | 
			
		||||
 | 
			
		||||
    @transaction.atomic
 | 
			
		||||
    def form_valid(self, form):
 | 
			
		||||
        if QRCode.objects.filter(qr_code_number=self.kwargs['slug']).count() > 0:
 | 
			
		||||
@@ -227,13 +236,22 @@ class TransformedFoodCreateView(ProtectQuerysetMixin, ProtectedCreateView):
 | 
			
		||||
    template_name = "food/food_update.html"
 | 
			
		||||
 | 
			
		||||
    def get_sample_object(self):
 | 
			
		||||
        return TransformedFood(
 | 
			
		||||
        # We choose a club which may work or BDE else
 | 
			
		||||
        food = TransformedFood(
 | 
			
		||||
            name="",
 | 
			
		||||
            owner_id=1,
 | 
			
		||||
            expiry_date=timezone.now(),
 | 
			
		||||
            is_ready=True,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        for membership in self.request.user.memberships.all():
 | 
			
		||||
            club_id = membership.club.id
 | 
			
		||||
            food.owner_id = club_id
 | 
			
		||||
            if PermissionBackend.check_perm(self.request, "food.add_transformedfood", food):
 | 
			
		||||
                return food
 | 
			
		||||
 | 
			
		||||
        return food
 | 
			
		||||
 | 
			
		||||
    @transaction.atomic
 | 
			
		||||
    def form_valid(self, form):
 | 
			
		||||
        form.instance.expiry_date = timezone.now() + timedelta(days=3)
 | 
			
		||||
@@ -248,7 +266,7 @@ class TransformedFoodCreateView(ProtectQuerysetMixin, ProtectedCreateView):
 | 
			
		||||
MAX_FORMS = 10
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ManageIngredientsView(ProtectQuerysetMixin, LoginRequiredMixin, UpdateView):
 | 
			
		||||
class ManageIngredientsView(LoginRequiredMixin, UpdateView):
 | 
			
		||||
    """
 | 
			
		||||
    A view to manage ingredient for a transformed food
 | 
			
		||||
    """
 | 
			
		||||
@@ -279,6 +297,14 @@ class ManageIngredientsView(ProtectQuerysetMixin, LoginRequiredMixin, UpdateView
 | 
			
		||||
                    ingredient.end_of_life = _('Fully used in {meal}'.format(
 | 
			
		||||
                        meal=self.object.name))
 | 
			
		||||
                    ingredient.save()
 | 
			
		||||
        # We recalculate new expiry date and allergens
 | 
			
		||||
        self.object.expiry_date = self.object.creation_date + self.object.shelf_life
 | 
			
		||||
        self.object.allergens.clear()
 | 
			
		||||
 | 
			
		||||
        for ingredient in self.object.ingredients.iterator():
 | 
			
		||||
            if not (ingredient.polymorphic_ctype.model == 'basicfood' and ingredient.date_type == 'DDM'):
 | 
			
		||||
                self.object.expiry_date = min(self.object.expiry_date, ingredient.expiry_date)
 | 
			
		||||
            self.object.allergens.set(self.object.allergens.union(ingredient.allergens.all()))
 | 
			
		||||
 | 
			
		||||
        self.object.save(old_ingredients=old_ingredients, old_allergens=old_allergens)
 | 
			
		||||
        return HttpResponseRedirect(self.get_success_url())
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user