Skip to content

Commit

Permalink
Add controller, views and translations for ignore origin instance rules
Browse files Browse the repository at this point in the history
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
  • Loading branch information
Kdecherf committed Aug 26, 2019
1 parent e82b37d commit dd20c74
Show file tree
Hide file tree
Showing 22 changed files with 412 additions and 1 deletion.
1 change: 1 addition & 0 deletions app/config/security.yml
Expand Up @@ -79,4 +79,5 @@ security:
- { path: ^/annotations, roles: ROLE_USER }
- { path: ^/2fa, role: IS_AUTHENTICATED_2FA_IN_PROGRESS }
- { path: ^/users, roles: ROLE_SUPER_ADMIN }
- { path: ^/ignore-origin-instance-rules, roles: ROLE_SUPER_ADMIN }
- { path: ^/, roles: ROLE_USER }
@@ -0,0 +1,146 @@
<?php

namespace Wallabag\CoreBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use Wallabag\CoreBundle\Entity\IgnoreOriginInstanceRule;

/**
* IgnoreOriginInstanceRuleController controller.
*
* @Route("/ignore-origin-instances-rules")
*/
class IgnoreOriginInstanceRuleController extends Controller
{
/**
* Lists all IgnoreOriginInstanceRule entities.
*
* @Route("/", name="ignore_origin_instance_rules_index", methods={"GET"})
*/
public function indexAction()
{
$rules = $this->get('wallabag_core.ignore_origin_instance_rule_repository')->findAll();

return $this->render('WallabagCoreBundle:IgnoreOriginInstanceRule:index.html.twig', [
'rules' => $rules,
]);
}

/**
* Creates a new ignore origin instance rule entity.
*
* @Route("/new", name="ignore_origin_instance_rules_new", methods={"GET", "POST"})
*
* @param Request $request
*
* @return \Symfony\Component\HttpFoundation\Response
*/
public function newAction(Request $request)
{
$ignoreOriginInstanceRule = new IgnoreOriginInstanceRule();

$form = $this->createForm('Wallabag\CoreBundle\Form\Type\IgnoreOriginInstanceRuleType', $ignoreOriginInstanceRule);
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($ignoreOriginInstanceRule);
$em->flush();

$this->get('session')->getFlashBag()->add(
'notice',
$this->get('translator')->trans('flashes.ignore_origin_instance_rule.notice.added')
);

return $this->redirectToRoute('ignore_origin_instance_rules_index');
}

return $this->render('WallabagCoreBundle:IgnoreOriginInstanceRule:new.html.twig', [
'rule' => $ignoreOriginInstanceRule,
'form' => $form->createView(),
]);
}

/**
* Displays a form to edit an existing ignore origin instance rule entity.
*
* @Route("/{id}/edit", name="ignore_origin_instance_rules_edit", methods={"GET", "POST"})
*
* @param Request $request
* @param IgnoreOriginInstanceRule $ignoreOriginInstanceRule
*
* @return \Symfony\Component\HttpFoundation\Response
*/
public function editAction(Request $request, IgnoreOriginInstanceRule $ignoreOriginInstanceRule)
{
$deleteForm = $this->createDeleteForm($ignoreOriginInstanceRule);
$editForm = $this->createForm('Wallabag\CoreBundle\Form\Type\IgnoreOriginInstanceRuleType', $ignoreOriginInstanceRule);
$editForm->handleRequest($request);

if ($editForm->isSubmitted() && $editForm->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($ignoreOriginInstanceRule);
$em->flush();

$this->get('session')->getFlashBag()->add(
'notice',
$this->get('translator')->trans('flashes.ignore_origin_instance_rule.notice.updated')
);

return $this->redirectToRoute('ignore_origin_instance_rules_index');
}

return $this->render('WallabagCoreBundle:IgnoreOriginInstanceRule:edit.html.twig', [
'rule' => $ignoreOriginInstanceRule,
'edit_form' => $editForm->createView(),
'delete_form' => $deleteForm->createView(),
]);
}

/**
* Deletes a site credential entity.
*
* @Route("/{id}", name="ignore_origin_instance_rules_delete", methods={"DELETE"})
*
* @param Request $request
* @param IgnoreOriginInstanceRule $ignoreOriginInstanceRule
*
* @return \Symfony\Component\HttpFoundation\RedirectResponse
*/
public function deleteAction(Request $request, IgnoreOriginInstanceRule $ignoreOriginInstanceRule)
{
$form = $this->createDeleteForm($ignoreOriginInstanceRule);
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
$this->get('session')->getFlashBag()->add(
'notice',
$this->get('translator')->trans('flashes.ignore_origin_instance_rule.notice.deleted')
);

$em = $this->getDoctrine()->getManager();
$em->remove($ignoreOriginInstanceRule);
$em->flush();
}

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
*
* @return \Symfony\Component\Form\Form The form
*/
private function createDeleteForm(IgnoreOriginInstanceRule $ignoreOriginInstanceRule)
{
return $this->createFormBuilder()
->setAction($this->generateUrl('ignore_origin_instance_rules_delete', ['id' => $ignoreOriginInstanceRule->getId()]))
->setMethod('DELETE')
->getForm()
;
}
}
37 changes: 37 additions & 0 deletions src/Wallabag/CoreBundle/Form/Type/IgnoreOriginInstanceRuleType.php
@@ -0,0 +1,37 @@
<?php

