wip shopping list stuff

This commit is contained in:
vabene1111 2021-01-25 18:21:55 +01:00
parent a16ad2c887
commit c7dd5dd8bb
2 changed files with 13 additions and 3 deletions

View File

@ -140,14 +140,24 @@ class UnitSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
read_only_fields = ('id',)
class SupermarketCategorySerializer(serializers.ModelSerializer):
class SupermarketCategorySerializer(UniqueFieldsMixin, serializers.ModelSerializer):
def create(self, validated_data):
# since multi select tags dont have id's
# duplicate names might be routed to create
obj, created = SupermarketCategory.objects.get_or_create(**validated_data)
return obj
def update(self, instance, validated_data):
return super(SupermarketCategorySerializer, self).update(instance, validated_data)
class Meta:
model = SupermarketCategory
fields = ('id', 'name')
class FoodSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
supermarket_category = SupermarketCategorySerializer()
supermarket_category = SupermarketCategorySerializer(read_only=True)
def create(self, validated_data):
# since multi select tags dont have id's

View File

@ -361,7 +361,7 @@
this.shopping_list.entries.forEach(element => {
let item = {}
Object.assign(item, element);
if (entries.filter(item => item.food.id === element.food.id).length > 0) {
if (entries.filter(item => (item.food.id === element.food.id) && (item.unit.id === element.unit.id)).length > 0) {
let entry = entries.filter(item => item.food.id === element.food.id)[0]
entry.amount += item.amount * this.servings_cache[item.list_recipe]
entry.entries.push(item.id)