]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Merged list and search methods 3060/head
authorNicolas Lœuillet <nicolas@loeuillet.org>
Tue, 2 May 2017 13:27:58 +0000 (15:27 +0200)
committerNicolas Lœuillet <nicolas@loeuillet.org>
Tue, 2 May 2017 13:30:32 +0000 (15:30 +0200)
15 files changed:
src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
src/Wallabag/UserBundle/Controller/ManageController.php
src/Wallabag/UserBundle/Resources/views/Manage/index.html.twig
src/Wallabag/UserBundle/Resources/views/Manage/search_form.html.twig [deleted file]

index 68fcec5c883c227465596a0f2a9149a753f822cf..23390c120e3790740b22343de653bad7a5a688f0 100644 (file)
@@ -513,7 +513,6 @@ user:
         # delete_confirm: Are you sure?
         # back_to_list: Back to list
     search:
-        # label: Filter
         # placeholder: Filter by username or email
 
 error:
index be1172316be068ebcbf045356cc3a088c16b428b..71c935c829a82c8f6150eae052c5d5143457f1d0 100644 (file)
@@ -513,7 +513,6 @@ user:
         delete_confirm: Bist du sicher?
         back_to_list: Zurück zur Liste
     search:
-        # label: Filter
         # placeholder: Filter by username or email
 
 error:
index b38508933934288d9120bdb0328f60426d78ebd1..a5540c86899021d19996cb423b269cef3fe67ac9 100644 (file)
@@ -513,7 +513,6 @@ user:
         delete_confirm: Are you sure?
         back_to_list: Back to list
     search:
-        label: Filter
         placeholder: Filter by username or email
 
 error:
index ebf6745a2564111230f70c0af6c2e8f7c96cc6a4..ba8bdc5a4c838385963576fe9aefc1acc0f80181 100644 (file)
@@ -513,7 +513,6 @@ user:
         delete_confirm: ¿Estás seguro?
         back_to_list: Volver a la lista
     search:
-        # label: Filter
         # placeholder: Filter by username or email
 
 error:
index 46460e130bc47761a608a7e727e79a063a580962..7ef39e40cd9cfddff3bf8ee4278e23a888b0997f 100644 (file)
@@ -513,7 +513,6 @@ user:
         # delete_confirm: Are you sure?
         # back_to_list: Back to list
     search:
-        # label: Filter
         # placeholder: Filter by username or email
 
 error:
index c968f7abf3111d6e3e24fd9a59e020a2b44bf47d..48036cf7fb5df1e4dd0e0c520c1e90fb7067053b 100644 (file)
@@ -46,7 +46,7 @@ footer:
         social: "Social"
         powered_by: "propulsé par"
         about: "À propos"
-    stats: Depuis le %user_creation%, vous avez lu %nb_archives% articles. Ce qui fait %per_day% par jour !
+    stats: "Depuis le %user_creation%, vous avez lu %nb_archives% articles. Ce qui fait %per_day% par jour !"
 
 config:
     page_title: "Configuration"
@@ -71,16 +71,16 @@ config:
             300_word: "Je lis environ 300 mots par minute"
             400_word: "Je lis environ 400 mots par minute"
         action_mark_as_read:
-            label: 'Où souhaitez-vous être redirigé après avoir marqué un article comme lu ?'
-            redirect_homepage: "À la page d'accueil"
-            redirect_current_page: 'À la page courante'
-        pocket_consumer_key_label: Clé d’authentification Pocket pour importer les données
-        android_configuration: Configurez votre application Android
-        help_theme: "L'affichage de wallabag est personnalisable. C'est ici que vous choisissez le thème que vous préférez."
-        help_items_per_page: "Vous pouvez définir le nombre d'articles affichés sur chaque page."
+            label: "Où souhaitez-vous être redirigé après avoir marqué un article comme lu ?"
+            redirect_homepage: "À la page daccueil"
+            redirect_current_page: "À la page courante"
+        pocket_consumer_key_label: "Clé d’authentification Pocket pour importer les données"
+        android_configuration: "Configurez votre application Android"
+        help_theme: "L’affichage de wallabag est personnalisable. C’est ici que vous choisissez le thème que vous préférez."
+        help_items_per_page: "Vous pouvez définir le nombre darticles affichés sur chaque page."
         help_reading_speed: "wallabag calcule une durée de lecture pour chaque article. Vous pouvez définir ici, grâce à cette liste déroulante, si vous lisez plus ou moins vite. wallabag recalculera la durée de lecture de chaque article."