namespace Wallabag\CoreBundle\Form\Type;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;

class IgnoreOriginInstanceRuleType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('rule', TextType::class, [
'required' => true,
'label' => 'config.form_rules.rule_label',
])
->add('save', SubmitType::class, [
'label' => 'config.form.save',
])
;
}

public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => 'Wallabag\CoreBundle\Entity\IgnoreOriginInstanceRule',
]);
}

public function getBlockPrefix()
{
return 'ignore_origin_instance_rule';
}
}
Expand Up @@ -33,6 +33,7 @@ menu:
back_to_unread: 'Tilbage til de ulæste artikler'
# users_management: 'Users management'
# site_credentials: 'Site credentials'
# ignore_origin_instance_rules: 'Global ignore origin rules'
# quickstart: "Quickstart"
top:
add_new_entry: 'Tilføj ny artikel'
Expand Down Expand Up @@ -654,3 +655,8 @@ flashes:
# added: 'Site credential for "%host%" added'
# updated: 'Site credential for "%host%" updated'
# deleted: 'Site credential for "%host%" deleted'
ignore_origin_instance_rule:
notice:
# added: 'Global ignore origin rule added'
# updated: 'Global ignore origin rule updated'
# deleted: 'Global ignore origin rule deleted'
Expand Up @@ -33,6 +33,7 @@ menu:
back_to_unread: 'Zurück zu ungelesenen Artikeln'
users_management: 'Benutzerverwaltung'
site_credentials: 'Zugangsdaten'
# ignore_origin_instance_rules: 'Global ignore origin rules'
quickstart: "Schnelleinstieg"
top:
add_new_entry: 'Neuen Artikel hinzufügen'
Expand Down Expand Up @@ -654,3 +655,8 @@ flashes:
added: 'Zugangsdaten für "%host%" hinzugefügt'
updated: 'Zugangsdaten für "%host%" aktualisiert'
deleted: 'Zugangsdaten für "%host%" gelöscht'
ignore_origin_instance_rule:
notice:
# added: 'Global ignore origin rule added'
# updated: 'Global ignore origin rule updated'
# deleted: 'Global ignore origin rule deleted'
24 changes: 24 additions & 0 deletions src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
Expand Up @@ -33,6 +33,7 @@ menu:
back_to_unread: 'Back to unread articles'
users_management: 'Users management'
site_credentials: 'Site credentials'
ignore_origin_instance_rules: 'Global ignore origin rules'
quickstart: "Quickstart"
top:
add_new_entry: 'Add a new entry'
Expand Down Expand Up @@ -589,6 +590,24 @@ site_credential:
delete_confirm: Are you sure?
back_to_list: Back to list

ignore_origin_instance_rule:
page_title: Global ignore origin rules
new_ignore_origin_instance_rule: Create a global ignore origin rule
edit_ignore_origin_instance_rule: Edit an existing ignore origin rule
description: "Here you can manage the global ignore origin rules used to ignore some patterns of origin url."
list:
actions: Actions
edit_action: Edit
yes: Yes
no: No
create_new_one: Create a new global ignore origin rule
form:
rule_label: Rule
save: Save
delete: Delete
delete_confirm: Are you sure?
back_to_list: Back to list

error:
page_title: An error occurred

