From d06a5301c48026f450a4047336c784a624cc937f Mon Sep 17 00:00:00 2001 From: Jan Schneider Date: Fri, 12 Feb 2010 22:37:01 +0100 Subject: [PATCH] Fix if Nag is not installed. --- kronolith/js/kronolith.js | 17 +++++++++++++---- kronolith/lib/Kronolith.php | 1 + 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/kronolith/js/kronolith.js b/kronolith/js/kronolith.js index 2f131d412..66a6d08c0 100644 --- a/kronolith/js/kronolith.js +++ b/kronolith/js/kronolith.js @@ -3808,6 +3808,8 @@ KronolithCore = { /* Onload function. */ onDomLoad: function() { + var dateFields, timeFields; + if (typeof ContextSensitive != 'undefined') { this.DMenu = new ContextSensitive({ onClick: this.contextOnClick, onShow: this.contextOnShow }); } @@ -3832,10 +3834,18 @@ KronolithCore = { $('kronolithEventStartDate', 'kronolithEventEndDate', 'kronolithTaskDueDate').compact().invoke('observe', 'blur', this.checkDate.bind(this)); $('kronolithEventStartTime', 'kronolithEventEndTime', 'kronolithTaskDueTime').compact().invoke('observe', 'blur', this.checkTime.bind(this)); - $('kronolithTaskDueDate', 'kronolithEventDueTime').compact().invoke('observe', 'focus', this.setDefaultDue.bind(this)); + if (Kronolith.conf.has_tasks) { + $('kronolithTaskDueDate', 'kronolithEventDueTime').compact().invoke('observe', 'focus', this.setDefaultDue.bind(this)); + } // Mouse wheel handler. - [ 'kronolithEventStartDate', 'kronolithEventEndDate', 'kronolithTaskDueDate' ].each(function(field) { + dateFields = [ 'kronolithEventStartDate', 'kronolithEventEndDate' ]; + timeFields = [ 'kronolithEventStartTime', 'kronolithEventEndTime' ]; + if (Kronolith.conf.has_tasks) { + dateFields.push('kronolithTaskDueDate'); + timeFields.push('kronolithTaskDueTime'); + } + dateFields.each(function(field) { $(field).observe(Prototype.Browser.Gecko ? 'DOMMouseScroll' : 'mousewheel', function(e) { var date = Date.parseExact($F(field), Kronolith.conf.date_format); if (!date || (!e.wheelData && !e.detail)) { @@ -3845,8 +3855,7 @@ KronolithCore = { $(field).setValue(date.toString(Kronolith.conf.date_format)); }); }); - - [ 'kronolithEventStartTime', 'kronolithEventEndTime', 'kronolithTaskDueTime' ].each(function(field) { + timeFields.each(function(field) { $(field).observe(Prototype.Browser.Gecko ? 'DOMMouseScroll' : 'mousewheel', function(e) { var time = $F(field).match(/(\d+)\s*:\s*(\d+)\s*((a|p)m)?/i), hour, minute; diff --git a/kronolith/lib/Kronolith.php b/kronolith/lib/Kronolith.php index 557405b50..fd14d1c4f 100644 --- a/kronolith/lib/Kronolith.php +++ b/kronolith/lib/Kronolith.php @@ -184,6 +184,7 @@ class Kronolith 'user' => Horde_Auth::getAuth(), 'prefs_url' => str_replace('&', '&', Horde::getServiceLink('options', 'kronolith')), 'name' => $registry->get('name'), + 'has_tasks' => $has_tasks, 'is_ie6' => ($browser->isBrowser('msie') && ($browser->getMajor() < 7)), 'login_view' => $prefs->getValue('defaultview'), 'default_calendar' => 'internal|' . self::getDefaultCalendar(Horde_Perms::EDIT), -- 2.11.0