Skip to content
Snippets Groups Projects
Commit 07eb9611 authored by Camille Simiand's avatar Camille Simiand
Browse files

Add edit video url page, form and method

parent 66701452
No related branches found
No related tags found
1 merge request!48tuleap-133-change-the-video-url-of-a-capsule
...@@ -3,12 +3,17 @@ ...@@ -3,12 +3,17 @@
namespace App\Controller; namespace App\Controller;
use App\Entity\Capsule; use App\Entity\Capsule;
use App\Entity\PendingEditorInvitation;
use App\Exception\ZipArchiveNotOpeningException; use App\Exception\ZipArchiveNotOpeningException;
use App\Form\EditVideoUrlFormType;
use App\Form\RemoveEditorFormType;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Bundle\FrameworkBundle\Translation\Translator;
use Symfony\Component\Config\Util\Exception\XmlParsingException; use Symfony\Component\Config\Util\Exception\XmlParsingException;
use Symfony\Component\Filesystem\Exception\FileNotFoundException; use Symfony\Component\Filesystem\Exception\FileNotFoundException;
use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Filesystem\Filesystem;
use Symfony\Component\HttpFoundation\File\Exception\FileException; use Symfony\Component\HttpFoundation\File\Exception\FileException;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
use Symfony\Contracts\Translation\TranslatorInterface; use Symfony\Contracts\Translation\TranslatorInterface;
...@@ -162,4 +167,31 @@ class ProjectController extends AbstractController ...@@ -162,4 +167,31 @@ class ProjectController extends AbstractController
['override' => true] ['override' => true]
); );
} }
/**
* @Route("/capsule/{capsule_id}/edit_video_url", name="edit_video_url")
*/
public function editVideoUrl(int $capsule_id, Request $request, TranslatorInterface $translator): Response
{
$form = $this->createForm(EditVideoUrlFormType::class);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$this->addFlash(
'success',
$translator->trans(
'editors.remove.pending_editor.success'
)
);
return $this->redirectToRoute('capsule_list', [
'capsule_id' => $capsule_id
]);
}
return $this->render('project/edit_video_url.html.twig', [
'editVideoUrlForm' => $form->createView(),
// 'capsule_id' => $capsule_id
]);
}
} }
<?php
namespace App\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\UrlType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\NotBlank;
class EditVideoUrlFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add(
'video_url',
UrlType::class,
[
'constraints' => [new NotBlank(['message' => 'capsule.video_url.not_blank'])],
'label' => 'capsule.edit.video_url.text',
'empty_data' => ''
]
)
->add(
'save',
SubmitType::class,
['label' => 'general.save']
);
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([]);
}
}
...@@ -9,7 +9,9 @@ ...@@ -9,7 +9,9 @@
<div> <div>
<div class="row w-100 gx-0"> <div class="row w-100 gx-0">
<div class="row-title-box"> <div class="row-title-box">
<h3 class="row-title">Create a capsule</h3> <h3 class="row-title">
{{ 'capsule.create_capsule'|trans }}
</h3>
</div> </div>
</div> </div>
......
{% extends 'layout.html.twig' %}
{% block title %}
{{ 'capsule.edit.video_url.title'|trans }}
{% endblock %}
{% block body %}
<div>
<div class="row w-100 gx-0">
<div class="row-title-box">
<h3 class="row-title">
{{ 'capsule.edit.video_url.title'|trans }}
</h3>
</div>
</div>
{{ form_start(editVideoUrlForm, {'attr': {novalidate: 'novalidate', 'class': 'd-flex flex-column justify-content-center'}}) }}
{{ form_row(editVideoUrlForm.video_url, {'row_attr': {'class' : 'm-auto mb-4 col-6'}}) }}
{{ form_row(editVideoUrlForm.save, {'row_attr': {'class' : 'm-auto mb-5 col-2'}}) }}
{{ form_end(editVideoUrlForm) }}
</div>
{% endblock %}
\ No newline at end of file
...@@ -8,6 +8,7 @@ general: ...@@ -8,6 +8,7 @@ general:
link_expire: This link will expire in %expirationDuration% link_expire: This link will expire in %expirationDuration%
greeting: Cheers! greeting: Cheers!
validate: Validate validate: Validate
save: Save
login: login:
account_disabled_feedback: Your user account is disabled. Please click on the link your receive by email to validate your registration. account_disabled_feedback: Your user account is disabled. Please click on the link your receive by email to validate your registration.
...@@ -72,6 +73,8 @@ capsule: ...@@ -72,6 +73,8 @@ capsule:
not_found: The capsule was not found not_found: The capsule was not found
video_url: video_url:
link: Edit video URL link: Edit video URL
text: Enter a new video URL from Youtube or Vimeo
title: Edit video URL
duplicate: duplicate:
link: Duplicate capsule link: Duplicate capsule
title: Duplicate capsule title: Duplicate capsule
......
...@@ -8,6 +8,7 @@ general: ...@@ -8,6 +8,7 @@ general:
go_back_to_home_page: Page d'accueil go_back_to_home_page: Page d'accueil
cancel_button: Annuler cancel_button: Annuler
validate: Valider validate: Valider
save: Enregistrer
login: login:
account_disabled_feedback: Le compte utilisateur a été désactivé. Veuillez cliquer sur le lien pour recevoir un courriel de validation account_disabled_feedback: Le compte utilisateur a été désactivé. Veuillez cliquer sur le lien pour recevoir un courriel de validation
...@@ -69,6 +70,8 @@ capsule: ...@@ -69,6 +70,8 @@ capsule:
not_found: La capsule n'existe pas not_found: La capsule n'existe pas
video_url: video_url:
link: Modifier l'URL de la vidéo link: Modifier l'URL de la vidéo
text: Saisir l'URL de la nouvelle vidéo Youtube ou Vimeo
title: Modifier l'URL de la vidéo
duplicate: duplicate:
link: Dupliquer la capsule link: Dupliquer la capsule
title: Dupliquer la capsule title: Dupliquer la capsule
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment