create review from scratch and answer works

This commit is contained in:
2025-05-02 09:35:02 +02:00
parent 83c75e95f3
commit aceb42c2e6
34 changed files with 464 additions and 95 deletions

View File

@@ -1,12 +1,23 @@
{% extends 'base.html' %}
{% block nav %}
<nav>
<a href="{% url 'flux' %}">Flux</a>
<a href="{% url 'posts' %}">Posts</a>
<a href="{% url 'subscribed' %}">Abonnements</a>
<a href="{% url 'logout' %}">Se déconnecter</a>
</nav>
{% endblock %}
{% block content %}
<h2> Flux </h2>
{% endblock %}
<div class="container">
<div class="row">
<div class="d-flex justify-content-center mt-5">
<h2> FLux </h2>
</div>
</div>
<div class="row">
{% for ticket in tickets %}
{% include 'reviews/ticket_detail.html' %}
<div class="col-3 align-self-end">
<a href="{% url 'review-ticket' ticket.id %}" type="button" class="btn btn-primary">Créer une critique</a>
</div>
</div>
{% endfor %}
</div>
</div>
{% endblock %}

View File

@@ -16,8 +16,16 @@
</div>
</div>
<div class="row">
{% for ticket in tickets %}
{% include 'reviews/ticket_detail.html' %}
{% for ticket in tickets %}
{% include 'reviews/ticket_detail.html' %}
<div class="col-6 d-flex justify-content-end mb-2">
{% if ticket.review is not True %}
<div class="col-4 align-self-end">
<a href="{% url 'review-ticket' ticket.id %}" type="button" class="btn btn-primary">Créer une critique</a>
</div>
{% endif %}
</div>
</div>
{% endfor %}
</div>

View File

@@ -1,12 +1,46 @@
{% extends 'base.html' %}
{% block nav %}
<nav>
<a href="{% url 'flux' %}">Flux</a>
<a href="{% url 'posts' %}">Posts</a>
<a href="{% url 'subscribed' %}">Abonnements</a>
<a href="{% url 'logout' %}">Se déconnecter</a>
</nav>
{% endblock %}
{% block content %}
<h2> Posts </h2>
<div class="container">
<div class="row">
<div class="d-flex justify-content-center mt-5">
<h2> Posts </h2>
</div>
</div>
<div class="row d-flex justify-content-center mt-4 mb-3">
{% for ticket in tickets %}
{% include 'reviews/ticket_detail.html' %}
<div class="col-4 d-flex justify-content-end mb-2">
{% if perms.reviews.change_ticket %}
<div class="col-3 align-self-end">
<a href="{% url 'ticket-update' ticket.id %}" type="button" class="btn btn-primary">Modifier</a>
</div>
<div class="col-3 align-self-end">
<a href="{% url 'ticket-delete' ticket.id %}" type="button" class="btn btn-danger">Supprimer</a>
</div>
</div>
{% endif %}
</div>
{% endfor %}
{% for review in reviews %}
{% include 'reviews/review_detail.html' %}
<div class="col d-flex justify-content-end mb-2">
{% if perms.reviews.change_ticket %}
<div class="d-flex align-self-end m-2">
<a href="{% url 'review-update' review.id %}" type="button" class="btn btn-primary">Modifier</a>
</div>
<div class="d-flex align-self-end m-2">
<a href="{% url 'review-delete' review.id %}" type="button" class="btn btn-danger">Supprimer</a>
</div>
</div>
{% endif %}
</div>
{% endfor %}
</div>
</div>
{% endblock %}

View File

@@ -0,0 +1,7 @@
{% extends 'base.html' %}
{% block content %}
{% include 'reviews/review_detail.html' %}
{% endblock %}

View File

@@ -3,20 +3,28 @@
{% block content %}
<div class="container">
<div class="row">
<div class="row mt-3">
<div class="col d-flex justify-content-center">
<h2>Créer une critique</h2>
</div>
</div>
<div class="row border border-3 border-secondary-subtle">
<div class="row border border-3 border-secondary-subtle mb-3 justify-content-center">
<h3> Livre/Article </h3>
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<label for="title">Titre</label>
<div class="d-flex flex-grow-1 mb-4"> </div>
<div class="col-4 mb-2">
<form method="post" enctype="multipart/form-data">
{% include 'reviews/ticket_form.html' %}
{% csrf_token %}
</div>
</div>
<div class="row border border-3 border-secondary-subtle">
<div class="row border border-3 border-secondary-subtle justify-content-center">
<h3>Critique</h3>
<div class="col-4 mb-2">
{% include 'reviews/review_form.html' %}
<div class="d-flex justify-content-end">
<button type="submit" class="btn btn-primary"> Envoyer </button>
</div>
</form>
</div>
</div>
</div>