Expand Down Expand Up @@ -654,3 +673,8 @@ flashes:
added: 'Site credential for "%host%" added'
updated: 'Site credential for "%host%" updated'
deleted: 'Site credential for "%host%" deleted'
ignore_origin_instance_rule:
notice:
added: 'Global ignore origin rule added'
updated: 'Global ignore origin rule updated'
deleted: 'Global ignore origin rule deleted'
Expand Up @@ -33,6 +33,7 @@ menu:
back_to_unread: 'Volver a los artículos sin leer'
users_management: 'Configuración de usuarios'
# site_credentials: 'Site credentials'
# ignore_origin_instance_rules: 'Global ignore origin rules'
quickstart: "Inicio rápido"
top:
add_new_entry: 'Añadir un nuevo artículo'
Expand Down Expand Up @@ -654,3 +655,8 @@ flashes:
# added: 'Site credential for "%host%" added'
# updated: 'Site credential for "%host%" updated'
# deleted: 'Site credential for "%host%" deleted'
ignore_origin_instance_rule:
notice:
# added: 'Global ignore origin rule added'
# updated: 'Global ignore origin rule updated'
# deleted: 'Global ignore origin rule deleted'
Expand Up @@ -33,6 +33,7 @@ menu:
back_to_unread: 'بازگشت به خوانده‌نشده‌ها'
# users_management: 'Users management'
# site_credentials: 'Site credentials'
# ignore_origin_instance_rules: 'Global ignore origin rules'
quickstart: "Quickstart"
top:
add_new_entry: 'افزودن مقالهٔ تازه'
Expand Down Expand Up @@ -654,3 +655,8 @@ flashes:
# added: 'Site credential for "%host%" added'
# updated: 'Site credential for "%host%" updated'
# deleted: 'Site credential for "%host%" deleted'
ignore_origin_instance_rule:
notice:
# added: 'Global ignore origin rule added'
# updated: 'Global ignore origin rule updated'
# deleted: 'Global ignore origin rule deleted'
Expand Up @@ -33,6 +33,7 @@ menu:
back_to_unread: "Retour aux articles non lus"
users_management: "Gestion des utilisateurs"
site_credentials: 'Accès aux sites'
ignore_origin_instance_rules: "Règles globales d'omission d'origine"
quickstart: "Pour bien débuter"
top:
add_new_entry: "Sauvegarder un nouvel article"
Expand Down Expand Up @@ -612,6 +613,8 @@ flashes:
otp_enabled: "Authentification à double-facteur activée"
tagging_rules_imported: Règles bien importées
tagging_rules_not_imported: Impossible d'importer les règles
ignore_origin_rules_deleted: "Règle d'omission d'origine supprimée"
ignore_origin_rules_update: "Règle d'omission d'origine mise à jour"
entry:
notice:
entry_already_saved: "Article déjà sauvegardé le %date%"
Expand Down
Expand Up @@ -33,6 +33,7 @@ menu:
back_to_unread: 'Torna ai contenuti non letti'
users_management: 'Gestione utenti'
site_credentials: 'Credenziali sito'
# ignore_origin_instance_rules: 'Global ignore origin rules'
quickstart: "Introduzione"
top:
add_new_entry: 'Aggiungi un nuovo contenuto'
Expand Down Expand Up @@ -654,3 +655,8 @@ flashes:
# added: 'Site credential for "%host%" added'
# updated: 'Site credential for "%host%" updated'
# deleted: 'Site credential for "%host%" deleted'
ignore_origin_instance_rule:
notice:
# added: 'Global ignore origin rule added'
# updated: 'Global ignore origin rule updated'
# deleted: 'Global ignore origin rule deleted'
Expand Up @@ -33,6 +33,7 @@ menu:
back_to_unread: 'Tornar als articles pas legits'
users_management: 'Gestion dels utilizaires'
site_credentials: 'Identificants del site'
# ignore_origin_instance_rules: 'Global ignore origin rules'
quickstart: "Per ben començar"
top:
add_new_entry: 'Enregistrar un novèl article'
Expand Down Expand Up @@ -654,3 +655,8 @@ flashes:
added: 'Identificant per "%host%" ajustat'
updated: 'Identificant per "%host%" mes a jorn'
deleted: 'Identificant per "%host%" suprimit'
ignore_origin_instance_rule:
notice:
# added: 'Global ignore origin rule added'
# updated: 'Global ignore origin rule updated'
# deleted: 'Global ignore origin rule deleted'
Expand Up @@ -33,6 +33,7 @@ menu:
back_to_unread: 'Powrót do nieprzeczytanych artykułów'
users_management: 'Zarządzanie użytkownikami'
site_credentials: 'Poświadczenia strony'
# ignore_origin_instance_rules: 'Global ignore origin rules'
quickstart: "Szybki start"
top:
add_new_entry: 'Dodaj nowy wpis'
Expand Down Expand Up @@ -654,3 +655,8 @@ flashes:
added: 'Poświadczenie dla "%host%" dodane'
updated: 'Poświadczenie dla "%host%" zaktualizowane'
deleted: 'Poświadczenie dla "%host%" usuniętę'
ignore_origin_instance_rule:
notice:
# added: 'Global ignore origin rule added'
# updated: 'Global ignore origin rule updated'
# deleted: 'Global ignore origin rule deleted'
Expand Up @@ -33,6 +33,7 @@ menu:
back_to_unread: 'Voltar para os artigos não lidos'
users_management: 'Gestão de Usuários'
# site_credentials: 'Site credentials'
# ignore_origin_instance_rules: 'Global ignore origin rules'
quickstart: "Começo Rápido"
top:
add_new_entry: 'Adicionar uma nova entrada'
Expand Down Expand Up @@ -654,3 +655,8 @@ flashes:
# added: 'Site credential for "%host%" added'
# updated: 'Site credential for "%host%" updated'
# deleted: 'Site credential for "%host%" deleted'
ignore_origin_instance_rule:
notice:
# added: 'Global ignore origin rule added'
# updated: 'Global ignore origin rule updated'
# deleted: 'Global ignore origin rule deleted'

0 comments on commit dd20c74

Please sign in to comment.