-        help_language: "Vous pouvez définir la langue de l'interface de wallabag."
-        help_pocket_consumer_key: "Nécessaire pour l'import depuis Pocket. Vous pouvez le créer depuis votre compte Pocket."
+        help_language: "Vous pouvez définir la langue de linterface de wallabag."
+        help_pocket_consumer_key: "Nécessaire pour limport depuis Pocket. Vous pouvez le créer depuis votre compte Pocket."
     form_rss:
         description: "Les flux RSS fournis par wallabag vous permettent de lire vos articles sauvegardés dans votre lecteur de flux préféré. Pour pouvoir les utiliser, vous devez d’abord créer un jeton."
         token_label: "Jeton RSS"
@@ -100,18 +100,18 @@ config:
         twoFactorAuthentication_label: "Double authentification"
         help_twoFactorAuthentication: "Si vous activez 2FA, à chaque tentative de connexion à wallabag, vous recevrez un code par email."
         delete:
-            title: Supprimer mon compte (attention danger !)
-            description: Si vous confirmez la suppression de votre compte, TOUS les articles, TOUS les tags, TOUTES les annotations et votre compte seront DÉFINITIVEMENT supprimé (c'est IRRÉVERSIBLE). Vous serez ensuite déconnecté.
-            confirm: Vous êtes vraiment sûr ? (C'EST IRRÉVERSIBLE)
-            button: 'Supprimer mon compte'
+            title: "Supprimer mon compte (attention danger !)"
+            description: "Si vous confirmez la suppression de votre compte, TOUS les articles, TOUS les tags, TOUTES les annotations et votre compte seront DÉFINITIVEMENT supprimé (c’est IRRÉVERSIBLE). Vous serez ensuite déconnecté."
+            confirm: "Vous êtes vraiment sûr ? (C’EST IRRÉVERSIBLE)"
+            button: "Supprimer mon compte"
     reset:
-        title: Réinitialisation (attention danger !)
-        description: En cliquant sur les boutons ci-dessous vous avez la possibilité de supprimer certaines informations de votre compte. Attention, ces actions sont IRRÉVERSIBLES !
-        annotations: Supprimer TOUTES les annotations
-        tags: Supprimer TOUS les tags
-        entries: Supprimer TOUS les articles
-        archived: Supprimer TOUS les articles archivés
-        confirm: Êtes-vous vraiment vraiment sûr ? (C'EST IRRÉVERSIBLE)
+        title: "Réinitialisation (attention danger !)"
+        description: "En cliquant sur les boutons ci-dessous vous avez la possibilité de supprimer certaines informations de votre compte. Attention, ces actions sont IRRÉVERSIBLES !"
+        annotations: "Supprimer TOUTES les annotations"
+        tags: "Supprimer TOUS les tags"
+        entries: "Supprimer TOUS les articles"
+        archived: "Supprimer TOUS les articles archivés"
+        confirm: "Êtes-vous vraiment vraiment sûr ? (C’EST IRRÉVERSIBLE)"
     form_password:
         description: "Vous pouvez changer ici votre mot de passe. Le mot de passe doit contenir au moins 8 caractères."
         old_password_label: "Mot de passe actuel"
@@ -163,7 +163,7 @@ entry:
         archived: "Articles lus"
         filtered: "Articles filtrés"
         filtered_tags: "Articles filtrés par tags :"
-        filtered_search: 'Articles filtrés par recherche :'
+        filtered_search: "Articles filtrés par recherche :"
         untagged: "Article sans tag"
     list:
         number_on_the_page: "{0} Il n’y a pas d’article.|{1} Il y a un article.|]1,Inf[ Il y a %count% articles."
@@ -187,7 +187,7 @@ entry:
         preview_picture_label: "A une photo"
         preview_picture_help: "Photo"
         language_label: "Langue"
-        http_status_label: 'Statut HTTP'
+        http_status_label: "Statut HTTP"
         reading_time:
             label: "Durée de lecture en minutes"
             from: "de"
@@ -297,32 +297,32 @@ howto:
     bookmarklet:
         description: "Glissez et déposez ce lien dans votre barre de favoris :"
     shortcuts:
-        page_description: Voici les raccourcis disponibles dans wallabag.
-        shortcut: Raccourci
-        action: Action
-        all_pages_title: Raccourcis disponibles dans toutes les pages
-        go_unread: Afficher les articles non lus
-        go_starred: Afficher les articles favoris
-        go_archive:  Afficher les articles lus
-        go_all: Afficher tous les articles
-        go_tags: Afficher les tags
-        go_config: Aller à la configuration
-        go_import: Aller aux imports
-        go_developers: Aller à la section Développeurs
-        go_howto: Afficher l'aide (cette page !)
-        go_logout: Se déconnecter
-        list_title: Raccourcis disponibles dans les pages de liste
-        search: Afficher le formulaire de recherche
-        article_title: Raccourcis disponibles quand on affiche un article
-        open_original: Ouvrir l'URL originale de l'article
-        toggle_favorite: Changer le statut Favori de l'article
-        toggle_archive: Changer le status Lu de l'article
-        delete: Supprimer l'article
-        material_title: Raccourcis disponibles avec le thème Material uniquement
-        add_link: Ajouter un nouvel article
-        hide_form: Masquer le formulaire courant (recherche ou nouvel article)
-        arrows_navigation: Naviguer à travers les articles
-        open_article: Afficher l'article sélectionné
+        page_description: "Voici les raccourcis disponibles dans wallabag."
+        shortcut: "Raccourci"
+        action: "Action"
+        all_pages_title: "Raccourcis disponibles dans toutes les pages"
+        go_unread: "Afficher les articles non lus"
+        go_starred: "Afficher les articles favoris"
+        go_archive:  "Afficher les articles lus"
+        go_all: "Afficher tous les articles"
+        go_tags: "Afficher les tags"
+        go_config: "Aller à la configuration"
+        go_import: "Aller aux imports"
+        go_developers: "Aller à la section Développeurs"
+        go_howto: "Afficher l’aide (cette page !)"
+        go_logout: "Se déconnecter"
+        list_title: "Raccourcis disponibles dans les pages de liste"
+        search: "Afficher le formulaire de recherche"
+        article_title: "Raccourcis disponibles quand on affiche un article"
+        open_original: "Ouvrir l’URL originale de l’article"
+        toggle_favorite: "Changer le statut Favori de l’article"
+        toggle_archive: "Changer le status Lu de l’article"
+        delete: "Supprimer l’article"
+        material_title: "Raccourcis disponibles avec le thème Material uniquement"
+        add_link: "Ajouter un nouvel article"
+        hide_form: "Masquer le formulaire courant (recherche ou nouvel article)"
+        arrows_navigation: "Naviguer à travers les articles"
+        open_article: "Afficher l’article sélectionné"
 
 quickstart:
     page_title: "Pour bien débuter"
@@ -384,8 +384,8 @@ tag:
         number_on_the_page: "{0} Il n’y a pas de tag.|{1} Il y a un tag.|]1,Inf[ Il y a %count% tags."
         see_untagged_entries: "Voir les articles sans tag"
     new:
-        add: 'Ajouter'
-        placeholder: 'Vous pouvez ajouter plusieurs tags, séparés par une virgule.'
+        add: "Ajouter"
+        placeholder: "Vous pouvez ajouter plusieurs tags, séparés par une virgule."
 
 import:
     page_title: "Importer"
@@ -419,7 +419,7 @@ import:
         how_to: "Choisissez le fichier de votre export Readability et cliquez sur le bouton ci-dessous pour l’importer."
     worker:
         enabled: "Les imports sont asynchrones. Une fois l’import commencé un worker externe traitera les messages un par un. Le service activé est :"
-        download_images_warning: "Vous avez configuré le téléchagement des images pour vos articles. Combiné à l'import classique, cette opération peut être très très longue (voire échouer). Nous vous conseillons <strong>vivement</strong> d'activer les imports asynchrones."
+        download_images_warning: "Vous avez configuré le téléchagement des images pour vos articles. Combiné à l’import classique, cette opération peut être très très longue (voire échouer). Nous vous conseillons <strong>vivement</strong> d’activer les imports asynchrones."
     firefox:
         page_title: "Import > Firefox"
         description: "Cet outil va vous permettre d’importer tous vos marques-pages de Firefox. Ouvrez le panneau des marques-pages (Ctrl+Maj+O), puis dans « Importation et sauvegarde », choisissez « Sauvegarde… ». Vous allez récupérer un fichier .json. </p>"
@@ -488,16 +488,16 @@ developer:
         back: "Retour"
 
 user:
-    page_title: Gestion des utilisateurs
-    new_user: Créer un nouvel utilisateur
-    edit_user: Éditer un utilisateur existant
-    description: Ici vous pouvez gérer vos utilisateurs (création, mise à jour et suppression)
+    page_title: "Gestion des utilisateurs"
+    new_user: "Créer un nouvel utilisateur"
+    edit_user: "Éditer un utilisateur existant"
+    description: "Ici vous pouvez gérer vos utilisateurs (création, mise à jour et suppression)"
     list:
-        actions: Actions
-        edit_action: Éditer
-        yes: Oui
-        no: Non
-        create_new_one: Créer un nouvel utilisateur
+        actions: "Actions"
+        edit_action: "Éditer"
+        yes: "Oui"
+        no: "Non"
+        create_new_one: "Créer un nouvel utilisateur"
     form:
         username_label: "Nom d’utilisateur"
         name_label: "Nom"
@@ -513,11 +513,10 @@ user:
         delete_confirm: "Voulez-vous vraiment ?"
         back_to_list: "Revenir à la liste"
     search:
-        label: Filtrer
-        placeholder: Filtrer par nom d'utilisateur ou email
+        placeholder: "Filtrer par nom d’utilisateur ou email"
 
 error:
-    page_title: Une erreur est survenue
+    page_title: "Une erreur est survenue"
 
 flashes:
     config:
@@ -530,10 +529,10 @@ flashes:
             tagging_rules_updated: "Règles mises à jour"
             tagging_rules_deleted: "Règle supprimée"
             rss_token_updated: "Jeton RSS mis à jour"
-            annotations_reset: Annotations supprimées
-            tags_reset: Tags supprimés
-            entries_reset: Articles supprimés
-            archived_reset: Articles archivés supprimés
+            annotations_reset: "Annotations supprimées"
+            tags_reset: "Tags supprimés"
+            entries_reset: "Articles supprimés"
+            archived_reset: "Articles archivés supprimés"
     entry:
         notice:
             entry_already_saved: "Article déjà sauvegardé le %date%"
@@ -565,6 +564,6 @@ flashes:
             client_deleted: "Client %name% supprimé"
     user:
         notice:
-            added: 'Utilisateur "%username%" ajouté'
-            updated: 'Utilisateur "%username%" mis à jour'
-            deleted: 'Utilisateur "%username%" supprimé'
+            added: "Utilisateur \"%username%\" ajouté"
+            updated: "Utilisateur \"%username%\" mis à jour"
+            deleted: "Utilisateur \"%username%\" supprimé"
index 53b5e1b9e5526031f8eb40db28aa5e54574365a4..364e9a1f586851f6b7d8031fd621e8a60d70d008 100644 (file)
@@ -513,7 +513,6 @@ user:
         # delete_confirm: Are you sure?
         # back_to_list: Back to list
     search:
-        # label: Filter
         # placeholder: Filter by username or email
 
 error:
index c6614a63b64ab215d60267f4bf92c3c36dc300fa..4877238ecda264938b54c4dd281cb94f948640d0 100644 (file)
@@ -513,7 +513,6 @@ user:
         delete_confirm: 'Sètz segur ?'
         back_to_list: 'Tornar a la lista'
     search:
-        # label: Filter
         # placeholder: Filter by username or email
 
 error:
index b464d0f66acec3092c3e5c7d15fa5e7d47373986..9e61162a357ec6a520cde869dc2fe51060adcdca 100644 (file)
@@ -513,7 +513,6 @@ user:
         delete_confirm: Jesteś pewien?
         back_to_list: Powrót do listy
     search:
-        # label: Filter
         # placeholder: Filter by username or email
 
 error:
index 2b0b16868254cf596839da350c55bd32a683fd20..30705c0a382653bd00558bb9f9064f7bf5c5bca4 100644 (file)
@@ -513,7 +513,6 @@ user:
         delete_confirm: 'Tem certeza?'
         back_to_list: 'Voltar para a lista'
     search:
-        # label: Filter
         # placeholder: Filter by username or email
 
 error:
index 210978d03581398ffb374b2a8b4d58151adb0df2..d3c5a0f8105578f63ce064a6825619919a6d1b35 100644 (file)
@@ -513,7 +513,6 @@ user:
         # delete_confirm: Are you sure?
         # back_to_list: Back to list
     search:
-        # label: Filter
         # placeholder: Filter by username or email
 
 error:
index 5ff5e012df1fdaf8ae3aba461d64795eb5c57d93..27b436063be0dff8a7836c1d59c065534a4fac2f 100644 (file)
@@ -513,7 +513,6 @@ user:
         # delete_confirm: Are you sure?
         # back_to_list: Back to list
     search:
-        # label: Filter
         # placeholder: Filter by username or email
 
 error:
index 3ea773eeb26f4d7ff688fe8c3eefa9a242538867..1c5c86d45501f41c987edba0efa48bf320f3fa93 100644 (file)
@@ -19,38 +19,6 @@ use Wallabag\UserBundle\Form\SearchUserType;
  */
 class ManageController extends Controller
 {
-    /**
-     * Lists all User entities.
-     *
-     * @Route("/list/{page}", name="user_index")
-     * @Method("GET")
-     *
-     * @param int $page
-     *
-     * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
-     */
-    public function indexAction($page = 1)
-    {
-        $em = $this->getDoctrine()->getManager();
-
-        $qb = $em->getRepository('WallabagUserBundle:User')->createQueryBuilder('u');
-        $pagerAdapter = new DoctrineORMAdapter($qb->getQuery(), true, false);
-        $pagerFanta = new Pagerfanta($pagerAdapter);
-        $pagerFanta->setMaxPerPage(50);
-
-        try {
-            $pagerFanta->setCurrentPage($page);
-        } catch (OutOfRangeCurrentPageException $e) {
-            if ($page > 1) {
-                return $this->redirect($this->generateUrl('user_index', ['page' => $pagerFanta->getNbPages()]), 302);
-            }
-        }
-
-        return $this->render('WallabagUserBundle:Manage:index.html.twig', array(
-            'users' => $pagerFanta,
-        ));
-    }
-
     /**
      * Creates a new User entity.
      *
@@ -169,52 +137,44 @@ class ManageController extends Controller
      * @param Request $request
      * @param int     $page
      *
-     * @Route("/search/{page}", name="user-search", defaults={"page" = 1})
+     * @Route("/list/{page}", name="user_index", defaults={"page" = 1})
      *
      * Default parameter for page is hardcoded (in duplication of the defaults from the Route)
      * because this controller is also called inside the layout template without any page as argument
      *
      * @return \Symfony\Component\HttpFoundation\Response
      */
-    public function searchFormAction(Request $request, $page = 1, $currentRoute = null)
+    public function searchFormAction(Request $request, $page = 1)
     {
-        // fallback to retrieve currentRoute from query parameter instead of injected one (when using inside a template)
-        if (null === $currentRoute && $request->query->has('currentRoute')) {
-            $currentRoute = $request->query->get('currentRoute');
-        }
+        $em = $this->getDoctrine()->getManager();
+        $qb = $em->getRepository('WallabagUserBundle:User')->createQueryBuilder('u');
 
         $form = $this->createForm(SearchUserType::class);
-
         $form->handleRequest($request);
 
         if ($form->isSubmitted() && $form->isValid()) {
             $this->get('logger')->info('searching users');
-            $em = $this->getDoctrine()->getManager();
 
             $searchTerm = (isset($request->get('search_user')['term']) ? $request->get('search_user')['term'] : '');
 
             $qb = $em->getRepository('WallabagUserBundle:User')->getQueryBuilderForSearch($searchTerm);
+        }
 
-            $pagerAdapter = new DoctrineORMAdapter($qb->getQuery(), true, false);
-            $pagerFanta = new Pagerfanta($pagerAdapter);
-            $pagerFanta->setMaxPerPage(50);
+        $pagerAdapter = new DoctrineORMAdapter($qb->getQuery(), true, false);
+        $pagerFanta = new Pagerfanta($pagerAdapter);
+        $pagerFanta->setMaxPerPage(50);
 
-            try {
-                $pagerFanta->setCurrentPage($page);
-            } catch (OutOfRangeCurrentPageException $e) {
-                if ($page > 1) {
-                    return $this->redirect($this->generateUrl('user_index', ['page' => $pagerFanta->getNbPages()]), 302);
-                }
+        try {
+            $pagerFanta->setCurrentPage($page);
+        } catch (OutOfRangeCurrentPageException $e) {
+            if ($page > 1) {
+                return $this->redirect($this->generateUrl('user_index', ['page' => $pagerFanta->getNbPages()]), 302);
             }
-
-            return $this->render('WallabagUserBundle:Manage:index.html.twig', array(
-                'users' => $pagerFanta,
-            ));
         }
 
-        return $this->render('WallabagUserBundle:Manage:search_form.html.twig', [
-            'form' => $form->createView(),
-            'currentRoute' => $currentRoute,
+        return $this->render('WallabagUserBundle:Manage:index.html.twig', [
+            'searchForm' => $form->createView(),
+            'users' => $pagerFanta,
         ]);
     }
 }
index 7a76f15742996c355c6c4ece8ea9805ea3954f0a..15002632cfaabaf5c9b353d55281e0aa2b86ba6a 100644 (file)
                     </div>
                     <div class="col s6">
                         <div class="input-field">
-                            {{ render(controller("WallabagUserBundle:Manage:searchForm", {'currentRoute': app.request.attributes.get('_route')})) }}
+                            <form name="search_users" method="GET" action="{{ path('user_index')}}">
+                                {% if form_errors(searchForm) %}
+                                    <span class="black-text">{{ form_errors(searchForm) }}</span>
+                                {% endif %}
+
+                                {% if form_errors(searchForm.term) %}
+                                    <span class="black-text">{{ form_errors(searchForm.term) }}</span>
+                                {% endif %}
+
+                                {{ form_widget(searchForm.term, { 'attr': {'autocomplete': 'off', 'placeholder': 'user.search.placeholder'} }) }}
+
+                                {{ form_rest(searchForm) }}
+                            </form>
                         </div>
                     </div>
 
diff --git a/src/Wallabag/UserBundle/Resources/views/Manage/search_form.html.twig b/src/Wallabag/UserBundle/Resources/views/Manage/search_form.html.twig
deleted file mode 100644 (file)
index 1d4df20..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<form name="search_users" method="GET" action="{{ path('user-search')}}">
-    {% if form_errors(form) %}
-        <span class="black-text">{{ form_errors(form) }}</span>
-    {% endif %}
-
-    {% if form_errors(form.term) %}
-        <span class="black-text">{{ form_errors(form.term) }}</span>
-    {% endif %}
-
-    <i class="material-icons prefix">search</i>
-    {{ form_widget(form.term, { 'attr': {'autocomplete': 'off', 'placeholder': 'user.search.placeholder'} }) }}
-    <label for="search_user_term" class="active">{{ 'user.search.label' | trans }}</label>
-
-    {{ form_rest(form) }}
-</form>