From 0e3eac203d9678045255881867483e788a3d9bb3 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Tue, 6 Apr 2010 15:41:08 +0000 Subject: [PATCH] Monotone-Parent: e63ebbcc6deba63bb09fed682c0c64d7967a0579 Monotone-Revision: 550399a545ec39b76756d03253cfce780c28915b Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2010-04-06T15:41:08 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 12 ++++++++++++ UI/WebServerResources/UIxFilterEditor.js | 6 +++++- UI/WebServerResources/UIxPreferences.js | 16 ++++++++++------ 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index a6bf22cab..7748202dd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2010-04-06 Wolfgang Sourdeau + + * UI/WebServerResources/UIxPreferences.js (prototypeIfyFilters): + we don't attempt to duplicate the rules if they don't exist. + (copyFilter): same as above. + + * UI/WebServerResources/UIxFilterEditor.js (setupFilterViews): we + execute the callback for the match type SELECT in order to show or + hide the rules area depending on its initial value. + (onRuleAddClick): when the rules array does not exist, we must + create it. + 2010-04-05 Ludovic Marcotte * UI/WebServerResources/SOGoRootPage.js diff --git a/UI/WebServerResources/UIxFilterEditor.js b/UI/WebServerResources/UIxFilterEditor.js index 3787d9e51..0fe3bc0d7 100644 --- a/UI/WebServerResources/UIxFilterEditor.js +++ b/UI/WebServerResources/UIxFilterEditor.js @@ -46,7 +46,7 @@ function loadMailboxes() { function onLoadMailboxesCallback(http) { if (http.readyState == 4) { window.opener.userMailboxes = $([]); - log("http.status: " + http.status); + // log("http.status: " + http.status); if (http.status == 200) { checkAjaxRequestsState(); if (http.responseText.length > 0) { @@ -217,6 +217,8 @@ function setupFilterViews() { } } } + onMatchTypeChange.apply(matchTypeSelect); + var filterActions = $("filterActions"); if (filterActions && filter.actions) { for (var i = 0; i < filter.actions.length; i++) { @@ -726,6 +728,8 @@ function onRuleAddClick(event) { var filterRules = $("filterRules"); if (filterRules) { var newRule = createFilterRule(); + if (!filter.rules) + filter.rules = []; filter.rules.push(newRule); var newRuleDiv = appendRule(filterRules, newRule); setSelectedRuleDiv(newRuleDiv); diff --git a/UI/WebServerResources/UIxPreferences.js b/UI/WebServerResources/UIxPreferences.js index 7b01c7b4d..b6fe89ba6 100644 --- a/UI/WebServerResources/UIxPreferences.js +++ b/UI/WebServerResources/UIxPreferences.js @@ -60,9 +60,11 @@ function prototypeIfyFilters() { newFilter.match = filter.match; newFilter.active = filter.active; - newFilter.rules = $([]); - for (var j = 0; j < filter.rules.length; j++) { - newFilter.rules.push($(filter.rules[j])); + if (filter.rules) { + newFilter.rules = $([]); + for (var j = 0; j < filter.rules.length; j++) { + newFilter.rules.push($(filter.rules[j])); + } } newFilter.actions = $([]); @@ -314,9 +316,11 @@ function copyFilter(originalFilter) { newFilter.name = originalFilter.name; newFilter.match = originalFilter.match; newFilter.active = originalFilter.active; - newFilter.rules = []; - for (var i = 0; i < originalFilter.rules.length; i++) { - newFilter.rules.push(_copyFilterElement(originalFilter.rules[i])); + if (originalFilter.rules) { + newFilter.rules = []; + for (var i = 0; i < originalFilter.rules.length; i++) { + newFilter.rules.push(_copyFilterElement(originalFilter.rules[i])); + } } newFilter.actions = []; for (var i = 0; i < originalFilter.actions.length; i++) {