mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-04-22 21:39:28 +00:00
(feat) make use of the sieve capabilities
This commit is contained in:
@@ -1064,7 +1064,7 @@ static NSArray *reminderValues = nil;
|
||||
|
||||
if (!capabilities)
|
||||
{
|
||||
if ([self _sieveClient])
|
||||
if ([self isSieveScriptsEnabled] && [self _sieveClient])
|
||||
capabilities = [[self _sieveClient] capabilities];
|
||||
else
|
||||
capabilities = [NSArray array];
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
var timeZonesList = <var:string value="timeZonesList" const:escapeHTML="NO"/>;
|
||||
var defaultEmailAddresses = '<var:string value="defaultEmailAddresses" const:escapeHTML="NO"/>';
|
||||
var forwardConstraints = <var:string value="forwardConstraints" const:escapeHTML="NO"/>;
|
||||
var sieveCapabilities = <var:string value="sieveCapabilities" const:escapeHTML="NO"/>;
|
||||
</script>
|
||||
|
||||
<script type="text/ng-template" id="preferences.html">
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
/**
|
||||
* @ngInject
|
||||
*/
|
||||
FiltersDialogController.$inject = ['$scope', '$mdDialog', 'filter', 'mailboxes', 'labels'];
|
||||
function FiltersDialogController($scope, $mdDialog, filter, mailboxes, labels) {
|
||||
FiltersDialogController.$inject = ['$scope', '$mdDialog', 'filter', 'mailboxes', 'labels', 'sieveCapabilities'];
|
||||
function FiltersDialogController($scope, $mdDialog, filter, mailboxes, labels, sieveCapabilities) {
|
||||
$scope.filter = filter;
|
||||
$scope.mailboxes = mailboxes;
|
||||
$scope.labels = labels;
|
||||
@@ -20,21 +20,29 @@
|
||||
"cc": l("Cc"),
|
||||
"to_or_cc": l("To or Cc"),
|
||||
"size": l("Size (Kb)"),
|
||||
"header": l("Header"),
|
||||
"body": l("Body")
|
||||
"header": l("Header")
|
||||
};
|
||||
|
||||
if (sieveCapabilities.indexOf("body") > -1)
|
||||
$scope.fieldLabels.body = l("Body");
|
||||
|
||||
$scope.methodLabels = {
|
||||
"addflag": l("Flag the message with:"),
|
||||
"discard": l("Discard the message"),
|
||||
"fileinto": l("File the message in:"),
|
||||
"keep": l("Keep the message"),
|
||||
"redirect": l("Forward the message to:"),
|
||||
"reject": l("Send a reject message:"),
|
||||
"vacation": l("Send a vacation message"),
|
||||
"stop": l("Stop processing filter rules")
|
||||
};
|
||||
|
||||
if (sieveCapabilities.indexOf("reject") > -1)
|
||||
$scope.methodLabels.reject = l("Send a reject message:");
|
||||
|
||||
if (sieveCapabilities.indexOf("fileinto") > -1)
|
||||
$scope.methodLabels.fileinto = l("File the message in:");
|
||||
|
||||
if (sieveCapabilities.indexOf("imapflags") > -1 || sieveCapabilities.indexOf("imap4flags") > -1)
|
||||
$scope.methodLabels.addflag = l("Flag the message with:");
|
||||
|
||||
$scope.numberOperatorLabels = {
|
||||
"under": l("is under"),
|
||||
"over": l("is over")
|
||||
@@ -46,11 +54,14 @@
|
||||
"contains": l("contains"),
|
||||
"contains_not": l("does not contain"),
|
||||
"matches": l("matches"),
|
||||
"matches_not": l("does not match"),
|
||||
"regex": l("matches regex"),
|
||||
"regex_not": l("does not match regex")
|
||||
"matches_not": l("does not match")
|
||||
};
|
||||
|
||||
if (sieveCapabilities.indexOf("regex") > -1) {
|
||||
$scope.textOperatorLabels.regex = l("matches regex");
|
||||
$scope.textOperatorLabels.regex_not = l("does not match regex");
|
||||
}
|
||||
|
||||
$scope.flagLabels = {
|
||||
"seen": l("Seen"),
|
||||
"deleted": l("Deleted"),
|
||||
|
||||
@@ -137,7 +137,8 @@
|
||||
locals: {
|
||||
filter: filter,
|
||||
mailboxes: vm.mailboxes,
|
||||
labels: vm.preferences.defaults.SOGoMailLabelsColors
|
||||
labels: vm.preferences.defaults.SOGoMailLabelsColors,
|
||||
sieveCapabilities: window.sieveCapabilities
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -152,7 +153,8 @@
|
||||
locals: {
|
||||
filter: filter,
|
||||
mailboxes: vm.mailboxes,
|
||||
labels: vm.preferences.defaults.SOGoMailLabelsColors
|
||||
labels: vm.preferences.defaults.SOGoMailLabelsColors,
|
||||
sieveCapabilities: window.sieveCapabilities
|
||||
}
|
||||
}).then(function() {
|
||||
vm.preferences.defaults.SOGoSieveFilters[index] = filter;
|
||||
|
||||
Reference in New Issue
Block a user