From d76fdd090a26f383a97947b2f3f3c4ff75e494bc Mon Sep 17 00:00:00 2001 From: Kaibu Date: Thu, 25 Nov 2021 01:28:07 +0100 Subject: [PATCH] meal plan hotkeys and sharing --- cookbook/serializer.py | 1 + vue/src/apps/MealPlanView/MealPlanView.vue | 12 ++++-- vue/src/components/GenericMultiselect.vue | 2 + vue/src/components/MealPlanEditModal.vue | 43 ++++++++++++++++++++-- 4 files changed, 52 insertions(+), 6 deletions(-) diff --git a/cookbook/serializer.py b/cookbook/serializer.py index 115b5e96..7ed8cc49 100644 --- a/cookbook/serializer.py +++ b/cookbook/serializer.py @@ -620,6 +620,7 @@ class MealPlanSerializer(SpacedModelSerializer, WritableNestedModelSerializer): meal_type_name = serializers.ReadOnlyField(source='meal_type.name') # TODO deprecate once old meal plan was removed note_markdown = serializers.SerializerMethodField('get_note_markdown') servings = CustomDecimalField() + shared = UserNameSerializer(many=True) def get_note_markdown(self, obj): return markdown(obj.note) diff --git a/vue/src/apps/MealPlanView/MealPlanView.vue b/vue/src/apps/MealPlanView/MealPlanView.vue index ea564c0f..77366783 100644 --- a/vue/src/apps/MealPlanView/MealPlanView.vue +++ b/vue/src/apps/MealPlanView/MealPlanView.vue @@ -513,11 +513,17 @@ export default { return entry.id === id })[0] }, - moveEntry(null_object, target_date) { + moveEntry(null_object, target_date, drag_event) { this.plan_entries.forEach((entry) => { if (entry.id === this.dragged_item.id) { - entry.date = target_date - this.saveEntry(entry) + if (drag_event.ctrlKey) { + let new_entry = Object.assign({}, entry) + new_entry.date = target_date + this.createEntry(new_entry) + } else { + entry.date = target_date + this.saveEntry(entry) + } } }) }, diff --git a/vue/src/components/GenericMultiselect.vue b/vue/src/components/GenericMultiselect.vue index 6f0db11f..c1d3ece7 100644 --- a/vue/src/components/GenericMultiselect.vue +++ b/vue/src/components/GenericMultiselect.vue @@ -116,6 +116,8 @@ export default { } + + diff --git a/vue/src/components/MealPlanEditModal.vue b/vue/src/components/MealPlanEditModal.vue index 08f94f9e..2ef8153e 100644 --- a/vue/src/components/MealPlanEditModal.vue +++ b/vue/src/components/MealPlanEditModal.vue @@ -1,5 +1,5 @@