FEAT : Ajout du mécanisme READ, COMMENT et ADMIN pour les photos à partager

This commit is contained in:
2025-12-03 08:36:16 +01:00
parent 6a3569029d
commit 6c3ea128af
12 changed files with 127 additions and 74 deletions

View File

@@ -23,6 +23,7 @@
<!-- Infos -->
<ul>
<li><strong>Votre rôle :</strong><span th:text="${photo.proprietaire.email == currentUser ? 'Propriétaire' : (canAdmin ? 'Admin' : (canComment ? 'Commentateur' : 'Lecteur'))}"></span></li>
<li><strong>Nom original :</strong> <span th:text="${photo.nomFichierOriginal}"></span></li>
<li><strong>Date upload :</strong> <span th:text="${photo.dateUpload}"></span></li>
<li><strong>Visibilité :</strong> <span th:text="${photo.visibilite}"></span></li>
@@ -34,31 +35,35 @@
<ul>
<li th:each="p : ${partages}">
<span th:text="${p.utilisateur.email}"></span>
<span th:text="${p.permission}"></span>
<a th:href="@{'/photo/' + ${photo.id} + '/unshare/' + ${p.utilisateur.email}}"
style="color:red;">Retirer</a>
<span> - <b th:text="${p.permission}"></b></span>
<!-- ADMIN OU PROPRIÉTAIRE : peut retirer -->
<a th:if="${canAdmin}"
th:href="@{'/photo/' + ${photo.id} + '/unshare/' + ${p.utilisateur.email}}"
style="color:red; margin-left:10px;">Retirer</a>
</li>
</ul>
<h2>Partager la photo</h2>
<div th:if="${currentUser == photo.proprietaire.email}">
<!-- Formulaire dajout visible uniquement en ADMIN ou PROPRIÉTAIRE -->
<div th:if="${canAdmin}">
<h3>Partager la photo</h3>
<form th:action="@{'/photo/' + ${photo.id} + '/share'}" method="post">
<label>Email de l'utilisateur :</label>
<input type="email" name="email" required />
<label>Permission :</label>
<select name="permission">
<option value="READ">Lecture</option>
<option value="COMMENT">Commenter</option>
<option value="ADMIN">Administrer</option>
<option value="READ">Lecture seule</option>
<option value="COMMENT">Commentaire autorisé</option>
<option value="ADMIN">Administrateur</option>
</select>
<button type="submit">Partager</button>
</form>
</div>
<div th:if="${currentUser != photo.proprietaire.email}">
<em>Seul le propriétaire peut partager cette photo.</em>
<div th:if="${!canAdmin}">
<em>Vous navez pas les droits de gestion du partage.</em>
</div>
<!-- Commentaires -->
<h2>Commentaires</h2>
<div th:each="c : ${commentairesPage.content}">
@@ -76,17 +81,22 @@
</div>
<!-- Formulaire d'ajout de commentaire -->
<div th:if="${currentUser}">
<h3>Ajouter un commentaire</h3>
<form th:action="@{'/photo/' + ${photo.id} + '/comment'}" method="post">
<textarea name="contenu" rows="3" cols="50"></textarea><br/>
<button type="submit">Envoyer</button>
</form>
</div>
<!-- Si pas connecté -->
<div th:if="${currentUser == null}">
<p><a th:href="@{/login}">Connectez-vous</a> pour commenter.</p>
</div>
<!-- Si connecté mais pas autorisé -->
<div th:if="${currentUser != null and !canComment}">
<em>Vous pouvez consulter cette photo, mais pas commenter.</em>
</div>
<!-- Si COMMENT ou ADMIN ou PROPRIÉTAIRE -->
<div th:if="${canComment}">
<h3>Ajouter un commentaire</h3>
<form th:action="@{'/photo/' + ${photo.id} + '/comment'}" method="post">
<textarea name="contenu" rows="3" cols="50" required></textarea><br/>
<button type="submit">Envoyer</button>
</form>
</div>
<p>
<a th:href="@{'/photo/' + ${photo.id} + '/raw'}" target="_blank">Voir en grande taille</a>