Compare commits
3 commits
b2244e6deb
...
3d2f97b50f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3d2f97b50f | ||
|
|
ebd397f351 | ||
|
|
a78be3378b |
|
|
@ -2,10 +2,8 @@
|
|||
{% block title %}{{ recipe.title }}{% endblock %}
|
||||
{% block main %}
|
||||
<h1>{{ recipe.title }}</h1>
|
||||
{% if perms.recipes.add_recipe %}
|
||||
<p><a href="{% url 'edit-recipe' recipe.slug %}">Edit recipe name</a></p>
|
||||
<p><a href="{% url 'add-version' recipe.slug %}">Add version</a></p>
|
||||
{% endif %}
|
||||
<ul>
|
||||
{% for v in versions %}
|
||||
<li><a href="{{ v.get_absolute_url }}">{{ v.label }}</a></li>
|
||||
|
|
|
|||
|
|
@ -2,14 +2,10 @@
|
|||
{% block title %}Recipes{% endblock %}
|
||||
{% block main %}
|
||||
<h1>Recipes</h1>
|
||||
{% if perms.recipes.add_recipe %}
|
||||
<p><a href="{% url 'add-recipe' %}">Add recipe</a></p>
|
||||
{% endif %}
|
||||
{% if perms.recipes.view_recipe %}
|
||||
<ul>
|
||||
{% for recipe in recipes %}
|
||||
<li><a href="{{ recipe.get_absolute_url }}">{{ recipe.title }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
<ul>
|
||||
{% for recipe in recipes %}
|
||||
<li><a href="{{ recipe.get_absolute_url }}">{{ recipe.title }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
||||
|
|
|
|||
|
|
@ -5,11 +5,9 @@
|
|||
{% if has_multiple_versions %}
|
||||
<p><a href="{{ recipe.get_absolute_url }}">Show all versions</a></p>
|
||||
{% endif %}
|
||||
{% if perms.recipes.add_recipe %}
|
||||
<p><a href="{% url 'edit-recipe' recipe.slug %}">Edit recipe name</a></p>
|
||||
<p><a href="{% url 'add-version' recipe.slug %}">Add version</a></p>
|
||||
<p><a href="{% url 'edit-version' recipe.slug version.slug %}">Edit Version</a></p>
|
||||
{% endif %}
|
||||
<ul>
|
||||
{% for i in ingredients %}
|
||||
<li>{{ i.text }}</li>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
from django.shortcuts import render, get_object_or_404
|
||||
from .models import Recipe, Version, Ingredient
|
||||
from .forms import RecipeForm, VersionForm, IngredientFormSet
|
||||
from django.contrib.auth.decorators import login_required, permission_required
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.urls import reverse
|
||||
from django.http.response import HttpResponseRedirect
|
||||
from django.conf import settings
|
||||
|
|
@ -10,13 +10,11 @@ def get_name_of_user(user):
|
|||
return user.first_name if user.first_name else user.username
|
||||
|
||||
@login_required
|
||||
@permission_required('recipes.view_recipe')
|
||||
def recipes(request):
|
||||
recipes = Recipe.objects.all()
|
||||
return render(request, 'recipes.html', context={'recipes': recipes})
|
||||
|
||||
@login_required
|
||||
@permission_required('recipes.view_recipe')
|
||||
def version(request, slug_recipe, slug_version):
|
||||
recipe = get_object_or_404(Recipe, slug=slug_recipe)
|
||||
has_multiple_versions = recipe.versions.all().count() > 1 # type: ignore
|
||||
|
|
@ -26,7 +24,6 @@ def version(request, slug_recipe, slug_version):
|
|||
return render(request, 'version.html', context={'recipe': recipe, 'has_multiple_versions': has_multiple_versions, 'version': version, 'ingredients': ingredients})
|
||||
|
||||
@login_required
|
||||
@permission_required('recipes.view_recipe')
|
||||
def recipe(request, slug):
|
||||
recipe = get_object_or_404(Recipe, slug=slug)
|
||||
versions = recipe.versions.all() # type: ignore
|
||||
|
|
@ -69,7 +66,7 @@ def add_recipe(request):
|
|||
ingredients_formset = IngredientFormSet(queryset=Ingredient.objects.none(), prefix=INGREDIENTS_FORMSET_PREFIX)
|
||||
|
||||
return render(request, 'add-recipe.html', {'recipe_form': recipe_form, 'version_form': version_form, 'ingredients_formset': ingredients_formset})
|
||||
# TODO refactor Recipe.objects.get ... with get_object_or_404
|
||||
|
||||
@login_required
|
||||
def edit_recipe(request, slug):
|
||||
recipe = get_object_or_404(Recipe, slug=slug)
|
||||
|
|
@ -86,9 +83,8 @@ def edit_recipe(request, slug):
|
|||
return render(request, 'edit-recipe.html', {'form': form})
|
||||
|
||||
@login_required
|
||||
@permission_required('recipes.add_recipe')
|
||||
def add_version(request, slug):
|
||||
recipe = Recipe.objects.get(slug=slug)
|
||||
recipe = get_object_or_404(Recipe, slug=slug)
|
||||
if (recipe.versions.all().count() > 0): # type: ignore
|
||||
version_initial = {'label': '', 'slug': ''}
|
||||
else:
|
||||
|
|
@ -118,12 +114,11 @@ def add_version(request, slug):
|
|||
return render(request, 'add-version.html', {'version_form': version_form, 'ingredients_formset': ingredients_formset})
|
||||
|
||||
@login_required
|
||||
@permission_required('recipes.add_recipe')
|
||||
def edit_version(request, slug_recipe, slug_version):
|
||||
recipe = get_object_or_404(Recipe, slug=slug_recipe)
|
||||
version = get_object_or_404(Version, recipe=recipe, slug=slug_version)
|
||||
|
||||
if request.method == 'POST': # TODO refactor with add_version
|
||||
if request.method == 'POST':
|
||||
version_form = VersionForm(request.POST, prefix=VERSION_FORM_PREFIX, instance=version, author_placeholder=get_name_of_user(request.user))
|
||||
ingredients_formset = IngredientFormSet(request.POST, queryset=version.ingredients.all(), prefix=INGREDIENTS_FORMSET_PREFIX) # type: ignore
|
||||
version_form.recipe_id = recipe.id # type: ignore
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
{% endif %}
|
||||
</ul>
|
||||
<ul>
|
||||
{% if perms.recipes %}<li><a href="{% url 'recipes' %}">Recipes</a></li>{% endif %}
|
||||
<li><a href="{% url 'recipes' %}">Recipes</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<main>
|
||||
|
|
|
|||
|
|
@ -3,8 +3,6 @@
|
|||
{% block main %}
|
||||
<h1>Barn</h1>
|
||||
<ul>
|
||||
{% if perms.recipes %}
|
||||
<li><h2><a href="{% url 'recipes' %}">Recipes</a></h2></li>
|
||||
{% endif %}
|
||||
<li><h2><a href="{% url 'recipes' %}">Recipes</a></h2></li>
|
||||
</ul>
|
||||
{% endblock %}
|
||||
|
|
|
|||
Loading…
Reference in a new issue