Sieve filters (pre release)

This commit is contained in:
RainLoop Team 2015-01-29 01:24:58 +04:00
parent 63a286a6b6
commit 0152f1583b
38 changed files with 175 additions and 63 deletions

View file

@ -24,6 +24,7 @@
SocialStore = require('Stores/Social'), SocialStore = require('Stores/Social'),
SettingsStore = require('Stores/User/Settings'), SettingsStore = require('Stores/User/Settings'),
AccountStore = require('Stores/User/Account'), AccountStore = require('Stores/User/Account'),
IdentityStore = require('Stores/User/Identity'),
Local = require('Storage/Client'), Local = require('Storage/Client'),
Settings = require('Storage/Settings'), Settings = require('Storage/Settings'),
@ -517,12 +518,12 @@
var self = this; var self = this;
AccountStore.loading(true); AccountStore.loading(true);
Data.identitiesLoading(true); IdentityStore.identities.loading(true);
Remote.accountsAndIdentities(function (sResult, oData) { Remote.accountsAndIdentities(function (sResult, oData) {
AccountStore.loading(false); AccountStore.loading(false);
Data.identitiesLoading(false); IdentityStore.identities.loading(false);
if (Enums.StorageResultType.Success === sResult && oData.Result) if (Enums.StorageResultType.Success === sResult && oData.Result)
{ {
@ -554,8 +555,9 @@
if (Utils.isArray(oData.Result['Identities'])) if (Utils.isArray(oData.Result['Identities']))
{ {
Utils.delegateRunOnDestroy(Data.identities()); Utils.delegateRunOnDestroy(IdentityStore.identities());
Data.identities(_.map(oData.Result['Identities'], function (oIdentityData) {
IdentityStore.identities(_.map(oData.Result['Identities'], function (oIdentityData) {
var var
sId = Utils.pString(oIdentityData['Id']), sId = Utils.pString(oIdentityData['Id']),
@ -1383,6 +1385,7 @@
require('Stores/User/App').populate(); require('Stores/User/App').populate();
require('Stores/User/Settings').populate(); require('Stores/User/Settings').populate();
require('Stores/User/Notification').populate(); require('Stores/User/Notification').populate();
require('Stores/User/Identity').populate();
Data.populateDataOnStart(); Data.populateDataOnStart();

View file

@ -400,7 +400,8 @@
'InvalidRecipients': 303, 'InvalidRecipients': 303,
'CantSaveFilters': 351, 'CantSaveFilters': 351,
'FiltersAreNotCorrect': 352, 'CantGetFilters': 352,
'FiltersAreNotCorrect': 355,
'CantCreateFolder': 400, 'CantCreateFolder': 400,
'CantRenameFolder': 401, 'CantRenameFolder': 401,

View file

@ -156,6 +156,7 @@
oN[Enums.Notification.InvalidRecipients] = this.i18n('NOTIFICATIONS/INVALID_RECIPIENTS'); oN[Enums.Notification.InvalidRecipients] = this.i18n('NOTIFICATIONS/INVALID_RECIPIENTS');
oN[Enums.Notification.CantSaveFilters] = this.i18n('NOTIFICATIONS/CANT_SAVE_FILTERS'); oN[Enums.Notification.CantSaveFilters] = this.i18n('NOTIFICATIONS/CANT_SAVE_FILTERS');
oN[Enums.Notification.CantGetFilters] = this.i18n('NOTIFICATIONS/CANT_GET_FILTERS');
oN[Enums.Notification.FiltersAreNotCorrect] = this.i18n('NOTIFICATIONS/FILTERS_ARE_NOT_CORRECT'); oN[Enums.Notification.FiltersAreNotCorrect] = this.i18n('NOTIFICATIONS/FILTERS_ARE_NOT_CORRECT');
oN[Enums.Notification.CantCreateFolder] = this.i18n('NOTIFICATIONS/CANT_CREATE_FOLDER'); oN[Enums.Notification.CantCreateFolder] = this.i18n('NOTIFICATIONS/CANT_CREATE_FOLDER');

2
dev/External/ko.js vendored
View file

@ -113,7 +113,7 @@
} }
else else
{ {
$(oElement).data('tooltip3-data', sValue).tooltip('show'); $(oElement).data('tooltip3-data', sValue);
_.delay(function () { _.delay(function () {
if ($(oElement).is(':visible')) if ($(oElement).is(':visible'))

View file

@ -26,6 +26,9 @@
this.modules = FilterStore.modules; this.modules = FilterStore.modules;
this.filters = FilterStore.collection; this.filters = FilterStore.collection;
this.inited = ko.observable(false);
this.serverError = ko.observable(false);
this.serverErrorDesc = ko.observable('');
this.haveChanges = ko.observable(false); this.haveChanges = ko.observable(false);
this.processText = ko.observable(''); this.processText = ko.observable('');
@ -35,6 +38,13 @@
this.filters.subscribe(Utils.windowResizeCallback); this.filters.subscribe(Utils.windowResizeCallback);
this.serverError.subscribe(function (bValue) {
if (!bValue)
{
this.serverErrorDesc('');
}
}, this);
this.filterRaw = FilterStore.raw; this.filterRaw = FilterStore.raw;
this.filterRaw.capa = FilterStore.capa; this.filterRaw.capa = FilterStore.capa;
this.filterRaw.active = ko.observable(false); this.filterRaw.active = ko.observable(false);
@ -118,39 +128,52 @@
FilterModel = require('Model/Filter') FilterModel = require('Model/Filter')
; ;
this.filters.loading(true); if (!this.filters.loading())
{
this.filters.loading(true);
Remote.filtersGet(function (sResult, oData) { Remote.filtersGet(function (sResult, oData) {
self.filters.loading(false); self.filters.loading(false);
self.serverError(false);
if (Enums.StorageResultType.Success === sResult && oData && if (Enums.StorageResultType.Success === sResult && oData &&
oData.Result && Utils.isArray(oData.Result.Filters)) oData.Result && Utils.isArray(oData.Result.Filters))
{ {
var aResult = _.compact(_.map(oData.Result.Filters, function (aItem) { self.inited(true);
var oNew = new FilterModel(); self.serverError(false);
return (oNew && oNew.parse(aItem)) ? oNew : null;
}));
self.filters(aResult); var aResult = _.compact(_.map(oData.Result.Filters, function (aItem) {
var oNew = new FilterModel();
return (oNew && oNew.parse(aItem)) ? oNew : null;
}));
self.modules(oData.Result.Modules ? oData.Result.Modules : {}); self.filters(aResult);
self.filterRaw(oData.Result.Raw || ''); self.modules(oData.Result.Modules ? oData.Result.Modules : {});
self.filterRaw.capa(Utils.isArray(oData.Result.Capa) ? oData.Result.Capa.join(' ') : '');
self.filterRaw.active(!!oData.Result.RawIsActive);
self.filterRaw.allow(!!oData.Result.RawIsAllow);
}
else
{
self.filters([]);
self.modules({});
self.filterRaw('');
self.filterRaw.capa({});
}
self.haveChanges(false); self.filterRaw(oData.Result.Raw || '');
}); self.filterRaw.capa(Utils.isArray(oData.Result.Capa) ? oData.Result.Capa.join(' ') : '');
self.filterRaw.active(!!oData.Result.RawIsActive);
self.filterRaw.allow(!!oData.Result.RawIsAllow);
}
else
{
self.filters([]);
self.modules({});
self.filterRaw('');
self.filterRaw.capa({});
self.serverError(true);
self.serverErrorDesc('ERROR');
self.serverErrorDesc(oData && oData.ErrorCode ? Translator.getNotification(oData.ErrorCode) :
Translator.getNotification(Enums.Notification.CantGetFilters));
}
self.haveChanges(false);
});
}
}; };
FiltersUserSettings.prototype.deleteFilter = function (oFilter) FiltersUserSettings.prototype.deleteFilter = function (oFilter)
@ -215,7 +238,10 @@
} }
}) })
; ;
};
FiltersUserSettings.prototype.onShow = function ()
{
this.updateList(); this.updateList();
}; };

View file

@ -12,6 +12,8 @@
HtmlEditor = require('Common/HtmlEditor'), HtmlEditor = require('Common/HtmlEditor'),
Translator = require('Common/Translator'), Translator = require('Common/Translator'),
IdentityStore = require('Stores/User/Identity'),
Data = require('Storage/User/Data'), Data = require('Storage/User/Data'),
Remote = require('Storage/User/Remote') Remote = require('Storage/User/Remote')
; ;
@ -37,13 +39,13 @@
this.replyTrigger = ko.observable(Enums.SaveSettingsStep.Idle); this.replyTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
this.signatureTrigger = ko.observable(Enums.SaveSettingsStep.Idle); this.signatureTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
this.identities = Data.identities; this.identities = IdentityStore.identities;
this.defaultIdentityID = Data.defaultIdentityID; this.defaultIdentityID = IdentityStore.defaultIdentityID;
this.identitiesOptions = ko.computed(function () { this.identitiesOptions = ko.computed(function () {
var var
aList = this.identities(), aList = IdentityStore.identities(),
aResult = [] aResult = []
; ;
@ -75,7 +77,7 @@
}, this); }, this);
this.processText = ko.computed(function () { this.processText = ko.computed(function () {
return Data.identitiesLoading() ? Translator.i18n('SETTINGS_IDENTITIES/LOADING_PROCESS') : ''; return IdentityStore.identities.loading() ? Translator.i18n('SETTINGS_IDENTITIES/LOADING_PROCESS') : '';
}, this); }, this);
this.visibility = ko.computed(function () { this.visibility = ko.computed(function () {
@ -132,7 +134,7 @@
if (oIdentityToRemove) if (oIdentityToRemove)
{ {
this.identities.remove(function (oIdentity) { IdentityStore.identities.remove(function (oIdentity) {
return oIdentityToRemove === oIdentity; return oIdentityToRemove === oIdentity;
}); });
@ -192,7 +194,7 @@
f4 = Utils.settingsSaveHelperSimpleFunction(self.defaultIdentityIDTrigger, self) f4 = Utils.settingsSaveHelperSimpleFunction(self.defaultIdentityIDTrigger, self)
; ;
Data.defaultIdentityID.subscribe(function (sValue) { IdentityStore.defaultIdentityID.subscribe(function (sValue) {
Remote.saveSettings(f4, { Remote.saveSettings(f4, {
'DefaultIdentityID': sValue 'DefaultIdentityID': sValue
}); });

View file

@ -99,11 +99,6 @@
// security // security
this.enableTwoFactor = ko.observable(false); this.enableTwoFactor = ko.observable(false);
// identities
this.defaultIdentityID = ko.observable('');
this.identities = ko.observableArray([]);
this.identitiesLoading = ko.observable(false).extend({'throttle': 100});
// contacts // contacts
this.contacts = ko.observableArray([]); this.contacts = ko.observableArray([]);
this.contacts.loading = ko.observable(false).extend({'throttle': 200}); this.contacts.loading = ko.observable(false).extend({'throttle': 200});
@ -484,8 +479,6 @@
this.accountOutLogin(Settings.settingsGet('OutLogin')); this.accountOutLogin(Settings.settingsGet('OutLogin'));
this.projectHash(Settings.settingsGet('ProjectHash')); this.projectHash(Settings.settingsGet('ProjectHash'));
this.defaultIdentityID(Settings.settingsGet('DefaultIdentityID'));
this.displayName(Settings.settingsGet('DisplayName')); this.displayName(Settings.settingsGet('DisplayName'));
this.replyTo(Settings.settingsGet('ReplyTo')); this.replyTo(Settings.settingsGet('ReplyTo'));
this.signature(Settings.settingsGet('Signature')); this.signature(Settings.settingsGet('Signature'));

View file

@ -0,0 +1,30 @@
(function () {
'use strict';
var
ko = require('ko'),
Settings = require('Storage/Settings')
;
/**
* @constructor
*/
function IdentityUserStore()
{
this.defaultIdentityID = ko.observable('');
this.identities = ko.observableArray([]);
this.identities.loading = ko.observable(false).extend({'throttle': 100});
}
IdentityUserStore.prototype.populate = function ()
{
this.defaultIdentityID(Settings.settingsGet('DefaultIdentityID'));
};
module.exports = new IdentityUserStore();
}());

View file

@ -22,7 +22,8 @@
Translator = require('Common/Translator'), Translator = require('Common/Translator'),
AppStore = require('Stores/User/App'), AppStore = require('Stores/User/App'),
SettingsUserStore = require('Stores/User/Settings'), SettingsStore = require('Stores/User/Settings'),
IdentityStore = require('Stores/User/Identity'),
SocialStore = require('Stores/Social'), SocialStore = require('Stores/Social'),
Settings = require('Storage/Settings'), Settings = require('Storage/Settings'),
@ -66,7 +67,7 @@
this.bSkipNextHide = false; this.bSkipNextHide = false;
this.composeInEdit = Data.composeInEdit; this.composeInEdit = Data.composeInEdit;
this.editorDefaultType = SettingsUserStore.editorDefaultType; this.editorDefaultType = SettingsStore.editorDefaultType;
this.capaOpenPGP = Data.capaOpenPGP; this.capaOpenPGP = Data.capaOpenPGP;
@ -157,8 +158,8 @@
this.composeEditorArea = ko.observable(null); this.composeEditorArea = ko.observable(null);
this.identities = Data.identities; this.identities = IdentityStore.identities;
this.defaultIdentityID = Data.defaultIdentityID; this.defaultIdentityID = IdentityStore.defaultIdentityID;
this.currentIdentityID = ko.observable(''); this.currentIdentityID = ko.observable('');
this.currentIdentityString = ko.observable(''); this.currentIdentityString = ko.observable('');
@ -171,7 +172,7 @@
'optText': this.formattedFrom(false) 'optText': this.formattedFrom(false)
}]; }];
_.each(Data.identities(), function (oItem) { _.each(IdentityStore.identities(), function (oItem) {
aList.push({ aList.push({
'optValue': oItem.id, 'optValue': oItem.id,
'optText': oItem.formattedNameForCompose() 'optText': oItem.formattedNameForCompose()
@ -188,7 +189,7 @@
sResult = '', sResult = '',
sResultEmail = '', sResultEmail = '',
oItem = null, oItem = null,
aList = this.identities(), aList = IdentityStore.identities(),
sID = this.currentIdentityID() sID = this.currentIdentityID()
; ;
@ -281,7 +282,7 @@
} }
else else
{ {
if (SettingsUserStore.replySameFolder()) if (SettingsStore.replySameFolder())
{ {
if (Utils.isArray(this.aDraftInfo) && 3 === this.aDraftInfo.length && Utils.isNormal(this.aDraftInfo[2]) && 0 < this.aDraftInfo[2].length) if (Utils.isArray(this.aDraftInfo) && 3 === this.aDraftInfo.length && Utils.isNormal(this.aDraftInfo[2]) && 0 < this.aDraftInfo[2].length)
{ {
@ -577,7 +578,7 @@
if (this.bCapaAdditionalIdentities) if (this.bCapaAdditionalIdentities)
{ {
_.each(this.identities(), function (oItem) { _.each(IdentityStore.identities(), function (oItem) {
oIDs[oItem.email()] = oItem['id']; oIDs[oItem.email()] = oItem['id'];
}); });
} }
@ -604,7 +605,7 @@
if ('' === sResult) if ('' === sResult)
{ {
sResult = this.defaultIdentityID(); sResult = IdentityStore.defaultIdentityID();
} }
if ('' === sResult) if ('' === sResult)

View file

@ -309,13 +309,19 @@
this.testingSieveErrorDesc(oData.Result.Sieve); this.testingSieveErrorDesc(oData.Result.Sieve);
} }
if (bImap) if (this.sieveSettings())
{ {
this.sieveSettings(false); if (!bSieve && bImap)
{
this.sieveSettings(false);
}
} }
else if (bSieve) else
{ {
this.sieveSettings(true); if (bSieve && !bImap)
{
this.sieveSettings(true);
}
} }
} }
else else

View file

@ -37,7 +37,8 @@ class Notifications
const InvalidRecipients = 303; const InvalidRecipients = 303;
const CantSaveFilters = 351; const CantSaveFilters = 351;
const FiltersAreNotCorrect = 352; const CantGetFilters = 352;
const FiltersAreNotCorrect = 355;
const CantCreateFolder = 400; const CantCreateFolder = 400;
const CantRenameFolder = 401; const CantRenameFolder = 401;
@ -111,6 +112,7 @@ class Notifications
self::CantSendMessage => 'CantSendMessage', self::CantSendMessage => 'CantSendMessage',
self::InvalidRecipients => 'InvalidRecipients', self::InvalidRecipients => 'InvalidRecipients',
self::CantSaveFilters => 'CantSaveFilters', self::CantSaveFilters => 'CantSaveFilters',
self::CantGetFilters => 'CantGetFilters',
self::FiltersAreNotCorrect => 'FiltersAreNotCorrect', self::FiltersAreNotCorrect => 'FiltersAreNotCorrect',
self::CantCreateFolder => 'CantCreateFolder', self::CantCreateFolder => 'CantCreateFolder',

View file

@ -25,7 +25,20 @@ class Filters extends \RainLoop\Providers\AbstractProvider
*/ */
public function Load($oAccount, $bAllowRaw = false) public function Load($oAccount, $bAllowRaw = false)
{ {
return $this->IsActive() ? $this->oDriver->Load($oAccount, $bAllowRaw) : array(); try
{
return $this->IsActive() ? $this->oDriver->Load($oAccount, $bAllowRaw) : array();
}
catch (\MailSo\Net\Exceptions\SocketCanNotConnectToHostException $oException)
{
throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::ConnectionError, $oException);
}
catch (\Exception $oException)
{
throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::CantGetFilters, $oException);
}
return false;
} }
/** /**

View file

@ -4,7 +4,7 @@
<span class="i18n" data-i18n-text="SETTINGS_FILTERS/LEGEND_FILTERS"></span> <span class="i18n" data-i18n-text="SETTINGS_FILTERS/LEGEND_FILTERS"></span>
</div> </div>
</div> </div>
<div class="row"> <div class="row" data-bind="visible: inited() && !serverError()">
<div class="span8"> <div class="span8">
<a class="btn" data-bind="click: addFilter"> <a class="btn" data-bind="click: addFilter">
<i class="icon-plus"></i> <i class="icon-plus"></i>
@ -36,6 +36,15 @@
</div> </div>
</div> </div>
</div> </div>
<div class="row" data-bind="visible: serverError">
<div class="span8">
<div class="alert alert-error g-ui-user-select-none" style="margin-bottom: 0">
<i class="icon-warning"></i>
&nbsp;&nbsp;
<span data-bind="text: serverErrorDesc"></span>
</div>
</div>
</div>
<div class="row"> <div class="row">
<div class="span8"> <div class="span8">
<div class="process-place g-ui-user-select-none" data-bind="style: {'visibility': visibility }"> <div class="process-place g-ui-user-select-none" data-bind="style: {'visibility': visibility }">
@ -43,7 +52,7 @@
&nbsp;&nbsp; &nbsp;&nbsp;
<span data-bind="text: processText"></span> <span data-bind="text: processText"></span>
</div> </div>
<div class="control-group" data-bind="css: {'error': filterRaw.error}, visible: filterRaw.allow() && filterRaw.active()"> <div class="control-group" data-bind="css: {'error': filterRaw.error}, visible: inited() && filterRaw.allow() && filterRaw.active()">
<div class="controls"> <div class="controls">
<pre style="word-break: break-word;" data-bind="visible: '' !== filterRaw.capa()"> <pre style="word-break: break-word;" data-bind="visible: '' !== filterRaw.capa()">
<b class="i18n" data-i18n-text="SETTINGS_FILTERS/CAPABILITY_LABEL"></b>: <b class="i18n" data-i18n-text="SETTINGS_FILTERS/CAPABILITY_LABEL"></b>:
@ -54,7 +63,7 @@
</div> </div>
</div> </div>
<table class="table table-hover list-table g-ui-user-select-none" <table class="table table-hover list-table g-ui-user-select-none"
data-bind="visible: !filterRaw.active() || !filterRaw.active(), i18nUpdate: filters"> data-bind="visible: inited() && (!filterRaw.active() || !filterRaw.active()), i18nUpdate: filters">
<colgroup> <colgroup>
<col style="width: 30px" /> <col style="width: 30px" />
<col /> <col />

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Can't save message"
CANT_SEND_MESSAGE = "Can't send message" CANT_SEND_MESSAGE = "Can't send message"
INVALID_RECIPIENTS = "Invalid recipients" INVALID_RECIPIENTS = "Invalid recipients"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Can't create folder" CANT_CREATE_FOLDER = "Can't create folder"
CANT_RENAME_FOLDER = "Can't rename folder" CANT_RENAME_FOLDER = "Can't rename folder"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Diese Nachricht kann nicht gespeichert werden"
CANT_SEND_MESSAGE = "Diese Nachricht kann nicht gesendet werden" CANT_SEND_MESSAGE = "Diese Nachricht kann nicht gesendet werden"
INVALID_RECIPIENTS = "Ungültige Empfänger-Adresse" INVALID_RECIPIENTS = "Ungültige Empfänger-Adresse"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Dieser Ordner kann nicht angelegt werden" CANT_CREATE_FOLDER = "Dieser Ordner kann nicht angelegt werden"
CANT_RENAME_FOLDER = "Dieser Ordner kann nicht umbenannt werden" CANT_RENAME_FOLDER = "Dieser Ordner kann nicht umbenannt werden"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Can't save message"
CANT_SEND_MESSAGE = "Can't send message" CANT_SEND_MESSAGE = "Can't send message"
INVALID_RECIPIENTS = "Invalid recipients" INVALID_RECIPIENTS = "Invalid recipients"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Can't create folder" CANT_CREATE_FOLDER = "Can't create folder"
CANT_RENAME_FOLDER = "Can't rename folder" CANT_RENAME_FOLDER = "Can't rename folder"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "No se puede guardar el mensaje"
CANT_SEND_MESSAGE = "No se puede enviar el mensaje" CANT_SEND_MESSAGE = "No se puede enviar el mensaje"
INVALID_RECIPIENTS = "Los destinatarios no son válidos" INVALID_RECIPIENTS = "Los destinatarios no son válidos"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "No se puede crear la carpeta" CANT_CREATE_FOLDER = "No se puede crear la carpeta"
CANT_RENAME_FOLDER = "No se puede renombrar la carpeta" CANT_RENAME_FOLDER = "No se puede renombrar la carpeta"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Impossible d'enregistrer le message"
CANT_SEND_MESSAGE = "Impossible d'envoyer le message" CANT_SEND_MESSAGE = "Impossible d'envoyer le message"
INVALID_RECIPIENTS = "Destinataires invalides" INVALID_RECIPIENTS = "Destinataires invalides"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Impossible de créer le dossier" CANT_CREATE_FOLDER = "Impossible de créer le dossier"
CANT_RENAME_FOLDER = "Impossible de renommer le dossier" CANT_RENAME_FOLDER = "Impossible de renommer le dossier"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Can't save message"
CANT_SEND_MESSAGE = "Can't send message" CANT_SEND_MESSAGE = "Can't send message"
INVALID_RECIPIENTS = "Invalid recipients" INVALID_RECIPIENTS = "Invalid recipients"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Can't create folder" CANT_CREATE_FOLDER = "Can't create folder"
CANT_RENAME_FOLDER = "Can't rename folder" CANT_RENAME_FOLDER = "Can't rename folder"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Get ekki vistað bréf"
CANT_SEND_MESSAGE = "Get ekki sent bréf" CANT_SEND_MESSAGE = "Get ekki sent bréf"
INVALID_RECIPIENTS = "Rangir viðtakendur" INVALID_RECIPIENTS = "Rangir viðtakendur"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Get ekki búið til möppu" CANT_CREATE_FOLDER = "Get ekki búið til möppu"
CANT_RENAME_FOLDER = "Get ekki endurnefnt möppu" CANT_RENAME_FOLDER = "Get ekki endurnefnt möppu"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Impossibile salvare il messaggio"
CANT_SEND_MESSAGE = "Impossibile incollare il messaggio" CANT_SEND_MESSAGE = "Impossibile incollare il messaggio"
INVALID_RECIPIENTS = "Destinatario non valido" INVALID_RECIPIENTS = "Destinatario non valido"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Impossibile creare la cartella" CANT_CREATE_FOLDER = "Impossibile creare la cartella"
CANT_RENAME_FOLDER = "Impossibile rinominare la cartella" CANT_RENAME_FOLDER = "Impossibile rinominare la cartella"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Can't save message"
CANT_SEND_MESSAGE = "Can't send message" CANT_SEND_MESSAGE = "Can't send message"
INVALID_RECIPIENTS = "Invalid recipients" INVALID_RECIPIENTS = "Invalid recipients"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Can't create folder" CANT_CREATE_FOLDER = "Can't create folder"
CANT_RENAME_FOLDER = "Can't rename folder" CANT_RENAME_FOLDER = "Can't rename folder"

View file

@ -632,6 +632,7 @@ CANT_SAVE_MESSAGE = "메시지를 저장할 수 없습니다."
CANT_SEND_MESSAGE = "메시지를 보낼 수 없습니다." CANT_SEND_MESSAGE = "메시지를 보낼 수 없습니다."
INVALID_RECIPIENTS = "수신인 오류" INVALID_RECIPIENTS = "수신인 오류"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "폴더를 생성할 수 없습니다." CANT_CREATE_FOLDER = "폴더를 생성할 수 없습니다."
CANT_RENAME_FOLDER = "폴더명을 변경할 수 없습니다." CANT_RENAME_FOLDER = "폴더명을 변경할 수 없습니다."

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Nepavyko išsaugoti laiško"
CANT_SEND_MESSAGE = "Nepavyko išsiųsti laiško" CANT_SEND_MESSAGE = "Nepavyko išsiųsti laiško"
INVALID_RECIPIENTS = "Netinkamas gavėjas" INVALID_RECIPIENTS = "Netinkamas gavėjas"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Nepavyksta sukurti katalogo" CANT_CREATE_FOLDER = "Nepavyksta sukurti katalogo"
CANT_RENAME_FOLDER = "Nepavyksta pervadinti katalogo" CANT_RENAME_FOLDER = "Nepavyksta pervadinti katalogo"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Nevar saglabāt ziņojumu"
CANT_SEND_MESSAGE = "Nevar nosūtīt ziņojumu" CANT_SEND_MESSAGE = "Nevar nosūtīt ziņojumu"
INVALID_RECIPIENTS = "Nepareizi saņēmēji" INVALID_RECIPIENTS = "Nepareizi saņēmēji"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Nevar izveidot mapi" CANT_CREATE_FOLDER = "Nevar izveidot mapi"
CANT_RENAME_FOLDER = "Nevar pārsaukt mapi" CANT_RENAME_FOLDER = "Nevar pārsaukt mapi"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Kan bericht niet opslaan"
CANT_SEND_MESSAGE = "Kan bericht niet verzenden" CANT_SEND_MESSAGE = "Kan bericht niet verzenden"
INVALID_RECIPIENTS = "Onjuiste ontvangers" INVALID_RECIPIENTS = "Onjuiste ontvangers"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Kan map niet aanmaken" CANT_CREATE_FOLDER = "Kan map niet aanmaken"
CANT_RENAME_FOLDER = "Kan map niet hernoemen" CANT_RENAME_FOLDER = "Kan map niet hernoemen"

View file

@ -634,6 +634,7 @@ CANT_SAVE_MESSAGE = "Kan ikke lagre melding"
CANT_SEND_MESSAGE = "Kan ikke sende melding" CANT_SEND_MESSAGE = "Kan ikke sende melding"
INVALID_RECIPIENTS = "Ugyldige mottakere" INVALID_RECIPIENTS = "Ugyldige mottakere"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Kan ikke opprette mappe" CANT_CREATE_FOLDER = "Kan ikke opprette mappe"
CANT_RENAME_FOLDER = "Kan ikke endre navn på mappen" CANT_RENAME_FOLDER = "Kan ikke endre navn på mappen"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Nie można zapisać wiadomości"
CANT_SEND_MESSAGE = "Nie można wysłać wiadomości" CANT_SEND_MESSAGE = "Nie można wysłać wiadomości"
INVALID_RECIPIENTS = "Nieprawidłowy adres odbiorcy" INVALID_RECIPIENTS = "Nieprawidłowy adres odbiorcy"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Nie można utworzyć folderu" CANT_CREATE_FOLDER = "Nie można utworzyć folderu"
CANT_RENAME_FOLDER = "Nie można zmienić nazwy folderu" CANT_RENAME_FOLDER = "Nie można zmienić nazwy folderu"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Não foi possível salvar a mensagem"
CANT_SEND_MESSAGE = "Não foi possível enviar a mensagem" CANT_SEND_MESSAGE = "Não foi possível enviar a mensagem"
INVALID_RECIPIENTS = "Destinatário inválido" INVALID_RECIPIENTS = "Destinatário inválido"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Não foi possível criar a pasta" CANT_CREATE_FOLDER = "Não foi possível criar a pasta"
CANT_RENAME_FOLDER = "Não foi possível renomear a pasta" CANT_RENAME_FOLDER = "Não foi possível renomear a pasta"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Não é possível salvar a mensagem"
CANT_SEND_MESSAGE = "Não é possível enviar a mensagem" CANT_SEND_MESSAGE = "Não é possível enviar a mensagem"
INVALID_RECIPIENTS = "Destinatário invpalido" INVALID_RECIPIENTS = "Destinatário invpalido"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Não é possível criar esta pasta" CANT_CREATE_FOLDER = "Não é possível criar esta pasta"
CANT_RENAME_FOLDER = "Não é possível renomear esta pasta" CANT_RENAME_FOLDER = "Não é possível renomear esta pasta"

View file

@ -634,6 +634,7 @@ CANT_SAVE_MESSAGE = "Nu pot salva mesajul. Încercați din nou"
CANT_SEND_MESSAGE = "Nu pot trimite scrisoarea.Încercați din nou" CANT_SEND_MESSAGE = "Nu pot trimite scrisoarea.Încercați din nou"
INVALID_RECIPIENTS = "Verificați dacă ați introdus toate adresele." INVALID_RECIPIENTS = "Verificați dacă ați introdus toate adresele."
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Nu crea dosarul. Încercați din nou" CANT_CREATE_FOLDER = "Nu crea dosarul. Încercați din nou"
CANT_RENAME_FOLDER = "Nu pot redenumi dosarul. Încercați din nou" CANT_RENAME_FOLDER = "Nu pot redenumi dosarul. Încercați din nou"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Не могу сохранить письмо"
CANT_SEND_MESSAGE = "Не могу отправить письмо" CANT_SEND_MESSAGE = "Не могу отправить письмо"
INVALID_RECIPIENTS = "Проверьте правильность ввода всех адресов." INVALID_RECIPIENTS = "Проверьте правильность ввода всех адресов."
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Не могу создать папку" CANT_CREATE_FOLDER = "Не могу создать папку"
CANT_RENAME_FOLDER = "Не могу переименовать папку" CANT_RENAME_FOLDER = "Не могу переименовать папку"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Správu sa nepodarilo uložiť"
CANT_SEND_MESSAGE = "Správu sa nepodarilo odoslať" CANT_SEND_MESSAGE = "Správu sa nepodarilo odoslať"
INVALID_RECIPIENTS = "Neplatný príjemcovia" INVALID_RECIPIENTS = "Neplatný príjemcovia"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Priečinok sa nepodarilo vytvoriť" CANT_CREATE_FOLDER = "Priečinok sa nepodarilo vytvoriť"
CANT_RENAME_FOLDER = "Priečinok sa nepodarilo premenovať" CANT_RENAME_FOLDER = "Priečinok sa nepodarilo premenovať"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Kan inte spara meddelande"
CANT_SEND_MESSAGE = "Kan inte skicka meddelande" CANT_SEND_MESSAGE = "Kan inte skicka meddelande"
INVALID_RECIPIENTS = "Ogiltig mottagare" INVALID_RECIPIENTS = "Ogiltig mottagare"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Kan inte skapa mapp" CANT_CREATE_FOLDER = "Kan inte skapa mapp"
CANT_RENAME_FOLDER = "Kan inte byta namn på mapp" CANT_RENAME_FOLDER = "Kan inte byta namn på mapp"

View file

@ -633,6 +633,7 @@ CANT_SAVE_MESSAGE = "Mesaj kaydedilemedi"
CANT_SEND_MESSAGE = "Mesaj gönderilemedi" CANT_SEND_MESSAGE = "Mesaj gönderilemedi"
INVALID_RECIPIENTS = "Geçersiz alıcılar" INVALID_RECIPIENTS = "Geçersiz alıcılar"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Klasör oluşturulamadı" CANT_CREATE_FOLDER = "Klasör oluşturulamadı"
CANT_RENAME_FOLDER = "Klasör oluşturulamadı" CANT_RENAME_FOLDER = "Klasör oluşturulamadı"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Не можу зберегти листа"
CANT_SEND_MESSAGE = "Не можу відправити листа" CANT_SEND_MESSAGE = "Не можу відправити листа"
INVALID_RECIPIENTS = "Перевірити правильність вводу всіх адрес." INVALID_RECIPIENTS = "Перевірити правильність вводу всіх адрес."
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Не можу створити теку" CANT_CREATE_FOLDER = "Не можу створити теку"
CANT_RENAME_FOLDER = "Не можу перейменувати теку" CANT_RENAME_FOLDER = "Не можу перейменувати теку"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "无法保存邮件"
CANT_SEND_MESSAGE = "无法发送邮件" CANT_SEND_MESSAGE = "无法发送邮件"
INVALID_RECIPIENTS = "无效接收人" INVALID_RECIPIENTS = "无效接收人"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "无法创建文件夹" CANT_CREATE_FOLDER = "无法创建文件夹"
CANT_RENAME_FOLDER = "无法重命名文件夹" CANT_RENAME_FOLDER = "无法重命名文件夹"

View file

@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "無法保存郵件"
CANT_SEND_MESSAGE = "無法發送郵件" CANT_SEND_MESSAGE = "無法發送郵件"
INVALID_RECIPIENTS = "無效接收人" INVALID_RECIPIENTS = "無效接收人"
CANT_SAVE_FILTERS = "Can't save filters" CANT_SAVE_FILTERS = "Can't save filters"
CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct" FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "無法創建資料夾" CANT_CREATE_FOLDER = "無法創建資料夾"
CANT_RENAME_FOLDER = "無法重命名資料夾" CANT_RENAME_FOLDER = "無法重命名資料夾"