View File

@@ -0,0 +1,16 @@
{% extends 'base.html' %}
{% block content %}
<div class="container text-center" style="height: 100vh">
<div class="row h-100 align-items-center">
<form method="post">
{% csrf_token %}
<p> Êtes vous sûr de vouloir supprimer cette critique ? </p>
<button type="submit" class="btn btn-warning">Supprimer</button>
</form>
</div>
</div>
{% endblock %}

View File

@@ -0,0 +1,18 @@
<div class="row border border-2 border-secondary-subtle my-3">
<div class="col-8 mb-4">
{% if request.user == review.user %}
vous avez publié une critique
{% else %}
{{ review.user }} a publié une critique
{% endif %}
</div>
<div class="col-4 d-flex justify-content-end">
{{ review.time_created }}
</div>
<span style="font-size: 22px">{{ review.headline }} - {{ review.rating }} ★ </span>
<p> {{ review.comment }} </p>
<div class="d-flex justify-content-center border border-3 mb-3">
{% include 'reviews/ticket_detail.html' with ticket=review.ticket %}
</div>
</div>

View File

@@ -1,13 +1,11 @@
<form method='post' enctype='multipart/form-data'>
{% csrf_token %}
<label for='headline'> Titre: </label>
<div class="d-flex justify-content-center mb-4">{{ review_form.headline }}</div>
<label for='rating'>Note: </label>
<div class="d-flex justify-content-center mb-4">{{ review_form.rating }}</div>
<label for='body'>Description: </label>
<div class="d-flex justify-content-center mb-4">{{ review_form.body }}</div>
<div class="d-flex justify-content-end">
<button type='submit' class='btn btn-primary ml-auto'> Envoyer</button>
</div>
</form>
<label for='headline'>Titre:</label></br>
<div class="d-flex justify-content-center mb-4">{{ review_form.headline }}</div>
<label for='rating'>Note: </label>
<div class=" d-flex justify-content-around mb-4">
{% for choice in review_form.rating %}
<span>{{ choice }}</span>
{% endfor %}
</div>
<label for="comment">Commentaire: </label>
<div class="d-flex justify-content-center mb-4">{{ review_form.comment }}</div>

View File

@@ -0,0 +1,10 @@
<form method='post' enctype='multipart/form-data'>
{% csrf_token %}
{{ review_form.headline }}
{% for radio in review_form.rating %}
<div class="radio">
{{ radio }}
</div>
{% endfor %}
</form>

View File

@@ -0,0 +1,33 @@
{% extends 'base.html' %}
{% block content %}
<div class="container">
<div class="row mt-3">
<div class="col d-flex justify-content-center">
<h2>Créer une critique</h2>
</div>
</div>
<div class="row border border-3 border-secondary-subtle">
<p>Vous êtes en train de répondre à </p>
<div class="col d-flex justify-content-center mb-2">
{% include 'reviews/ticket_detail.html' %}</div>
</div>
</div>
<div class="row border border-3 border-secondary-subtle">
<h3>Critique</h3>
<div class="d-flex justify-content-center mb-2">
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{% include 'reviews/review_form.html' %}
<div class="d-flex justify-content-end">
<button type="submit" class="btn btn-primary"> Envoyer </button>
</div>
<form>
</div>
</div>
</div>
{% endblock %}

View File

