aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNicolas Lœuillet <nicolas@loeuillet.org>2017-05-02 15:27:58 +0200
committerNicolas Lœuillet <nicolas@loeuillet.org>2017-05-02 15:30:32 +0200
commitb5b6877976bc32f23e51c2fb0f3f973f0d571b10 (patch)
treeba12ea034fa9cbef65858c0106e03fded3830649
parentd01dc5a81e7fde37d98fe6b10b9329b53add5b6a (diff)
downloadwallabag-b5b6877976bc32f23e51c2fb0f3f973f0d571b10.tar.gz
wallabag-b5b6877976bc32f23e51c2fb0f3f973f0d571b10.tar.zst
wallabag-b5b6877976bc32f23e51c2fb0f3f973f0d571b10.zip
Merged list and search methods
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.da.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.de.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.en.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.es.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml141
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.it.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml1
-rw-r--r--src/Wallabag/UserBundle/Controller/ManageController.php72
-rw-r--r--src/Wallabag/UserBundle/Resources/views/Manage/index.html.twig14
-rw-r--r--src/Wallabag/UserBundle/Resources/views/Manage/search_form.html.twig15
15 files changed, 99 insertions, 154 deletions
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
index 68fcec5c..23390c12 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
@@ -513,7 +513,6 @@ user:
513 # delete_confirm: Are you sure? 513 # delete_confirm: Are you sure?
514 # back_to_list: Back to list 514 # back_to_list: Back to list
515 search: 515 search:
516 # label: Filter
517 # placeholder: Filter by username or email 516 # placeholder: Filter by username or email
518 517
519error: 518error:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
index be117231..71c935c8 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
@@ -513,7 +513,6 @@ user:
513 delete_confirm: Bist du sicher? 513 delete_confirm: Bist du sicher?
514 back_to_list: Zurück zur Liste 514 back_to_list: Zurück zur Liste
515 search: 515 search:
516 # label: Filter
517 # placeholder: Filter by username or email 516 # placeholder: Filter by username or email
518 517
519error: 518error:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
index b3850893..a5540c86 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
@@ -513,7 +513,6 @@ user:
513 delete_confirm: Are you sure? 513 delete_confirm: Are you sure?
514 back_to_list: Back to list 514 back_to_list: Back to list
515 search: 515 search:
516 label: Filter
517 placeholder: Filter by username or email 516 placeholder: Filter by username or email
518 517
519error: 518error:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
index ebf6745a..ba8bdc5a 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
@@ -513,7 +513,6 @@ user:
513 delete_confirm: ¿Estás seguro? 513 delete_confirm: ¿Estás seguro?
514 back_to_list: Volver a la lista 514 back_to_list: Volver a la lista
515 search: 515 search:
516 # label: Filter
517 # placeholder: Filter by username or email 516 # placeholder: Filter by username or email
518 517
519error: 518error:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
index 46460e13..7ef39e40 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
@@ -513,7 +513,6 @@ user:
513 # delete_confirm: Are you sure? 513 # delete_confirm: Are you sure?
514 # back_to_list: Back to list 514 # back_to_list: Back to list
515 search: 515 search:
516 # label: Filter
517 # placeholder: Filter by username or email 516 # placeholder: Filter by username or email
518 517
519error: 518error:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
index c968f7ab..48036cf7 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
@@ -46,7 +46,7 @@ footer:
46 social: "Social" 46 social: "Social"
47 powered_by: "propulsé par" 47 powered_by: "propulsé par"
48 about: "À propos" 48 about: "À propos"
49 stats: Depuis le %user_creation%, vous avez lu %nb_archives% articles. Ce qui fait %per_day% par jour ! 49 stats: "Depuis le %user_creation%, vous avez lu %nb_archives% articles. Ce qui fait %per_day% par jour !"
50 50
51config: 51config:
52 page_title: "Configuration" 52 page_title: "Configuration"
@@ -71,16 +71,16 @@ config:
71 300_word: "Je lis environ 300 mots par minute" 71 300_word: "Je lis environ 300 mots par minute"
72 400_word: "Je lis environ 400 mots par minute" 72 400_word: "Je lis environ 400 mots par minute"
73 action_mark_as_read: 73 action_mark_as_read:
74 label: 'Où souhaitez-vous être redirigé après avoir marqué un article comme lu ?' 74 label: "Où souhaitez-vous être redirigé après avoir marqué un article comme lu ?"
75 redirect_homepage: "À la page d'accueil" 75 redirect_homepage: "À la page daccueil"
76 redirect_current_page: 'À la page courante' 76 redirect_current_page: "À la page courante"
77 pocket_consumer_key_label: Clé d’authentification Pocket pour importer les données 77 pocket_consumer_key_label: "Clé d’authentification Pocket pour importer les données"
78 android_configuration: Configurez votre application Android 78 android_configuration: "Configurez votre application Android"
79 help_theme: "L'affichage de wallabag est personnalisable. C'est ici que vous choisissez le thème que vous préférez." 79 help_theme: "L’affichage de wallabag est personnalisable. C’est ici que vous choisissez le thème que vous préférez."
80 help_items_per_page: "Vous pouvez définir le nombre d'articles affichés sur chaque page." 80 help_items_per_page: "Vous pouvez définir le nombre darticles affichés sur chaque page."
81 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." 81 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."
82 help_language: "Vous pouvez définir la langue de l'interface de wallabag." 82 help_language: "Vous pouvez définir la langue de linterface de wallabag."
83 help_pocket_consumer_key: "Nécessaire pour l'import depuis Pocket. Vous pouvez le créer depuis votre compte Pocket." 83 help_pocket_consumer_key: "Nécessaire pour l’import depuis Pocket. Vous pouvez le créer depuis votre compte Pocket."
84 form_rss: 84 form_rss:
85 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." 85 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."
86 token_label: "Jeton RSS" 86 token_label: "Jeton RSS"
@@ -100,18 +100,18 @@ config:
100 twoFactorAuthentication_label: "Double authentification" 100 twoFactorAuthentication_label: "Double authentification"
101 help_twoFactorAuthentication: "Si vous activez 2FA, à chaque tentative de connexion à wallabag, vous recevrez un code par email." 101 help_twoFactorAuthentication: "Si vous activez 2FA, à chaque tentative de connexion à wallabag, vous recevrez un code par email."
102 delete: 102 delete:
103 title: Supprimer mon compte (attention danger !) 103 title: "Supprimer mon compte (attention danger !)"
104 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é. 104 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é."
105 confirm: Vous êtes vraiment sûr ? (C'EST IRRÉVERSIBLE) 105 confirm: "Vous êtes vraiment sûr ? (CEST IRRÉVERSIBLE)"
106 button: 'Supprimer mon compte' 106 button: "Supprimer mon compte"
107 reset: 107 reset:
108 title: Réinitialisation (attention danger !) 108 title: "Réinitialisation (attention danger !)"
109 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 ! 109 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 !"
110 annotations: Supprimer TOUTES les annotations 110 annotations: "Supprimer TOUTES les annotations"
111 tags: Supprimer TOUS les tags 111 tags: "Supprimer TOUS les tags"
112 entries: Supprimer TOUS les articles 112 entries: "Supprimer TOUS les articles"
113 archived: Supprimer TOUS les articles archivés 113 archived: "Supprimer TOUS les articles archivés"
114 confirm: Êtes-vous vraiment vraiment sûr ? (C'EST IRRÉVERSIBLE) 114 confirm: "Êtes-vous vraiment vraiment sûr ? (CEST IRRÉVERSIBLE)"
115 form_password: 115 form_password:
116 description: "Vous pouvez changer ici votre mot de passe. Le mot de passe doit contenir au moins 8 caractères." 116 description: "Vous pouvez changer ici votre mot de passe. Le mot de passe doit contenir au moins 8 caractères."
117 old_password_label: "Mot de passe actuel" 117 old_password_label: "Mot de passe actuel"
@@ -163,7 +163,7 @@ entry:
163 archived: "Articles lus" 163 archived: "Articles lus"
164 filtered: "Articles filtrés" 164 filtered: "Articles filtrés"
165 filtered_tags: "Articles filtrés par tags :" 165 filtered_tags: "Articles filtrés par tags :"
166 filtered_search: 'Articles filtrés par recherche :' 166 filtered_search: "Articles filtrés par recherche :"
167 untagged: "Article sans tag" 167 untagged: "Article sans tag"
168 list: 168 list:
169 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." 169 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:
187 preview_picture_label: "A une photo" 187 preview_picture_label: "A une photo"
188 preview_picture_help: "Photo" 188 preview_picture_help: "Photo"
189 language_label: "Langue" 189 language_label: "Langue"
190 http_status_label: 'Statut HTTP' 190 http_status_label: "Statut HTTP"
191 reading_time: 191 reading_time:
192 label: "Durée de lecture en minutes" 192 label: "Durée de lecture en minutes"
193 from: "de" 193 from: "de"
@@ -297,32 +297,32 @@ howto:
297 bookmarklet: 297 bookmarklet:
298 description: "Glissez et déposez ce lien dans votre barre de favoris :" 298 description: "Glissez et déposez ce lien dans votre barre de favoris :"
299 shortcuts: 299 shortcuts:
300 page_description: Voici les raccourcis disponibles dans wallabag. 300 page_description: "Voici les raccourcis disponibles dans wallabag."
301 shortcut: Raccourci 301 shortcut: "Raccourci"
302 action: Action 302 action: "Action"
303 all_pages_title: Raccourcis disponibles dans toutes les pages 303 all_pages_title: "Raccourcis disponibles dans toutes les pages"
304 go_unread: Afficher les articles non lus 304 go_unread: "Afficher les articles non lus"
305 go_starred: Afficher les articles favoris 305 go_starred: "Afficher les articles favoris"
306 go_archive: Afficher les articles lus 306 go_archive: "Afficher les articles lus"
307 go_all: Afficher tous les articles 307 go_all: "Afficher tous les articles"
308 go_tags: Afficher les tags 308 go_tags: "Afficher les tags"
309 go_config: Aller à la configuration 309 go_config: "Aller à la configuration"
310 go_import: Aller aux imports 310 go_import: "Aller aux imports"
311 go_developers: Aller à la section Développeurs 311 go_developers: "Aller à la section Développeurs"
312 go_howto: Afficher l'aide (cette page !) 312 go_howto: "Afficher laide (cette page !)"
313 go_logout: Se déconnecter 313 go_logout: "Se déconnecter"
314 list_title: Raccourcis disponibles dans les pages de liste 314 list_title: "Raccourcis disponibles dans les pages de liste"
315 search: Afficher le formulaire de recherche 315 search: "Afficher le formulaire de recherche"
316 article_title: Raccourcis disponibles quand on affiche un article 316 article_title: "Raccourcis disponibles quand on affiche un article"
317 open_original: Ouvrir l'URL originale de l'article 317 open_original: "Ouvrir lURL originale de larticle"
318 toggle_favorite: Changer le statut Favori de l'article 318 toggle_favorite: "Changer le statut Favori de larticle"
319 toggle_archive: Changer le status Lu de l'article 319 toggle_archive: "Changer le status Lu de larticle"
320 delete: Supprimer l'article 320 delete: "Supprimer larticle"
321 material_title: Raccourcis disponibles avec le thème Material uniquement 321 material_title: "Raccourcis disponibles avec le thème Material uniquement"
322 add_link: Ajouter un nouvel article 322 add_link: "Ajouter un nouvel article"
323 hide_form: Masquer le formulaire courant (recherche ou nouvel article) 323 hide_form: "Masquer le formulaire courant (recherche ou nouvel article)"
324 arrows_navigation: Naviguer à travers les articles 324 arrows_navigation: "Naviguer à travers les articles"
325 open_article: Afficher l'article sélectionné 325 open_article: "Afficher larticle sélectionné"
326 326
327quickstart: 327quickstart:
328 page_title: "Pour bien débuter" 328 page_title: "Pour bien débuter"
@@ -384,8 +384,8 @@ tag:
384 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." 384 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."
385 see_untagged_entries: "Voir les articles sans tag" 385 see_untagged_entries: "Voir les articles sans tag"
386 new: 386 new:
387 add: 'Ajouter' 387 add: "Ajouter"
388 placeholder: 'Vous pouvez ajouter plusieurs tags, séparés par une virgule.' 388 placeholder: "Vous pouvez ajouter plusieurs tags, séparés par une virgule."
389 389
390import: 390import:
391 page_title: "Importer" 391 page_title: "Importer"
@@ -419,7 +419,7 @@ import:
419 how_to: "Choisissez le fichier de votre export Readability et cliquez sur le bouton ci-dessous pour l’importer." 419 how_to: "Choisissez le fichier de votre export Readability et cliquez sur le bouton ci-dessous pour l’importer."
420 worker: 420 worker:
421 enabled: "Les imports sont asynchrones. Une fois l’import commencé un worker externe traitera les messages un par un. Le service activé est :" 421 enabled: "Les imports sont asynchrones. Une fois l’import commencé un worker externe traitera les messages un par un. Le service activé est :"
422 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." 422 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."
423 firefox: 423 firefox:
424 page_title: "Import > Firefox" 424 page_title: "Import > Firefox"
425 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>" 425 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:
488 back: "Retour" 488 back: "Retour"
489 489
490user: 490user:
491 page_title: Gestion des utilisateurs 491 page_title: "Gestion des utilisateurs"
492 new_user: Créer un nouvel utilisateur 492 new_user: "Créer un nouvel utilisateur"
493 edit_user: Éditer un utilisateur existant 493 edit_user: "Éditer un utilisateur existant"
494 description: Ici vous pouvez gérer vos utilisateurs (création, mise à jour et suppression) 494 description: "Ici vous pouvez gérer vos utilisateurs (création, mise à jour et suppression)"
495 list: 495 list:
496 actions: Actions 496 actions: "Actions"
497 edit_action: Éditer 497 edit_action: "Éditer"
498 yes: Oui 498 yes: "Oui"
499 no: Non 499 no: "Non"
500 create_new_one: Créer un nouvel utilisateur 500 create_new_one: "Créer un nouvel utilisateur"
501 form: 501 form:
502 username_label: "Nom d’utilisateur" 502 username_label: "Nom d’utilisateur"
503 name_label: "Nom" 503 name_label: "Nom"
@@ -513,11 +513,10 @@ user:
513 delete_confirm: "Voulez-vous vraiment ?" 513 delete_confirm: "Voulez-vous vraiment ?"
514 back_to_list: "Revenir à la liste" 514 back_to_list: "Revenir à la liste"
515 search: 515 search:
516 label: Filtrer 516 placeholder: "Filtrer par nom d’utilisateur ou email"
517 placeholder: Filtrer par nom d'utilisateur ou email
518 517
519error: 518error:
520 page_title: Une erreur est survenue 519 page_title: "Une erreur est survenue"
521 520
522flashes: 521flashes:
523 config: 522 config:
@@ -530,10 +529,10 @@ flashes:
530 tagging_rules_updated: "Règles mises à jour" 529 tagging_rules_updated: "Règles mises à jour"
531 tagging_rules_deleted: "Règle supprimée" 530 tagging_rules_deleted: "Règle supprimée"
532 rss_token_updated: "Jeton RSS mis à jour" 531 rss_token_updated: "Jeton RSS mis à jour"
533 annotations_reset: Annotations supprimées 532 annotations_reset: "Annotations supprimées"
534 tags_reset: Tags supprimés 533 tags_reset: "Tags supprimés"
535 entries_reset: Articles supprimés 534 entries_reset: "Articles supprimés"
536 archived_reset: Articles archivés supprimés 535 archived_reset: "Articles archivés supprimés"
537 entry: 536 entry:
538 notice: 537 notice:
539 entry_already_saved: "Article déjà sauvegardé le %date%" 538 entry_already_saved: "Article déjà sauvegardé le %date%"
@@ -565,6 +564,6 @@ flashes:
565 client_deleted: "Client %name% supprimé" 564 client_deleted: "Client %name% supprimé"
566 user: 565 user:
567 notice: 566 notice:
568 added: 'Utilisateur "%username%" ajouté' 567 added: "Utilisateur \"%username%\" ajouté"
569 updated: 'Utilisateur "%username%" mis à jour' 568 updated: "Utilisateur \"%username%\" mis à jour"
570 deleted: 'Utilisateur "%username%" supprimé' 569 deleted: "Utilisateur \"%username%\" supprimé"
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
index 53b5e1b9..364e9a1f 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
@@ -513,7 +513,6 @@ user:
513 # delete_confirm: Are you sure? 513 # delete_confirm: Are you sure?
514 # back_to_list: Back to list 514 # back_to_list: Back to list
515 search: 515 search:
516 # label: Filter
517 # placeholder: Filter by username or email 516 # placeholder: Filter by username or email
518 517
519error: 518error:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
index c6614a63..4877238e 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
@@ -513,7 +513,6 @@ user:
513 delete_confirm: 'Sètz segur ?' 513 delete_confirm: 'Sètz segur ?'
514 back_to_list: 'Tornar a la lista' 514 back_to_list: 'Tornar a la lista'
515 search: 515 search:
516 # label: Filter
517 # placeholder: Filter by username or email 516 # placeholder: Filter by username or email
518 517
519error: 518error:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
index b464d0f6..9e61162a 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
@@ -513,7 +513,6 @@ user:
513 delete_confirm: Jesteś pewien? 513 delete_confirm: Jesteś pewien?
514 back_to_list: Powrót do listy 514 back_to_list: Powrót do listy
515 search: 515 search:
516 # label: Filter
517 # placeholder: Filter by username or email 516 # placeholder: Filter by username or email
518 517
519error: 518error:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
index 2b0b1686..30705c0a 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
@@ -513,7 +513,6 @@ user:
513 delete_confirm: 'Tem certeza?' 513 delete_confirm: 'Tem certeza?'
514 back_to_list: 'Voltar para a lista' 514 back_to_list: 'Voltar para a lista'
515 search: 515 search:
516 # label: Filter
517 # placeholder: Filter by username or email 516 # placeholder: Filter by username or email
518 517
519error: 518error:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
index 210978d0..d3c5a0f8 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
@@ -513,7 +513,6 @@ user:
513 # delete_confirm: Are you sure? 513 # delete_confirm: Are you sure?
514 # back_to_list: Back to list 514 # back_to_list: Back to list
515 search: 515 search:
516 # label: Filter
517 # placeholder: Filter by username or email 516 # placeholder: Filter by username or email
518 517
519error: 518error:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
index 5ff5e012..27b43606 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
@@ -513,7 +513,6 @@ user:
513 # delete_confirm: Are you sure? 513 # delete_confirm: Are you sure?
514 # back_to_list: Back to list 514 # back_to_list: Back to list
515 search: 515 search:
516 # label: Filter
517 # placeholder: Filter by username or email 516 # placeholder: Filter by username or email
518 517
519error: 518error:
diff --git a/src/Wallabag/UserBundle/Controller/ManageController.php b/src/Wallabag/UserBundle/Controller/ManageController.php
index 3ea773ee..1c5c86d4 100644
--- a/src/Wallabag/UserBundle/Controller/ManageController.php
+++ b/src/Wallabag/UserBundle/Controller/ManageController.php
@@ -20,38 +20,6 @@ use Wallabag\UserBundle\Form\SearchUserType;
20class ManageController extends Controller 20class ManageController extends Controller
21{ 21{
22 /** 22 /**
23 * Lists all User entities.
24 *
25 * @Route("/list/{page}", name="user_index")
26 * @Method("GET")
27 *
28 * @param int $page
29 *
30 * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
31 */
32 public function indexAction($page = 1)
33 {
34 $em = $this->getDoctrine()->getManager();
35
36 $qb = $em->getRepository('WallabagUserBundle:User')->createQueryBuilder('u');
37 $pagerAdapter = new DoctrineORMAdapter($qb->getQuery(), true, false);
38 $pagerFanta = new Pagerfanta($pagerAdapter);
39 $pagerFanta->setMaxPerPage(50);
40
41 try {
42 $pagerFanta->setCurrentPage($page);
43 } catch (OutOfRangeCurrentPageException $e) {
44 if ($page > 1) {
45 return $this->redirect($this->generateUrl('user_index', ['page' => $pagerFanta->getNbPages()]), 302);
46 }
47 }
48
49 return $this->render('WallabagUserBundle:Manage:index.html.twig', array(
50 'users' => $pagerFanta,
51 ));
52 }
53
54 /**
55 * Creates a new User entity. 23 * Creates a new User entity.
56 * 24 *
57 * @Route("/new", name="user_new") 25 * @Route("/new", name="user_new")
@@ -169,52 +137,44 @@ class ManageController extends Controller
169 * @param Request $request 137 * @param Request $request
170 * @param int $page 138 * @param int $page
171 * 139 *
172 * @Route("/search/{page}", name="user-search", defaults={"page" = 1}) 140 * @Route("/list/{page}", name="user_index", defaults={"page" = 1})
173 * 141 *
174 * Default parameter for page is hardcoded (in duplication of the defaults from the Route) 142 * Default parameter for page is hardcoded (in duplication of the defaults from the Route)
175 * because this controller is also called inside the layout template without any page as argument 143 * because this controller is also called inside the layout template without any page as argument
176 * 144 *
177 * @return \Symfony\Component\HttpFoundation\Response 145 * @return \Symfony\Component\HttpFoundation\Response
178 */ 146 */
179 public function searchFormAction(Request $request, $page = 1, $currentRoute = null) 147 public function searchFormAction(Request $request, $page = 1)
180 { 148 {
181 // fallback to retrieve currentRoute from query parameter instead of injected one (when using inside a template) 149 $em = $this->getDoctrine()->getManager();
182 if (null === $currentRoute && $request->query->has('currentRoute')) { 150 $qb = $em->getRepository('WallabagUserBundle:User')->createQueryBuilder('u');
183 $currentRoute = $request->query->get('currentRoute');
184 }
185 151
186 $form = $this->createForm(SearchUserType::class); 152 $form = $this->createForm(SearchUserType::class);
187
188 $form->handleRequest($request); 153 $form->handleRequest($request);
189 154
190 if ($form->isSubmitted() && $form->isValid()) { 155 if ($form->isSubmitted() && $form->isValid()) {
191 $this->get('logger')->info('searching users'); 156 $this->get('logger')->info('searching users');
192 $em = $this->getDoctrine()->getManager();
193 157
194 $searchTerm = (isset($request->get('search_user')['term']) ? $request->get('search_user')['term'] : ''); 158 $searchTerm = (isset($request->get('search_user')['term']) ? $request->get('search_user')['term'] : '');
195 159
196 $qb = $em->getRepository('WallabagUserBundle:User')->getQueryBuilderForSearch($searchTerm); 160 $qb = $em->getRepository('WallabagUserBundle:User')->getQueryBuilderForSearch($searchTerm);
161 }
197 162
198 $pagerAdapter = new DoctrineORMAdapter($qb->getQuery(), true, false); 163 $pagerAdapter = new DoctrineORMAdapter($qb->getQuery(), true, false);
199 $pagerFanta = new Pagerfanta($pagerAdapter); 164 $pagerFanta = new Pagerfanta($pagerAdapter);
200 $pagerFanta->setMaxPerPage(50); 165 $pagerFanta->setMaxPerPage(50);
201 166
202 try { 167 try {
203 $pagerFanta->setCurrentPage($page); 168 $pagerFanta->setCurrentPage($page);
204 } catch (OutOfRangeCurrentPageException $e) { 169 } catch (OutOfRangeCurrentPageException $e) {
205 if ($page > 1) { 170 if ($page > 1) {
206 return $this->redirect($this->generateUrl('user_index', ['page' => $pagerFanta->getNbPages()]), 302); 171 return $this->redirect($this->generateUrl('user_index', ['page' => $pagerFanta->getNbPages()]), 302);
207 }
208 } 172 }
209
210 return $this->render('WallabagUserBundle:Manage:index.html.twig', array(
211 'users' => $pagerFanta,
212 ));
213 } 173 }
214 174
215 return $this->render('WallabagUserBundle:Manage:search_form.html.twig', [ 175 return $this->render('WallabagUserBundle:Manage:index.html.twig', [
216 'form' => $form->createView(), 176 'searchForm' => $form->createView(),
217 'currentRoute' => $currentRoute, 177 'users' => $pagerFanta,
218 ]); 178 ]);
219 } 179 }
220} 180}
diff --git a/src/Wallabag/UserBundle/Resources/views/Manage/index.html.twig b/src/Wallabag/UserBundle/Resources/views/Manage/index.html.twig
index 7a76f157..15002632 100644
--- a/src/Wallabag/UserBundle/Resources/views/Manage/index.html.twig
+++ b/src/Wallabag/UserBundle/Resources/views/Manage/index.html.twig
@@ -16,7 +16,19 @@
16 </div> 16 </div>
17 <div class="col s6"> 17 <div class="col s6">
18 <div class="input-field"> 18 <div class="input-field">
19 {{ render(controller("WallabagUserBundle:Manage:searchForm", {'currentRoute': app.request.attributes.get('_route')})) }} 19 <form name="search_users" method="GET" action="{{ path('user_index')}}">
20 {% if form_errors(searchForm) %}
21 <span class="black-text">{{ form_errors(searchForm) }}</span>
22 {% endif %}
23
24 {% if form_errors(searchForm.term) %}
25 <span class="black-text">{{ form_errors(searchForm.term) }}</span>
26 {% endif %}
27
28 {{ form_widget(searchForm.term, { 'attr': {'autocomplete': 'off', 'placeholder': 'user.search.placeholder'} }) }}
29
30 {{ form_rest(searchForm) }}
31 </form>
20 </div> 32 </div>
21 </div> 33 </div>
22 34
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
index 1d4df204..00000000
--- a/src/Wallabag/UserBundle/Resources/views/Manage/search_form.html.twig
+++ /dev/null
@@ -1,15 +0,0 @@
1<form name="search_users" method="GET" action="{{ path('user-search')}}">
2 {% if form_errors(form) %}
3 <span class="black-text">{{ form_errors(form) }}</span>
4 {% endif %}
5
6 {% if form_errors(form.term) %}
7 <span class="black-text">{{ form_errors(form.term) }}</span>
8 {% endif %}
9
10 <i class="material-icons prefix">search</i>
11 {{ form_widget(form.term, { 'attr': {'autocomplete': 'off', 'placeholder': 'user.search.placeholder'} }) }}
12 <label for="search_user_term" class="active">{{ 'user.search.label' | trans }}</label>
13
14 {{ form_rest(form) }}
15</form>