mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 09:12:11 +01:00 
			
		
		
		
	'Add all identical food' on ManageIngredients
This commit is contained in:
		@@ -181,6 +181,11 @@ class ManageIngredientsForm(forms.Form):
 | 
				
			|||||||
    )
 | 
					    )
 | 
				
			||||||
    qrcode.label = _('QR code number')
 | 
					    qrcode.label = _('QR code number')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    add_all_same_name = forms.BooleanField(
 | 
				
			||||||
 | 
					        required=False,
 | 
				
			||||||
 | 
					        label=_("Add all identical food")
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ManageIngredientsFormSet = forms.formset_factory(
 | 
					ManageIngredientsFormSet = forms.formset_factory(
 | 
				
			||||||
    ManageIngredientsForm,
 | 
					    ManageIngredientsForm,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,6 +22,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
 | 
				
			|||||||
	  <th>{{ form.name.label }}</th>
 | 
						  <th>{{ form.name.label }}</th>
 | 
				
			||||||
	  <th>{{ form.qrcode.label }}</th>
 | 
						  <th>{{ form.qrcode.label }}</th>
 | 
				
			||||||
	  <th>{{ form.fully_used.label }}</th>
 | 
						  <th>{{ form.fully_used.label }}</th>
 | 
				
			||||||
 | 
						  <th>{{ form.add_all_same_name.label }}</th>
 | 
				
			||||||
	</tr>
 | 
						</tr>
 | 
				
			||||||
      </thead>
 | 
					      </thead>
 | 
				
			||||||
      <tbody id="form_body">
 | 
					      <tbody id="form_body">
 | 
				
			||||||
@@ -34,6 +35,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
 | 
				
			|||||||
	  <td>{{ form.name }}</td>
 | 
						  <td>{{ form.name }}</td>
 | 
				
			||||||
	  <td>{{ form.qrcode }}</td>
 | 
						  <td>{{ form.qrcode }}</td>
 | 
				
			||||||
	  <td>{{ form.fully_used }}</td>
 | 
						  <td>{{ form.fully_used }}</td>
 | 
				
			||||||
 | 
						  <td>{{ form.add_all_same_name }}</td>
 | 
				
			||||||
	</tr>
 | 
						</tr>
 | 
				
			||||||
      {% endfor %}
 | 
					      {% endfor %}
 | 
				
			||||||
      </tbody>
 | 
					      </tbody>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -307,6 +307,14 @@ class ManageIngredientsView(LoginRequiredMixin, UpdateView):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            elif form.data[prefix + 'name'] != '':
 | 
					            elif form.data[prefix + 'name'] != '':
 | 
				
			||||||
                ingredient = Food.objects.get(pk=form.data[prefix + 'name'])
 | 
					                ingredient = Food.objects.get(pk=form.data[prefix + 'name'])
 | 
				
			||||||
 | 
					                if form.data.get(prefix + 'add_all_same_name') == 'on':
 | 
				
			||||||
 | 
					                    ingredients = Food.objects.filter(name=ingredient.name, owner=ingredient.owner, end_of_life='')
 | 
				
			||||||
 | 
					                    for ingredient in ingredients:
 | 
				
			||||||
 | 
					                        self.object.ingredients.add(ingredient)
 | 
				
			||||||
 | 
					                        if form.data.get(prefix + 'fully_used') == 'on':
 | 
				
			||||||
 | 
					                            ingredient.end_of_life = _('Fully used in {meal}'.format(meal=self.object.name))
 | 
				
			||||||
 | 
					                            ingredient.save()
 | 
				
			||||||
 | 
					                else:
 | 
				
			||||||
                    self.object.ingredients.add(ingredient)
 | 
					                    self.object.ingredients.add(ingredient)
 | 
				
			||||||
                    if (prefix + 'fully_used') in form.data and form.data[prefix + 'fully_used'] == 'on':
 | 
					                    if (prefix + 'fully_used') in form.data and form.data[prefix + 'fully_used'] == 'on':
 | 
				
			||||||
                        ingredient.end_of_life = _('Fully used in {meal}'.format(
 | 
					                        ingredient.end_of_life = _('Fully used in {meal}'.format(
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user