2019-08-27 00:03:30 +02:00
|
|
|
<?php
|
|
|
|
|
2024-02-19 01:30:12 +01:00
|
|
|
namespace Wallabag\Controller;
|
2019-08-27 00:03:30 +02:00
|
|
|
|
2022-12-19 10:37:22 +01:00
|
|
|
use Doctrine\ORM\EntityManagerInterface;
|
2024-03-20 23:48:18 +01:00
|
|
|
use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
|
2022-08-28 16:59:43 +02:00
|
|
|
use Symfony\Component\Form\Form;
|
2023-08-08 02:27:21 +01:00
|
|
|
use Symfony\Component\Form\FormInterface;
|
2022-08-28 16:59:43 +02:00
|
|
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
2019-08-27 00:03:30 +02:00
|
|
|
use Symfony\Component\HttpFoundation\Request;
|
2022-08-28 16:59:43 +02:00
|
|
|
use Symfony\Component\HttpFoundation\Response;
|
2019-08-27 00:03:30 +02:00
|
|
|
use Symfony\Component\Routing\Annotation\Route;
|
2022-12-19 10:37:22 +01:00
|
|
|
use Symfony\Contracts\Translation\TranslatorInterface;
|
2024-02-19 01:30:12 +01:00
|
|
|
use Wallabag\Entity\IgnoreOriginInstanceRule;
|
|
|
|
use Wallabag\Form\Type\IgnoreOriginInstanceRuleType;
|
|
|
|
use Wallabag\Repository\IgnoreOriginInstanceRuleRepository;
|
2019-08-27 00:03:30 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* IgnoreOriginInstanceRuleController controller.
|
|
|
|
*/
|
2022-12-19 13:23:56 +01:00
|
|
|
class IgnoreOriginInstanceRuleController extends AbstractController
|
2019-08-27 00:03:30 +02:00
|
|
|
{
|
2025-04-05 13:54:27 +02:00
|
|
|
public function __construct(
|
2025-04-05 13:59:36 +02:00
|
|
|
private readonly EntityManagerInterface $entityManager,
|
|
|
|
private readonly TranslatorInterface $translator,
|
2025-04-05 13:54:27 +02:00
|
|
|
) {
|
2022-12-19 10:37:22 +01:00
|
|
|
}
|
|
|
|
|
2019-08-27 00:03:30 +02:00
|
|
|
/**
|
|
|
|
* Lists all IgnoreOriginInstanceRule entities.
|
|
|
|
*/
|
2025-04-05 15:06:57 +02:00
|
|
|
#[Route(path: '/ignore-origin-instance-rules', name: 'ignore_origin_instance_rules_index', methods: ['GET'])]
|
2025-04-05 15:21:29 +02:00
|
|
|
#[IsGranted('LIST_IGNORE_ORIGIN_INSTANCE_RULES')]
|
2022-12-19 10:37:22 +01:00
|
|
|
public function indexAction(IgnoreOriginInstanceRuleRepository $repository)
|
2019-08-27 00:03:30 +02:00
|
|
|
{
|
2022-12-19 10:37:22 +01:00
|
|
|
$rules = $repository->findAll();
|
2019-08-27 00:03:30 +02:00
|
|
|
|
2024-02-19 00:03:14 +01:00
|
|
|
return $this->render('IgnoreOriginInstanceRule/index.html.twig', [
|
2019-08-27 00:03:30 +02:00
|
|
|
'rules' => $rules,
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Creates a new ignore origin instance rule entity.
|
|
|
|
*
|
2022-08-28 16:59:43 +02:00
|
|
|
* @return Response
|
2019-08-27 00:03:30 +02:00
|
|
|
*/
|
2025-04-05 15:06:57 +02:00
|
|
|
#[Route(path: '/ignore-origin-instance-rules/new', name: 'ignore_origin_instance_rules_new', methods: ['GET', 'POST'])]
|
2025-04-05 15:21:29 +02:00
|
|
|
#[IsGranted('CREATE_IGNORE_ORIGIN_INSTANCE_RULES')]
|
2019-08-27 00:03:30 +02:00
|
|
|
public function newAction(Request $request)
|
|
|
|
{
|
|
|
|
$ignoreOriginInstanceRule = new IgnoreOriginInstanceRule();
|
|
|
|
|
2022-09-01 20:54:56 +02:00
|
|
|
$form = $this->createForm(IgnoreOriginInstanceRuleType::class, $ignoreOriginInstanceRule);
|
2019-08-27 00:03:30 +02:00
|
|
|
$form->handleRequest($request);
|
|
|
|
|
|
|
|
if ($form->isSubmitted() && $form->isValid()) {
|
2022-12-19 10:37:22 +01:00
|
|
|
$this->entityManager->persist($ignoreOriginInstanceRule);
|
|
|
|
$this->entityManager->flush();
|
2019-08-27 00:03:30 +02:00
|
|
|
|
2022-12-19 10:37:22 +01:00
|
|
|
$this->addFlash(
|
2019-08-27 00:03:30 +02:00
|
|
|
'notice',
|
2022-12-19 10:37:22 +01:00
|
|
|
$this->translator->trans('flashes.ignore_origin_instance_rule.notice.added')
|
2019-08-27 00:03:30 +02:00
|
|
|
);
|
|
|
|
|
|
|
|
return $this->redirectToRoute('ignore_origin_instance_rules_index');
|
|
|
|
}
|
|
|
|
|
2024-02-19 00:03:14 +01:00
|
|
|
return $this->render('IgnoreOriginInstanceRule/new.html.twig', [
|
2019-08-27 00:03:30 +02:00
|
|
|
'rule' => $ignoreOriginInstanceRule,
|
|
|
|
'form' => $form->createView(),
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Displays a form to edit an existing ignore origin instance rule entity.
|
|
|
|
*
|
2022-08-28 16:59:43 +02:00
|
|
|
* @return Response
|
2019-08-27 00:03:30 +02:00
|
|
|
*/
|
2025-04-05 15:06:57 +02:00
|
|
|
#[Route(path: '/ignore-origin-instance-rules/{id}/edit', name: 'ignore_origin_instance_rules_edit', methods: ['GET', 'POST'])]
|
2025-04-05 15:21:29 +02:00
|
|
|
#[IsGranted('EDIT', subject: 'ignoreOriginInstanceRule')]
|
2019-08-27 00:03:30 +02:00
|
|
|
public function editAction(Request $request, IgnoreOriginInstanceRule $ignoreOriginInstanceRule)
|
|
|
|
{
|
|
|
|
$deleteForm = $this->createDeleteForm($ignoreOriginInstanceRule);
|
2022-09-01 20:54:56 +02:00
|
|
|
$editForm = $this->createForm(IgnoreOriginInstanceRuleType::class, $ignoreOriginInstanceRule);
|
2019-08-27 00:03:30 +02:00
|
|
|
$editForm->handleRequest($request);
|
|
|
|
|
|
|
|
if ($editForm->isSubmitted() && $editForm->isValid()) {
|
2022-12-19 10:37:22 +01:00
|
|
|
$this->entityManager->persist($ignoreOriginInstanceRule);
|
|
|
|
$this->entityManager->flush();
|
2019-08-27 00:03:30 +02:00
|
|
|
|
2022-12-19 10:37:22 +01:00
|
|
|
$this->addFlash(
|
2019-08-27 00:03:30 +02:00
|
|
|
'notice',
|
2022-12-19 10:37:22 +01:00
|
|
|
$this->translator->trans('flashes.ignore_origin_instance_rule.notice.updated')
|
2019-08-27 00:03:30 +02:00
|
|
|
);
|
|
|
|
|
|
|
|
return $this->redirectToRoute('ignore_origin_instance_rules_index');
|
|
|
|
}
|
|
|
|
|
2024-02-19 00:03:14 +01:00
|
|
|
return $this->render('IgnoreOriginInstanceRule/edit.html.twig', [
|
2019-08-27 00:03:30 +02:00
|
|
|
'rule' => $ignoreOriginInstanceRule,
|
|
|
|
'edit_form' => $editForm->createView(),
|
|
|
|
'delete_form' => $deleteForm->createView(),
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Deletes a site credential entity.
|
|
|
|
*
|
2022-08-28 16:59:43 +02:00
|
|
|
* @return RedirectResponse
|
2019-08-27 00:03:30 +02:00
|
|
|
*/
|
2025-04-05 15:06:57 +02:00
|
|
|
#[Route(path: '/ignore-origin-instance-rules/{id}', name: 'ignore_origin_instance_rules_delete', methods: ['DELETE'])]
|
2025-04-05 15:21:29 +02:00
|
|
|
#[IsGranted('DELETE', subject: 'ignoreOriginInstanceRule')]
|
2019-08-27 00:03:30 +02:00
|
|
|
public function deleteAction(Request $request, IgnoreOriginInstanceRule $ignoreOriginInstanceRule)
|
|
|
|
{
|
|
|
|
$form = $this->createDeleteForm($ignoreOriginInstanceRule);
|
|
|
|
$form->handleRequest($request);
|
|
|
|
|
|
|
|
if ($form->isSubmitted() && $form->isValid()) {
|
2022-12-19 10:37:22 +01:00
|
|
|
$this->addFlash(
|
2019-08-27 00:03:30 +02:00
|
|
|
'notice',
|
2022-12-19 10:37:22 +01:00
|
|
|
$this->translator->trans('flashes.ignore_origin_instance_rule.notice.deleted')
|
2019-08-27 00:03:30 +02:00
|
|
|
);
|
|
|
|
|
2022-12-19 10:37:22 +01:00
|
|
|
$this->entityManager->remove($ignoreOriginInstanceRule);
|
|
|
|
$this->entityManager->flush();
|
2019-08-27 00:03:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
return $this->redirectToRoute('ignore_origin_instance_rules_index');
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Creates a form to delete a ignore origin instance rule entity.
|
|
|
|
*
|
|
|
|
* @param IgnoreOriginInstanceRule $ignoreOriginInstanceRule The ignore origin instance rule entity
|
|
|
|
*
|
2023-08-08 02:27:21 +01:00
|
|
|
* @return FormInterface The form
|
2019-08-27 00:03:30 +02:00
|
|
|
*/
|
|
|
|
private function createDeleteForm(IgnoreOriginInstanceRule $ignoreOriginInstanceRule)
|
|
|
|
{
|
|
|
|
return $this->createFormBuilder()
|
|
|
|
->setAction($this->generateUrl('ignore_origin_instance_rules_delete', ['id' => $ignoreOriginInstanceRule->getId()]))
|
|
|
|
->setMethod('DELETE')
|
|
|
|
->getForm()
|
|
|
|
;
|
|
|
|
}
|
|
|
|
}
|