From 6334f2cac16158a0ea4a8e540ace17550085942b Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Mon, 30 May 2016 14:32:41 +0200 Subject: [PATCH] Display a message when saving an entry failed When saving an entry fail because of database error we previously just returned `false`. Now we got an error in the log and the displayed notice to the user is updated too. --- .../CoreBundle/Controller/EntryController.php | 17 ++++--- .../Resources/translations/messages.da.yml | 1 + .../Resources/translations/messages.de.yml | 1 + .../Resources/translations/messages.en.yml | 1 + .../Resources/translations/messages.es.yml | 1 + .../Resources/translations/messages.fa.yml | 45 ++++++++++--------- .../Resources/translations/messages.fr.yml | 1 + .../Resources/translations/messages.it.yml | 1 + .../Resources/translations/messages.oc.yml | 1 + .../Resources/translations/messages.pl.yml | 1 + .../Resources/translations/messages.ro.yml | 1 + .../Resources/translations/messages.tr.yml | 1 + 12 files changed, 45 insertions(+), 27 deletions(-) diff --git a/src/Wallabag/CoreBundle/Controller/EntryController.php b/src/Wallabag/CoreBundle/Controller/EntryController.php index 69dfd4b1..33b5e2ad 100644 --- a/src/Wallabag/CoreBundle/Controller/EntryController.php +++ b/src/Wallabag/CoreBundle/Controller/EntryController.php @@ -23,10 +23,16 @@ class EntryController extends Controller { try { $entry = $this->get('wallabag_core.content_proxy')->updateEntry($entry, $entry->getUrl()); + $em = $this->getDoctrine()->getManager(); $em->persist($entry); $em->flush(); } catch (\Exception $e) { + $this->get('logger')->error('Error while saving an entry', [ + 'exception' => $e, + 'entry' => $entry, + ]); + return false; } @@ -60,11 +66,12 @@ class EntryController extends Controller return $this->redirect($this->generateUrl('view', ['id' => $existingEntry->getId()])); } - $this->updateEntry($entry); - $this->get('session')->getFlashBag()->add( - 'notice', - 'flashes.entry.notice.entry_saved' - ); + $message = 'flashes.entry.notice.entry_saved'; + if (false === $this->updateEntry($entry)) { + $message = 'flashes.entry.notice.entry_saved_failed'; + } + + $this->get('session')->getFlashBag()->add('notice', $message); return $this->redirect($this->generateUrl('homepage')); } diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml index 1e58352d..213d5790 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml @@ -397,6 +397,7 @@ flashes: notice: # entry_already_saved: 'Entry already saved on %date%' # entry_saved: 'Entry saved' + # entry_saved_failed: 'Failed to save entry' # entry_updated: 'Entry updated' # entry_reloaded: 'Entry reloaded' # entry_reload_failed: 'Failed to reload entry' diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml index 512b01bc..89cbbbf8 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml @@ -397,6 +397,7 @@ flashes: notice: entry_already_saved: 'Eintrag bereits am %date% gespeichert' entry_saved: 'Eintag gespeichert' + # entry_saved_failed: 'Failed to save entry' entry_updated: 'Eintrag aktualisiert' entry_reloaded: 'Eintrag neugeladen' entry_reload_failed: 'Neuladen des Eintrags fehlgeschlagen' diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml index ae03f809..b65e4522 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml @@ -397,6 +397,7 @@ flashes: notice: entry_already_saved: 'Entry already saved on %date%' entry_saved: 'Entry saved' + entry_saved_failed: 'Failed to save entry' entry_updated: 'Entry updated' entry_reloaded: 'Entry reloaded' entry_reload_failed: 'Failed to reload entry' diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml index 0ae2e243..8351bcf4 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml @@ -397,6 +397,7 @@ flashes: notice: entry_already_saved: 'Entrada ya guardada por %fecha%' entry_saved: 'Entrada guardada' + # entry_saved_failed: 'Failed to save entry' entry_updated: 'Entrada actualizada' entry_reloaded: 'Entrada recargada' entry_reload_failed: 'Entrada recargada reprobada' diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml index b0601543..db6e5960 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml @@ -96,8 +96,8 @@ config: rule_label: 'قانون' tags_label: 'برچسب‌ها' faq: - title: 'پرسش‌های متداول' - tagging_rules_definition_title: 'برچسب‌گذاری خودکار یعنی چه؟' + title: 'پرسش‌های متداول' + tagging_rules_definition_title: 'برچسب‌گذاری خودکار یعنی چه؟' # tagging_rules_definition_description: 'They are rules used by Wallabag to automatically tag new entries.
Each time a new entry is added, all the tagging rules will be used to add the tags you configured, thus saving you the trouble to manually classify your entries.' # how_to_use_them_title: 'How do I use them?' # how_to_use_them_description: 'Let assume you want to tag new entries as « short reading » when the reading time is inferior to 3 minutes.
In that case, you should put « readingTime <= 3 » in the Rule field and « short reading » in the Tags field.
Several tags can added simultaneously by separating them by a comma: « short reading, must read »
Complex rules can be written by using predefined operators: if « readingTime >= 5 AND domainName = "github.com" » then tag as « long reading, github »' @@ -384,30 +384,31 @@ developer: flashes: config: notice: - config_saved: 'پیکربندی ذخیره شد. برخی از تنظیمات پس از این که قطع شدید اعمال می‌شود.' - password_updated: 'رمز به‌روز شد' - password_not_updated_demo: "در حالت نمایشی نمی‌توانید رمز کاربر را عوض کنید." - user_updated: 'اطلاعات به‌روز شد' - rss_updated: 'اطلاعات آر-اس-اس به‌روز شد' - tagging_rules_updated: 'برچسب‌گذاری خودکار به‌روز شد' - tagging_rules_deleted: 'قانون برچسب‌گذاری پاک شد' - user_added: 'کابر "%username%" افزوده شد' - rss_token_updated: 'کد آر-اس-اس به‌روز شد' + config_saved: 'پیکربندی ذخیره شد. برخی از تنظیمات پس از این که قطع شدید اعمال می‌شود.' + password_updated: 'رمز به‌روز شد' + password_not_updated_demo: "در حالت نمایشی نمی‌توانید رمز کاربر را عوض کنید." + user_updated: 'اطلاعات به‌روز شد' + rss_updated: 'اطلاعات آر-اس-اس به‌روز شد' + tagging_rules_updated: 'برچسب‌گذاری خودکار به‌روز شد' + tagging_rules_deleted: 'قانون برچسب‌گذاری پاک شد' + user_added: 'کابر "%username%" افزوده شد' + rss_token_updated: 'کد آر-اس-اس به‌روز شد' entry: notice: - entry_already_saved: 'این مقاله در تاریخ %date% ذخیره شده بود' - entry_saved: 'مقاله ذخیره شد' - entry_updated: 'مقاله به‌روز شد' - entry_reloaded: 'مقاله به‌روز شد' - entry_reload_failed: 'به‌روزرسانی مقاله شکست خورد' - entry_archived: 'مقاله بایگانی شد' - entry_unarchived: 'مقاله از بایگانی درآمد' - entry_starred: 'مقاله برگزیده شد' - entry_unstarred: 'مقاله نابرگزیده شد' - entry_deleted: 'مقاله پاک شد' + entry_already_saved: 'این مقاله در تاریخ %date% ذخیره شده بود' + entry_saved: 'مقاله ذخیره شد' + # entry_saved_failed: 'Failed to save entry' + entry_updated: 'مقاله به‌روز شد' + entry_reloaded: 'مقاله به‌روز شد' + entry_reload_failed: 'به‌روزرسانی مقاله شکست خورد' + entry_archived: 'مقاله بایگانی شد' + entry_unarchived: 'مقاله از بایگانی درآمد' + entry_starred: 'مقاله برگزیده شد' + entry_unstarred: 'مقاله نابرگزیده شد' + entry_deleted: 'مقاله پاک شد' tag: notice: - tag_added: 'برچسب افزوده شد' + tag_added: 'برچسب افزوده شد' import: notice: failed: 'درون‌ریزی شکست خورد. لطفاً دوباره تلاش کنید.' diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml index 954ab0c3..9fc8ca2a 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml @@ -397,6 +397,7 @@ flashes: notice: entry_already_saved: 'Article déjà sauvergardé le %date%' entry_saved: 'Article enregistré' + entry_saved_failed: "L'enregistrement a échoué" entry_updated: 'Article mis à jour' entry_reloaded: 'Article rechargé' entry_reload_failed: "Le rechargement de l'article a échoué" diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml index 4f3ac090..00ed9c98 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml @@ -396,6 +396,7 @@ flashes: notice: entry_already_saved: 'Contenuto già salvato in data %date%' entry_saved: 'Contenuto salvato' + # entry_saved_failed: 'Failed to save entry' entry_updated: 'Contenuto aggiornato' entry_reloaded: 'Contenuto ricaricato' entry_reload_failed: 'Errore nel ricaricamento del contenuto' diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml index 24b8c6e2..c81c852b 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml @@ -397,6 +397,7 @@ flashes: notice: entry_already_saved: 'Article ja salvargardat lo %date%' entry_saved: 'Article enregistrat' + # entry_saved_failed: 'Failed to save entry' entry_updated: 'Article mes a jorn' entry_reloaded: 'Article recargat' entry_reload_failed: "Fracàs de l'actualizacion de l'article" diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml index fa23f0b8..3707a857 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml @@ -397,6 +397,7 @@ flashes: notice: entry_already_saved: 'Wpis już został dodany %date%' entry_saved: 'Wpis zapisany' + # entry_saved_failed: 'Failed to save entry' entry_updated: 'Wpis zaktualizowany' entry_reloaded: 'Wpis ponownie załadowany' entry_reload_failed: 'Błąd ponownego załadowania' diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml index 648ba370..27be1edc 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml @@ -397,6 +397,7 @@ flashes: notice: # entry_already_saved: 'Entry already saved on %date%' # entry_saved: 'Entry saved' + # entry_saved_failed: 'Failed to save entry' # entry_updated: 'Entry updated' # entry_reloaded: 'Entry reloaded' # entry_reload_failed: 'Failed to reload entry' diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml index 0fc8d328..85ee7316 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml @@ -397,6 +397,7 @@ flashes: notice: entry_already_saved: 'Entry already saved on %date%' entry_saved: 'Makale kaydedildi' + # entry_saved_failed: 'Failed to save entry' # entry_updated: 'Entry updated' entry_reloaded: 'Makale içeriği yenilendi' # entry_reload_failed: 'Failed to reload entry' -- 2.41.0