From 28ab4786a15f79c9dd554bf3cfdadf837ab11774 Mon Sep 17 00:00:00 2001 From: Jocelyn Fiat Date: Tue, 30 Jun 2015 16:11:49 +0200 Subject: [PATCH] Provided a CMS_EMAIL, and CMS_API.process_email (CMS_EMAIL) --- src/configuration/cms_default_setup.e | 2 +- src/service/cms_api.e | 22 ++++++++++++++++++++++ src/service/cms_email.e | 18 ++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 src/service/cms_email.e diff --git a/src/configuration/cms_default_setup.e b/src/configuration/cms_default_setup.e index 1db87cd..4a3fb92 100644 --- a/src/configuration/cms_default_setup.e +++ b/src/configuration/cms_default_setup.e @@ -162,7 +162,7 @@ feature -- Access elseif l_output.is_case_insensitive_equal ("@stdout") then f := io.output else - create {PLAIN_TEXT_FILE} f.make_with_name (l_output) + create {RAW_FILE} f.make_with_name (l_output) if not f.exists then f.create_read_write f.close diff --git a/src/service/cms_api.e b/src/service/cms_api.e index 0933765..c963075 100644 --- a/src/service/cms_api.e +++ b/src/service/cms_api.e @@ -137,6 +137,28 @@ feature -- Logging end end +feature -- Emails + + process_email (e: CMS_EMAIL) + -- Process email `e'. + do + reset_error + setup.mailer.safe_process_email (e) + if setup.mailer.has_error then + error_handler.add_custom_error (0, "Mailer error", "Error occurred while processing email.") + end + end + + process_emails (lst: ITERABLE [CMS_EMAIL]) + -- Process collection of email `lst'. + do + reset_error + setup.mailer.process_emails (lst) + if setup.mailer.has_error then + error_handler.add_custom_error (0, "Mailer error", "Error occurred while processing emails.") + end + end + feature -- Permissions system user_has_permission (a_user: detachable CMS_USER; a_permission: detachable READABLE_STRING_GENERAL): BOOLEAN diff --git a/src/service/cms_email.e b/src/service/cms_email.e new file mode 100644 index 0000000..a61d9d8 --- /dev/null +++ b/src/service/cms_email.e @@ -0,0 +1,18 @@ +note + description: "CMS interface representing an email to be used with {CMS_API}.process_email (e: CMS_EMAIL)." + date: "$Date$" + revision: "$Revision$" + +class + CMS_EMAIL + +inherit + NOTIFICATION_EMAIL + +create + make + +note + copyright: "2011-2015, Jocelyn Fiat, Javier Velilla, Eiffel Software and others" + license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" +end