added back markdown support to meal plannin notes

This commit is contained in:
vabene1111
2020-06-16 10:34:20 +02:00
parent 8177d9ba0f
commit fa2326949e
2 changed files with 24 additions and 7 deletions

View File

@ -2,6 +2,7 @@ from django.contrib.auth.models import User
from rest_framework import serializers
from cookbook.models import MealPlan, MealType, Recipe, ViewLog
from cookbook.templatetags.custom_tags import markdown
class UserNameSerializer(serializers.ModelSerializer):
@ -13,10 +14,14 @@ class UserNameSerializer(serializers.ModelSerializer):
class MealPlanSerializer(serializers.ModelSerializer):
recipe_name = serializers.ReadOnlyField(source='recipe.name')
meal_type_name = serializers.ReadOnlyField(source='meal_type.name')
note_markdown = serializers.SerializerMethodField('get_note_markdown')
def get_note_markdown(self, obj):
return markdown(obj.note)
class Meta:
model = MealPlan
fields = ('id', 'title', 'recipe', 'note', 'date', 'meal_type', 'created_by', 'shared', 'recipe_name', 'meal_type_name')
fields = ('id', 'title', 'recipe', 'note', 'note_markdown', 'date', 'meal_type', 'created_by', 'shared', 'recipe_name', 'meal_type_name')
class MealTypeSerializer(serializers.ModelSerializer):

View File

@ -177,7 +177,7 @@
data-target="#id_plan_types_modal">{% trans 'Edit plan types' %}</a> <br/>
<a href="#" data-toggle="modal"
data-target="#id_plan_help_modal">{% trans 'Show help' %}</a><br/>
<a v-bind:href="getIcalUrl()" >{% trans 'Week iCal export' %}</a>
<a v-bind:href="getIcalUrl()">{% trans 'Week iCal export' %}</a>
</div>
</div>
</div>
@ -211,7 +211,7 @@
<template v-if="plan_detail.note !== ''">
<small class="text-muted">{% trans 'Note' %}</small><br/>
[[ plan_detail.note ]]
<span v-html="plan_detail.note_markdown"></span>
<br/>
</template>
@ -393,7 +393,7 @@
this.$set(mte, 'delete', false)
}
}).catch((err) => {
console.log("getPlanTypes error: ",err);
console.log("getPlanTypes error: ", err);
})
},
buildGrid: function () {
@ -445,6 +445,18 @@
console.log("getRecipes error: ", err);
})
},
getMdNote: function () {
let url = "{% url 'api:recipe-list' %}?limit=5"
if (this.recipe_query !== '') {
url += '&query=' + this.recipe_query;
}
this.$http.get(url).then((response) => {
this.recipes = response.data;
}).catch((err) => {
console.log("getRecipes error: ", err);
})
},
updateUserNames: function () {
return this.$http.get("{% url 'api:username-list' %}?filter_list=[" + this.user_id_update + ']').then((response) => {
for (let u of response.data) {
@ -504,18 +516,18 @@
x.created_by = {{ request.user.id }}
promise_list.push(this.$http.post("{% url 'api:mealtype-list' %}", x).then((response) => {
}).catch((err) => {
console.log("updatePlanTypes create error: ",err);
console.log("updatePlanTypes create error: ", err);
}))
} else if (x.delete) {
promise_list.push(this.$http.delete(`{% url 'api:mealtype-list' %}${x.id}/`, x).then((response) => {
}).catch((err) => {
console.log("updatePlanTypes delete error: ",err);
console.log("updatePlanTypes delete error: ", err);
}))
} else {
promise_list.push(this.$http.put(`{% url 'api:mealtype-list' %}${x.id}/`, x).then((response) => {
}).catch((err) => {
console.log("updatePlanTypes update error: ",err);
console.log("updatePlanTypes update error: ", err);
}))
}
}