From f5f056e7f213666d9e9556092795b07df8e8354d Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Tue, 05 Aug 2014 08:09:25 -0400
Subject: [PATCH] Fix default vacation status (#1490019) - improve error message

---
 plugins/managesieve/Changelog                              |    1 +
 plugins/managesieve/localization/en_US.inc                 |    1 +
 plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php |    5 +++--
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/plugins/managesieve/Changelog b/plugins/managesieve/Changelog
index 2ce1c5f..c10fdeb 100644
--- a/plugins/managesieve/Changelog
+++ b/plugins/managesieve/Changelog
@@ -1,4 +1,5 @@
 - Fix missing css/js scripts in filter form in mail task
+- Fix default vacation status (#1490019)
 - Fix bug where non-existing (or unsubscribed) folder wasn't listed in folder selector (#1489956)
 - Added optional separate interface for out-of-office management (#1488266)
 - Fix disabled "create filter" action
diff --git a/plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php b/plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php
index aa65966..405a8a0 100644
--- a/plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php
+++ b/plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php
@@ -107,8 +107,9 @@
         }
 
         if ($vacation_action['reason'] == '') {
-            $error = 'managesieve.cannotbeempty';
+            $error = 'managesieve.emptyvacationbody';
         }
+
         if ($vacation_action[$interval_type] && !preg_match('/^[0-9]+$/', $vacation_action[$interval_type])) {
             $error = 'managesieve.forbiddenchars';
         }
@@ -276,7 +277,7 @@
         }
 
         $table->add('title', html::label('vacation_status', $this->plugin->gettext('vacation.status')));
-        $table->add(null, $status->show($this->vacation['disabled'] ? 'off' : 'on'));
+        $table->add(null, $status->show(!isset($this->vacation['disabled']) || $this->vacation['disabled'] ? 'off' : 'on'));
 
         $out .= html::tag('fieldset', $class, html::tag('legend', null, $this->plugin->gettext('vacation.reply')) . $table->show($attrib));
 
diff --git a/plugins/managesieve/localization/en_US.inc b/plugins/managesieve/localization/en_US.inc
index 1ea7d96..091c96f 100644
--- a/plugins/managesieve/localization/en_US.inc
+++ b/plugins/managesieve/localization/en_US.inc
@@ -213,5 +213,6 @@
 $messages['invaliddateformat'] = 'Invalid date or date part format';
 $messages['saveerror'] = 'Unable to save data. Server error occurred.';
 $messages['vacationsaved'] = 'Vacation data saved successfully.';
+$messages['emptyvacationbody'] = 'Body of vacation message is required!';
 
 ?>

--
Gitblit v1.9.1