@@ -0,0 +1,42 @@
{% extends 'base.html' %}
{% block content %}
<div class="container">
<div class="row mt-4">
<div class="d-flex justify-content-center">
<h2>Modifier votre critique</h2>
</div>
</div>
<div class="row border border-3">
<div class="col-8">
<p>Vous êtes en train de poster en réponse à</p>
</div>
<div class="d-flex justify-content-center">
{% include 'reviews/ticket_detail.html' with ticket=review.ticket %}
</div>
</div>
</div>
<div class="row border border-3 p-2">
<div class="col-3">
<p>Critique</p>
</div>
<div class="d-flex justify-content-center">
<div class="col-4 mb-2">
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{% include 'reviews/review_form.html' %}
<div class="d-flex justify-content-end">
<button type="submit" class="btn btn-primary"> Envoyer </button>
</div>
</form>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@@ -7,9 +7,17 @@
<div class="col-md-auto form-group mt-5">
<h2> Créer un ticket </h2>
</div>
<div class="d-flex justify-content-center border border-3 border-secondary-subtle mt-5">
<div class="col-4 mt-5">
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ ticket_form.as_p }}
<div class="d-flex justify-content-end mb-4">
<button type="submit" class="btn btn-primary"> Envoyer </button>
</div>
</form>
</div>
</div>
<div class="d-flex justify-content-center mt-5">
{% include 'reviews/ticket_form.html' %}
</div>
</div>

View File

@@ -1,28 +1,17 @@
<div class="row border border-2 border-secondary-subtle my-3">
<div class="col-8">
<div class="col-8 mb-4">
{% if request.user == ticket.user %}
vous avez demandé une critique
<strong>vous</strong> avez demandé une critique
{% else %}
{{ ticket.user }} a demandé une critique
<strong>{{ ticket.user }}</strong> a demandé une critique
{% endif %}
</div>
<div class="col-4 d-flex justify-content-end">
{{ ticket.time_created }}
</div>
<p> {{ ticket.title }} </p>
<p> {{ ticket.body }} </p>
<p><strong> {{ ticket.title }} </strong></p>
<p> {{ ticket.desc }} </p>
<div class="col-3 mb-2">
<img src="{{ ticket.image.url }}" class="img" style="width: 200px; height: auto" alt="Couverture de {{ ticket.title }}">
</div>
<div class="col-4 d-flex justify-content-end mb-2">
{% if request.user == ticket.user %}
<div class="col-3 align-self-end">
<a href="{% url 'ticket-update' ticket.id %}" type="button" class="btn btn-primary">Modifier</a>
</div>
<div class="col-3 align-self-end">
<a href="{% url 'ticket-delete' ticket.id %}" type="button" class="btn btn-danger">Supprimer</a>
</div>
{% endif %}
</div>
</div>

View File

@@ -0,0 +1,28 @@
<div class="row border border-2 border-secondary-subtle my-3">
<div class="col-8">
{% if request.user == ticket.user %}
vous avez demandé une critique
{% else %}
{{ ticket.user }} a demandé une critique
{% endif %}
</div>
<div class="col-4 d-flex justify-content-end">
{{ ticket.time_created }}
</div>
<p> {{ ticket.title }} </p>
<p> {{ ticket.body }} </p>
<div class="col-3 mb-2">
<img src="{{ ticket.image.url }}" class="img" style="width: 200px; height: auto" alt="Couverture de {{ ticket.title }}">
</div>
<div class="col-4 d-flex justify-content-end mb-2">
{% if request.user == ticket.user %}
<div class="col-3 align-self-end">
<a href="{% url 'ticket-update' ticket.id %}" type="button" class="btn btn-primary">Modifier</a>
</div>
<div class="col-3 align-self-end">
<a href="{% url 'ticket-delete' ticket.id %}" type="button" class="btn btn-danger">Supprimer</a>
</div>
{% endif %}
</div>
</div>

View File

@@ -1,13 +1,6 @@
<form method='post' enctype='multipart/form-data'>
{% csrf_token %}
<label for='title'> Titre: </label>
<div class="d-flex justify-content-center mb-4">{{ ticket_form.title }}</div>
<label for='body'>Description: </label>
<div class="d-flex justify-content-center mb-4">{{ ticket_form.body }}</div>
<label for='image'>Image: </label>
<div class="d-flex justify-content-center mb-4">{{ ticket_form.image }}</div>
<div class="d-flex justify-content-end">
<button type='submit' class='btn btn-primary ml-auto'> Envoyer</button>
</div>
</form>
<label for='title'> Titre: </label>
<div class="d-flex justify-content-center mb-4">{{ ticket_form.title }}</div>
<label for='desc'>Description: </label>
<div class="d-flex justify-content-center mb-4">{{ ticket_form.desc }}</div>
<label for='image'>Image: </label>
<div class="d-flex justify-content-center mb-4">{{ ticket_form.image }}</div>