Bug 219122 Filter editor should validate actions before attempting to create filter p=mark@standard8.demon.co.uk r=me sr=bienvenu

This commit is contained in:
neil%parkwaycc.co.uk 2004-08-20 22:30:30 +00:00
Родитель d23958ff96
Коммит 57b6bbb6ec
2 изменённых файлов: 32 добавлений и 41 удалений

Просмотреть файл

@ -390,6 +390,7 @@ function saveFilter()
{
var isNewFilter;
var filterAction;
var targetUri;
var filterName= gFilterNameElement.value;
if (!filterName || filterName == "")
@ -401,6 +402,37 @@ function saveFilter()
return false;
}
if (!(gMoveToFolderCheckbox.checked ||
gChangePriorityCheckbox.checked ||
gLabelCheckbox.checked ||
gJunkScoreCheckbox.checked ||
gMarkReadCheckbox.checked ||
gMarkFlaggedCheckbox.checked ||
gDeleteCheckbox.checked ||
gWatchCheckbox.checked ||
gKillCheckbox.checked ||
gDeleteFromServerCheckbox.checked ||
gFetchBodyFromServerCheckbox.checked))
{
if (gPromptService)
gPromptService.alert(window, null,
gFilterBundle.getString("mustSelectAction"));
return false;
}
if (gMoveToFolderCheckbox.checked)
{
if (gActionTargetElement)
targetUri = gActionTargetElement.getAttribute("uri");
if (!targetUri || targetUri == "")
{
if (gPromptService)
gPromptService.alert(window, null,
gFilterBundle.getString("mustSelectFolder"));
return false;
}
}
if (!gFilter)
{
gFilter = gFilterList.createFilter(gFilterNameElement.value);
@ -425,18 +457,6 @@ function saveFilter()
if (gMoveToFolderCheckbox.checked)
{
var targetUri;
if (gActionTargetElement)
targetUri = gActionTargetElement.getAttribute("uri");
if (!targetUri || targetUri == "")
{
if (gPromptService)
gPromptService.alert(window, null,
gFilterBundle.getString("mustSelectFolder"));
return false;
}
filterAction = gFilter.createAction();
filterAction.type = nsMsgFilterAction.MoveToFolder;
filterAction.targetFolderUri = targetUri;
@ -445,14 +465,6 @@ function saveFilter()
if (gChangePriorityCheckbox.checked)
{
if (!gActionPriority.selectedItem)
{
if (gPromptService)
gPromptService.alert(window, null,
gFilterBundle.getString("mustSelectPriority"));
return false;
}
filterAction = gFilter.createAction();
filterAction.type = nsMsgFilterAction.ChangePriority;
filterAction.priority = gActionPriority.selectedItem.getAttribute("value");
@ -461,14 +473,6 @@ function saveFilter()
if (gLabelCheckbox.checked)
{
if (!gActionLabel.selectedItem)
{
if (gPromptService)
gPromptService.alert(window, null,
gFilterBundle.getString("mustSelectLabel"));
return false;
}
filterAction = gFilter.createAction();
filterAction.type = nsMsgFilterAction.Label;
filterAction.label = gActionLabel.selectedItem.getAttribute("value");
@ -532,17 +536,6 @@ function saveFilter()
gFilter.appendAction(filterAction);
}
if (gFilter.actionList.Count() <= 0)
{
if (gPromptService)
gPromptService.alert(window, null,
gFilterBundle.getString("mustSelectAction"));
// reset gFilter so that filter is still saved next time around
// see bug #186217
gFilter = null;
return false;
}
if (getScope(gFilter) == Components.interfaces.nsMsgSearchScope.newsFilter)
gFilter.filterType = Components.interfaces.nsMsgFilterType.NewsRule;
else

Просмотреть файл

@ -1,6 +1,4 @@
mustSelectFolder=You must select a target folder.
mustSelectPriority=You must select a priority.
mustSelectLabel=You must select a label.
mustEnterName=You must give this filter a name.
mustSelectAction=You must select at least one filter action.
cannotHaveDuplicateFilterTitle=Duplicate Filter Name