From 0ae466f5fa1f36deba88a87dc32fd5f6909d80ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ja=CC=81n=20Mikla=CC=81s=CC=8C?= Date: Wed, 18 Sep 2019 15:53:29 +0200 Subject: [PATCH] Show error notice when trying to delete segment, which is assigned to automated email [MAILPOET-2352] --- assets/js/src/segments/list.jsx | 18 +++++++++++++++++- views/segments.html | 1 + 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/assets/js/src/segments/list.jsx b/assets/js/src/segments/list.jsx index fa158a5104..588b8139e1 100644 --- a/assets/js/src/segments/list.jsx +++ b/assets/js/src/segments/list.jsx @@ -202,7 +202,23 @@ const itemActions = [ { name: 'trash', display: function display(segment) { - return !isSpecialSegment(segment); + return !isSpecialSegment(segment) && segment.automated_emails_subjects.length === 0; + }, + }, + { + name: 'delete', + label: MailPoet.I18n.t('moveToTrash'), + onClick: function onClick(segment) { + MailPoet.Notice.error( + MailPoet.I18n.t('trashDisallowed').replace( + '%$1s', + segment.automated_emails_subjects.map((subject) => `'${subject}'`).join(', ') + ), + { scroll: true } + ); + }, + display: function display(segment) { + return !isSpecialSegment(segment) && segment.automated_emails_subjects.length > 0; }, }, ]; diff --git a/views/segments.html b/views/segments.html index 7467bf280a..fe06c374e3 100644 --- a/views/segments.html +++ b/views/segments.html @@ -59,6 +59,7 @@ 'restore': __('Restore'), 'deletePermanently': __('Delete permanently'), 'save': __('Save'), + 'trashDisallowed': _x('List cannot be deleted because it’s used for %$1s email', 'Alert shown when trying to delete segment, which is assigned to any automatic emails.'), 'previousPage': __('Previous page'), 'firstPage': __('First page'),