mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 01:12:08 +01:00 
			
		
		
		
	permission, fixture, translation (fr), bug fixes
This commit is contained in:
		
							
								
								
									
										100
									
								
								apps/food/fixtures/initial.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								apps/food/fixtures/initial.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,100 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
	"model": "food.allergen",
 | 
			
		||||
	"pk": 1,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "name": "Lait"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
	"model": "food.allergen",
 | 
			
		||||
	"pk": 2,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "name": "Oeufs"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
	"model": "food.allergen",
 | 
			
		||||
	"pk": 3,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "name": "Gluten"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
	"model": "food.allergen",
 | 
			
		||||
	"pk": 4,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "name": "Fruits à coques"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
	"model": "food.allergen",
 | 
			
		||||
	"pk": 5,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "name": "Arachides"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
	"model": "food.allergen",
 | 
			
		||||
	"pk": 6,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "name": "Sésame"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
	"model": "food.allergen",
 | 
			
		||||
	"pk": 7,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "name": "Soja"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
	"model": "food.allergen",
 | 
			
		||||
	"pk": 8,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "name": "Céléri"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
	"model": "food.allergen",
 | 
			
		||||
	"pk": 9,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "name": "Lupin"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
	"model": "food.allergen",
 | 
			
		||||
	"pk": 10,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "name": "Moutarde"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
	"model": "food.allergen",
 | 
			
		||||
	"pk": 11,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "name": "Sulfites"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
	"model": "food.allergen",
 | 
			
		||||
	"pk": 12,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "name": "Crustacés"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
	"model": "food.allergen",
 | 
			
		||||
	"pk": 13,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "name": "Mollusques"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
	"model": "food.allergen",
 | 
			
		||||
	"pk": 14,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "name": "Poissons"
 | 
			
		||||
	}
 | 
			
		||||
    }
 | 
			
		||||
]
 | 
			
		||||
@@ -73,7 +73,13 @@ class FoodListView(ProtectQuerysetMixin, LoginRequiredMixin, MultiTableMixin, Li
 | 
			
		||||
                    PermissionBackend.filter_queryset(self.request, Food, 'view'))
 | 
			
		||||
        # table served
 | 
			
		||||
        served_table = self.get_queryset().order_by('-pk').filter(
 | 
			
		||||
            end_of_life='', is_ready=True)
 | 
			
		||||
            end_of_life='', is_ready=True).filter(
 | 
			
		||||
                Q(polymorphic_ctype__model='basicfood',
 | 
			
		||||
                  basicfood__date_type='DLC',
 | 
			
		||||
                  expiry_date__lte=timezone.now(),)
 | 
			
		||||
                | Q(polymorphic_ctype__model='transformedfood',
 | 
			
		||||
                    expiry_date__lte=timezone.now(),
 | 
			
		||||
                    ))
 | 
			
		||||
        # tables club
 | 
			
		||||
        bureau_role_pk = 4
 | 
			
		||||
        clubs = Club.objects.filter(membership__in=Membership.objects.filter(
 | 
			
		||||
@@ -354,7 +360,7 @@ class FoodDetailView(ProtectQuerysetMixin, LoginRequiredMixin, DetailView):
 | 
			
		||||
            value) for field, value in fields.items()]
 | 
			
		||||
        context["meals"] = self.object.transformed_ingredient_inv.all()
 | 
			
		||||
        context["update"] = PermissionBackend.check_perm(self.request, "food.change_food")
 | 
			
		||||
        context["add_ingredient"] = self.object.end_of_life = '' and PermissionBackend.check_perm(self.request, "food.change_transformedfood")
 | 
			
		||||
        context["add_ingredient"] = (self.object.end_of_life == '' and PermissionBackend.check_perm(self.request, "food.change_transformedfood"))
 | 
			
		||||
        return context
 | 
			
		||||
 | 
			
		||||
    def get(self, *args, **kwargs):
 | 
			
		||||
 
 | 
			
		||||
