diff --git a/src/Controller/CapsuleController.php b/src/Controller/CapsuleController.php index 2a7357f09f4d110362af5f315b266d0a29cdab18..039087a3d5f81f33da31b630c650cd968b005a61 100644 --- a/src/Controller/CapsuleController.php +++ b/src/Controller/CapsuleController.php @@ -116,9 +116,15 @@ class CapsuleController extends AbstractController return $this->redirectToRoute('app_logout'); } - $capsule = $capsuleRepository->findOneBy(['link_path' => $path, 'creation_author' => $current_user]); + $capsule = $capsuleRepository->findOneBy(['link_path' => $path]); + if (null === $capsule) { - $this->addFlash('warning', $translator->trans('capsule.edition_not_allowed')); + $this->addFlash('warning', $translator->trans('capsule.edit.not_found')); + return $this->redirectToRoute('capsule_list'); + } + + if (! $capsule->getEditors()->contains($current_user)) { + $this->addFlash('warning', $translator->trans('capsule.edit.not_allowed')); return $this->redirectToRoute('capsule_list'); } diff --git a/translations/messages.en.yaml b/translations/messages.en.yaml index 328bafbdfce7185e51848ee6f5784ae114121fc5..7e70101b17d492bd2f9a35ec93529ef8a64f811c 100644 --- a/translations/messages.en.yaml +++ b/translations/messages.en.yaml @@ -62,13 +62,14 @@ capsule: video_url: Youtube or Vimeo video URL created_success: Capsule capsule_name was created successfully no_edition_access: No edition access - edition_not_allowed: You are not allowed to edit this capsule contact_capsule_author_for_access: Please contact the author to gain access the edition mode not_found: The project doesn't exist edit_permissions: link: Edit permissions edit: link: Edit capsule + not_allowed: You are not allowed to edit this capsule + not_found: The capsule was not found duplicate: link: Duplicate capsule title: Duplicate capsule diff --git a/translations/messages.fr.yaml b/translations/messages.fr.yaml index 9c27b16cfb93fbfb822f503a0b4bee8ee7e7924b..3745a308579bd51b55da0808b7aa80e92e1c7468 100644 --- a/translations/messages.fr.yaml +++ b/translations/messages.fr.yaml @@ -60,12 +60,13 @@ capsule: video_url: URL de la video Youtube ou Vimeo created_success: La capsule capsule_name a été créée no_edition_access: Pas d'accès au mode édition - edition_not_allowed: Vous n'êtes pas autorisé a modifier cette capsule contact_capsule_author_for_access: Veuillez contacter l'auteur de la capsule pour lui demander son accès en mode édition edit_permissions: link: Modifier les permissions edit: link: Modifier la capsule + not_allowed: Vous n'êtes pas autorisé a modifier cette capsule + not_found: La capsule n'existe pas duplicate: link: Dupliquer la capsule title: Dupliquer la capsule