mirror of
https://github.com/TandoorRecipes/recipes.git
synced 2026-01-01 12:18:45 -05:00
224 lines
8.4 KiB
HTML
224 lines
8.4 KiB
HTML
{% extends "base.html" %}
|
|
{% load crispy_forms_tags %}
|
|
{% load i18n %}
|
|
{% load l10n %}
|
|
{% load custom_tags %}
|
|
|
|
{% block title %}{% trans 'View' %}{% endblock %}
|
|
|
|
{% block extra_head %}
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/pretty-checkbox@3.0/dist/pretty-checkbox.min.css"
|
|
integrity="sha384-ICB8i/maQ/5+tGLDUEcswB7Ch+OO9Oj8Z4Ov/Gs0gxqfTgLLkD3F43MhcEJ2x6/D" crossorigin="anonymous">
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="row">
|
|
<div class="col col-md-9">
|
|
<h3>{{ recipe.name }} <a href="{% url 'edit_recipe' recipe.pk %}" class="d-print-none"><i class="fas fa-pencil-alt"></i></a></h3>
|
|
</div>
|
|
<div class="col col-md-3 d-print-none" style="text-align: right">
|
|
<button class="btn btn-success" onclick="$('#bookmarkModal').modal({'show':true})"><i
|
|
class="fas fa-bookmark"></i></button>
|
|
</div>
|
|
</div>
|
|
|
|
{% if recipe.storage %}
|
|
<small>{% trans 'in' %} <a
|
|
href="{% url 'edit_storage' recipe.storage.pk %}">{{ recipe.storage.name }}</a></small><br/>
|
|
{% endif %}
|
|
|
|
{% if recipe.internal %}
|
|
<small>{% trans 'by' %} {{ recipe.created_by.username }}<br/></small>
|
|
<br/>
|
|
{% endif %}
|
|
|
|
{% if recipe.all_tags %}
|
|
{{ recipe.all_tags }}
|
|
<br/>
|
|
<br/>
|
|
{% endif %}
|
|
|
|
{% if recipe.working_time and recipe.working_time != 0 %}
|
|
<span class="badge badge-secondary">{% trans 'Preparation time ca.' %} {{ recipe.working_time }} min </span>
|
|
{% endif %}
|
|
|
|
{% if recipe.waiting_time and recipe.waiting_time != 0 %}
|
|
<span
|
|
class="badge badge-secondary">{% trans 'Waiting time ca.' %} {{ recipe.waiting_time }} min </span>
|
|
{% endif %}
|
|
|
|
{% if recipe.waiting_time and recipe.waiting_time != 0 or recipe.working_time and recipe.working_time != 0 %}
|
|
<br/>
|
|
<br/>
|
|
{% endif %}
|
|
|
|
<div class="row">
|
|
{% if ingredients %}
|
|
<div class="col-md-6 order-md-1 col-sm-12 order-sm-2 col-12 order-2">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col col-md-9">
|
|
<h4 class="card-title">{% trans 'Ingredients' %}</h4>
|
|
</div>
|
|
<div class="col col-md-3">
|
|
|
|
<div class="input-group d-print-none">
|
|
<input type="number" value="1" maxlength="3" class="form-control" id="in_factor"
|
|
onchange="reloadIngredients()"/>
|
|
<div class="input-group-append">
|
|
<span class="input-group-text"><i class="fas fa-calculator"></i></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<br/>
|
|
<table class="">
|
|
{% for i in ingredients %}
|
|
<tr>
|
|
<td style="font-size: large">
|
|
<div class="pretty p-default p-curve">
|
|
<input type="checkbox"/>
|
|
<div class="state p-success">
|
|
<label><span
|
|
id="ing_{{ i.pk }}">{{ i.amount.normalize }}</span> {{ i.unit }}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
|
|
</td>
|
|
<td style="font-size: large">{{ i.name }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</table>
|
|
<br/>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{% endif %}
|
|
{% if recipe.image %}
|
|
<div class="col-md-6 order-md-2 col-sm-12 order-sm-1 col-12 order-1 " style="text-align: center">
|
|
<img class="img img-fluid rounded" src="{{ recipe.image.url }}" style="max-height: 30vh;"
|
|
alt="{% trans 'Recipe Image' %}">
|
|
<br/>
|
|
<br/>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
{% if recipe.ingredients or recipe.image %}
|
|
<br/>
|
|
<br/>
|
|
{% endif %}
|
|
|
|
{% if recipe.instructions %}
|
|
{{ recipe.instructions | markdown | safe }}
|
|
{% endif %}
|
|
|
|
{% if recipe.storage %}
|
|
<a href='#' onClick='openRecipe({{ recipe.id }}, true)' class="d-print-none">{% trans 'View external recipe' %}
|
|
<i
|
|
class="fas fa-external-link-alt"></i></a>
|
|
{% endif %}
|
|
|
|
{% if not recipe.internal %}
|
|
<br/>
|
|
<br/>
|
|
<br/>
|
|
<div class="card border-info">
|
|
<div class="card-body text-info">
|
|
<h5 class="card-title">{% trans 'External recipe' %}</h5>
|
|
<p class="card-text">
|
|
{% blocktrans %}
|
|
This is an external recipe, which means you can only view it by opening the link above.
|
|
You can convert this recipe to a fancy recipe by pressing the convert button. The original file
|
|
will still be accessible.
|
|
{% endblocktrans %}.
|
|
<br/>
|
|
<br/>
|
|
<a href="{% url 'edit_convert_recipe' recipe.pk %}"
|
|
class="card-link btn btn-info">{% trans 'Convert now!' %}</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<br/>
|
|
<br/>
|
|
|
|
<h5>{% trans 'Comments' %}</h5>
|
|
<div class="d-print-none">
|
|
|
|
<form method="POST" class="post-form">
|
|
{% csrf_token %}
|
|
<div class="input-group mb-3">
|
|
<textarea name="comment-text" cols="15" rows="2" class="textarea form-control" required
|
|
id="comment-id_text"></textarea>
|
|
<div class="input-group-append">
|
|
<input type="submit" value="{% trans 'Comment' %}" class="btn btn-success">
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
{% for c in comments %}
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<small class="card-title">{{ c.updated_at }} {% trans 'by' %} {{ c.created_by.username }}</small> <a
|
|
href="{% url 'edit_comment' c.pk %}" class="d-print-none"><i class="fas fa-pencil-alt"></i></a><br/>
|
|
{{ c.text }}
|
|
</div>
|
|
</div>
|
|
<br/>
|
|
{% endfor %}
|
|
|
|
{% if recipe.storage %}
|
|
{% include 'include/recipe_open_modal.html' %}
|
|
{% endif %}
|
|
|
|
<!-- Bookmark Modal -->
|
|
<div class="modal fade" id="bookmarkModal" tabindex="-1" role="dialog" aria-labelledby="bookmarkModalLabel"
|
|
aria-hidden="true">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="bookmarkModalLabel">Modal title</h5>
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
</div>
|
|
<form method="POST" class="post-form">
|
|
<div class="modal-body">
|
|
|
|
{% csrf_token %}
|
|
{{ bookmark_form|crispy }}
|
|
|
|
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
|
<input type="submit" value="{% trans 'Save' %}" class="btn btn-success">
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
|
|
function reloadIngredients() {
|
|
factor = Number($('#in_factor').val());
|
|
ingredients = {
|
|
{% for i in ingredients %}
|
|
{{ i.pk }}: {{ i.amount|unlocalize }},
|
|
{% endfor %}
|
|
}
|
|
|
|
for (var key in ingredients) {
|
|
$('#ing_' + key).html(Math.round(ingredients[key] * factor))
|
|
}
|
|
}
|
|
|
|
</script>
|
|
{% endblock %} |