@@ -3307,436 +3307,184 @@
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 211,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "transformedfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{}",
 | 
			
		||||
            "type": "view",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Voir tout les plats"
 | 
			
		||||
        }
 | 
			
		||||
	"model": "permission.permission",
 | 
			
		||||
	"pk": 211,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "model": [
 | 
			
		||||
		"food",
 | 
			
		||||
		"qrcode"
 | 
			
		||||
	    ],
 | 
			
		||||
	    "query": "{}",
 | 
			
		||||
	    "type": "view",
 | 
			
		||||
	    "mask": 2,
 | 
			
		||||
	    "permanent": false,
 | 
			
		||||
	    "description": "Voir n'importe quel QR-code"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 212,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "transformedfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{\"owner\": [\"club\"]}",
 | 
			
		||||
            "type": "view",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Voir tout les plats de son club"
 | 
			
		||||
        }
 | 
			
		||||
	"model": "permission.permission",
 | 
			
		||||
	"pk": 212,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "model": [
 | 
			
		||||
		"food",
 | 
			
		||||
		"allergen"
 | 
			
		||||
	    ],
 | 
			
		||||
	    "query": "{}",
 | 
			
		||||
	    "type": "view",
 | 
			
		||||
	    "mask": 1,
 | 
			
		||||
	    "permanent": false,
 | 
			
		||||
	    "description": "Voir n'importe quel allergène"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 213,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "transformedfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{\"is_ready\": true}",
 | 
			
		||||
            "type": "view",
 | 
			
		||||
            "mask": 1,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Voir les plats préparés actifs servis"
 | 
			
		||||
        }
 | 
			
		||||
	"model": "permission.permission",
 | 
			
		||||
	"pk": 213,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "model": [
 | 
			
		||||
		"food",
 | 
			
		||||
		"food"
 | 
			
		||||
	    ],
 | 
			
		||||
	    "query": "{}",
 | 
			
		||||
	    "type": "view",
 | 
			
		||||
	    "mask": 2,
 | 
			
		||||
	    "permanent": false,
 | 
			
		||||
	    "description": "Voir n'importe quelle bouffe"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 214,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "qrcode"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{}",
 | 
			
		||||
            "type": "add",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Initialiser un QR code de traçabilité"
 | 
			
		||||
        }
 | 
			
		||||
	"model": "permission.permission",
 | 
			
		||||
	"pk": 214,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "model": [
 | 
			
		||||
		"food",
 | 
			
		||||
		"qrcode"
 | 
			
		||||
	    ],
 | 
			
		||||
	    "query": "{}",
 | 
			
		||||
	    "type": "add",
 | 
			
		||||
	    "mask": 2,
 | 
			
		||||
	    "permanent": false,
 | 
			
		||||
	    "description": "Ajouter n'importe quel QR-code"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 215,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "basicfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{\"owner\": [\"club\"]}",
 | 
			
		||||
            "type": "add",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Créer un nouvel ingrédient pour son club"
 | 
			
		||||
        }
 | 
			
		||||
	"model": "permission.permission",
 | 
			
		||||
	"pk": 215,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "model": [
 | 
			
		||||
		"food",
 | 
			
		||||
		"food"
 | 
			
		||||
	    ],
 | 
			
		||||
	    "query": "{}",
 | 
			
		||||
	    "type": "add",
 | 
			
		||||
	    "mask": 2,
 | 
			
		||||
	    "permanent": false,
 | 
			
		||||
	    "description": "Ajouter n'importe quelle bouffe"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 216,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "basicfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{}",
 | 
			
		||||
            "type": "add",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Créer un nouvel ingrédient"
 | 
			
		||||
        }
 | 
			
		||||
	"model": "permission.permission",
 | 
			
		||||
	"pk": 216,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "model": [
 | 
			
		||||
		"food",
 | 
			
		||||
		"food"
 | 
			
		||||
	    ],
 | 
			
		||||
	    "query": "{}",
 | 
			
		||||
	    "type": "change",
 | 
			
		||||
	    "mask": 2,
 | 
			
		||||
	    "permanent": false,
 | 
			
		||||
	    "description": "Modifier n'importe quelle bouffe"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 217,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "basicfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{}",
 | 
			
		||||
            "type": "view",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Voir toute la bouffe"
 | 
			
		||||
        }
 | 
			
		||||
	"model": "permission.permission",
 | 
			
		||||
	"pk": 217,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "model": [
 | 
			
		||||
		"food",
 | 
			
		||||
		"qrcode"
 | 
			
		||||
	    ],
 | 
			
		||||
	    "query": "{\"food_container__owner\": [\"club\"]}",
 | 
			
		||||
	    "type": "view",
 | 
			
		||||
	    "mask": 2,
 | 
			
		||||
	    "permanent": false,
 | 
			
		||||
	    "description": "Voir un QR-code lié à son club"
 | 
			
		||||
    	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 218,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "basicfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{\"is_ready\": true}",
 | 
			
		||||
            "type": "view",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Voir toute la bouffe active"
 | 
			
		||||
        }
 | 
			
		||||
	"model": "permission.permission",
 | 
			
		||||
	"pk": 218,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "model": [
 | 
			
		||||
		"food",
 | 
			
		||||
		"food"
 | 
			
		||||
	    ],
 | 
			
		||||
	    "query": "{\"owner\": [\"club\"]}",
 | 
			
		||||
	    "type": "view",
 | 
			
		||||
	    "mask": 2,
 | 
			
		||||
	    "permanent": false,
 | 
			
		||||
	    "description": "Voir la bouffe de son club"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 219,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "basicfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{\"is_ready\": true, \"owner\": [\"club\"]}",
 | 
			
		||||
            "type": "view",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Voir la bouffe active de son club"
 | 
			
		||||
        }
 | 
			
		||||
	"model": "permission.permission",
 | 
			
		||||
	"pk": 219,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "model": [
 | 
			
		||||
		"food",
 | 
			
		||||
		"qrcode"
 | 
			
		||||
	    ],
 | 
			
		||||
	    "query": "{\"food_container__owner\": [\"club\"]}",
 | 
			
		||||
	    "type": "add",
 | 
			
		||||
	    "mask": 2,
 | 
			
		||||
	    "permanent": false,
 | 
			
		||||
	    "description": "Ajouter un QR-code pour son club"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 220,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "basicfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{}",
 | 
			
		||||
            "type": "change",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Modifier de la bouffe"
 | 
			
		||||
        }
 | 
			
		||||
	"model": "permission.permission",
 | 
			
		||||
	"pk": 220,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "model": [
 | 
			
		||||
		"food",
 | 
			
		||||
		"food"
 | 
			
		||||
	    ],
 | 
			
		||||
	    "query": "{\"owner\": [\"club\"]}",
 | 
			
		||||
	    "type": "add",
 | 
			
		||||
	    "mask": 2,
 | 
			
		||||
	    "permanent": false,
 | 
			
		||||
	    "description": "Ajouter de la bouffe appartenant à son club"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 221,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "basicfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{\"is_ready\": true}",
 | 
			
		||||
            "type": "change",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "allergens",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Modifier les allergènes de la bouffe existante"
 | 
			
		||||
        }
 | 
			
		||||
	"model": "permission.permission",
 | 
			
		||||
	"pk": 221,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "model": [
 | 
			
		||||
		"food",
 | 
			
		||||
		"food"
 | 
			
		||||
	    ],
 | 
			
		||||
	    "query": "{\"owner\": [\"club\"]}",
 | 
			
		||||
	    "type": "change",
 | 
			
		||||
	    "mask": 2,
 | 
			
		||||
	    "permanent": false,
 | 
			
		||||
	    "description": "Modifier la bouffe appartenant à son club"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 222,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "basicfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{\"is_ready\": true, \"owner\": [\"club\"]}",
 | 
			
		||||
            "type": "change",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "allergens",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Modifier les allergènes de la bouffe appartenant à son club"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 223,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "transformedfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{}",
 | 
			
		||||
            "type": "add",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Créer un plat"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 224,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "transformedfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{\"owner\": [\"club\"]}",
 | 
			
		||||
            "type": "add",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Créer un plat pour son club"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 225,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "transformedfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{}",
 | 
			
		||||
            "type": "change",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Modifier tout les plats"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 226,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "transformedfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{\"is_ready\": true}",
 | 
			
		||||
            "type": "change",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "end_of_life",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Indiquer si un plat a été mangé"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 227,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "transformedfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{\"is_ready\": true, \"owner\": [\"club\"]}",
 | 
			
		||||
            "type": "change",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "is_ready",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Indiquer si un plat de son club est prêt"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 228,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "transformedfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{\"is_ready\": true}",
 | 
			
		||||
            "type": "change",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "is_ready",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Archiver un plat"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 229,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "basicfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{\"is_ready\": true}",
 | 
			
		||||
            "type": "change",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "is_ready",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Archiver de la bouffe"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 231,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "qrcode"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{}",
 | 
			
		||||
            "type": "view",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Voir tous les QR codes"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 232,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "qrcode"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{\"food_container__is_ready\": true}",
 | 
			
		||||
            "type": "view",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Voir tous les QR codes actifs"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 233,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "qrcode"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{\"food_container__owner\": [\"club\"], \"food_container__is_ready\": true}",
 | 
			
		||||
            "type": "view",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Voir tous les QR codes actifs de son club"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk" : 234,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "transformedfood"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{\"owner\": [\"club\"]}",
 | 
			
		||||
            "type": "change",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "ingredients",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Changer les ingrédients d'un plat actif de son club"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 235,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "food"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{}",
 | 
			
		||||
            "type": "view",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Voir bouffe"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 236,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "food"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "[]",
 | 
			
		||||
            "type": "view",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Voir bouffe active"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 237,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "food"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{\"owner\": [\"club\"]}",
 | 
			
		||||
            "type": "view",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Voir bouffe active de son club"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
        "pk": 238,
 | 
			
		||||
        "fields": {
 | 
			
		||||
            "model": [
 | 
			
		||||
                "food",
 | 
			
		||||
                "food"
 | 
			
		||||
            ],
 | 
			
		||||
            "query": "{}",
 | 
			
		||||
            "type": "change",
 | 
			
		||||
            "mask": 3,
 | 
			
		||||
            "field": "",
 | 
			
		||||
            "permanent": false,
 | 
			
		||||
            "description": "Modifier bouffe"
 | 
			
		||||
        }
 | 
			
		||||
	"model": "permission.permission",
 | 
			
		||||
	"pk": 222,
 | 
			
		||||
	"fields": {
 | 
			
		||||
	    "model": [
 | 
			
		||||
	        "food",
 | 
			
		||||
    		"food"
 | 
			
		||||
	    ],
 | 
			
		||||
	    "query": "{\"end_of_life\": \"\"}",
 | 
			
		||||
	    "type": "view",
 | 
			
		||||
	    "mask": 1,
 | 
			
		||||
	    "permanent": false,
 | 
			
		||||
	    "description": "Voir la bouffe servie"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "model": "permission.permission",
 | 
			
		||||
@@ -4343,7 +4091,8 @@
 | 
			
		||||
                158,
 | 
			
		||||
                159,
 | 
			
		||||
                160,
 | 
			
		||||
                213
 | 
			
		||||
		212,
 | 
			
		||||
		222
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
@@ -4384,16 +4133,11 @@
 | 
			
		||||
                50,
 | 
			
		||||
                141,
 | 
			
		||||
                169,
 | 
			
		||||
                212,
 | 
			
		||||
                214,
 | 
			
		||||
                215,
 | 
			
		||||
                219,
 | 
			
		||||
                222,
 | 
			
		||||
                224,
 | 
			
		||||
                227,
 | 
			
		||||
                233,
 | 
			
		||||
                234,
 | 
			
		||||
                237,
 | 
			
		||||
		217,
 | 
			
		||||
		218,
 | 
			
		||||
		219,
 | 
			
		||||
		220,
 | 
			
		||||
		221,
 | 
			
		||||
		247,
 | 
			
		||||
		258,
 | 
			
		||||
		259
 | 
			
		||||
@@ -4574,20 +4318,7 @@
 | 
			
		||||
                166,
 | 
			
		||||
                167,
 | 
			
		||||
                168,
 | 
			
		||||
                182,
 | 
			
		||||
                212,
 | 
			
		||||
                214,
 | 
			
		||||
                215,
 | 
			
		||||
                218,
 | 
			
		||||
                221,
 | 
			
		||||
                224,
 | 
			
		||||
                226,
 | 
			
		||||
                227,
 | 
			
		||||
                228,
 | 
			
		||||
                229,
 | 
			
		||||
                232,
 | 
			
		||||
                234,
 | 
			
		||||
                236
 | 
			
		||||
                182
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
@@ -4795,8 +4526,7 @@
 | 
			
		||||
                168,
 | 
			
		||||
                176,
 | 
			
		||||
                177,
 | 
			
		||||
                197,
 | 
			
		||||
                211
 | 
			
		||||
                197
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
@@ -4824,15 +4554,11 @@
 | 
			
		||||
            "permissions": [
 | 
			
		||||
                137,
 | 
			
		||||
                211,
 | 
			
		||||
                214,
 | 
			
		||||
                216,
 | 
			
		||||
                217,
 | 
			
		||||
                220,
 | 
			
		||||
                223,
 | 
			
		||||
                225,
 | 
			
		||||
                231,
 | 
			
		||||
                235,
 | 
			
		||||
                238
 | 
			
		||||
                212,
 | 
			
		||||
		213,
 | 
			
		||||
		214,
 | 
			
		||||
		215,
 | 
			
		||||
		216
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    },  
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user