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
Branches
Tags
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