diff --git a/src/app/app.js b/src/app/app.js
index 77d6da09..17ab98e1 100644
--- a/src/app/app.js
+++ b/src/app/app.js
@@ -2,7 +2,6 @@ angular.module('esnApp', [
'ui.router',
'ct.ui.router.extras.dsr',
'linagora.esn.unifiedinbox',
- 'linagora.esn.james',
'esn.session',
'esn.login',
'esn.material',
@@ -17,6 +16,5 @@ require('esn-frontend-common-libs/src/frontend/js/modules/material/material.modu
require('./app.config');
require('./app.run');
-require('../linagora.esn.james/app/app.module.js');
require('../linagora.esn.unifiedinbox/app/app.js');
require('../esn.inbox.libs/app/app.module.js');
diff --git a/src/linagora.esn.james/app/app.config.js b/src/linagora.esn.james/app/app.config.js
deleted file mode 100644
index 854ca33d..00000000
--- a/src/linagora.esn.james/app/app.config.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict';
-
-angular.module('linagora.esn.james')
- .config(registerI18N);
-
-function registerI18N($translateProvider) {
- $translateProvider.translations('en', require('../i18n/en.json'));
- $translateProvider.translations('fr', require('../i18n/fr.json'));
- $translateProvider.translations('ru', require('../i18n/ru.json'));
- $translateProvider.translations('vi', require('../i18n/vi.json'));
- $translateProvider.translations('zh', require('../i18n/zh.json'));
-}
diff --git a/src/linagora.esn.james/app/app.constants.js b/src/linagora.esn.james/app/app.constants.js
deleted file mode 100644
index d2fe9de9..00000000
--- a/src/linagora.esn.james/app/app.constants.js
+++ /dev/null
@@ -1,17 +0,0 @@
-'use strict';
-
-angular.module('linagora.esn.james')
- .constant('JAMES_MODULE_METADATA', {
- id: 'linagora.esn.james',
- title: 'James',
- icon: '/james/images/james-icon.svg',
- maintenance: {
- template: 'james-maintenance',
- displayIn: {
- user: false,
- domain: false,
- platform: true
- }
- }
- })
- .constant('JAMES_MODULE_NAME', 'linagora.esn.james');
diff --git a/src/linagora.esn.james/app/app.less b/src/linagora.esn.james/app/app.less
deleted file mode 100644
index d6bfbd4c..00000000
--- a/src/linagora.esn.james/app/app.less
+++ /dev/null
@@ -1,7 +0,0 @@
-@import './config-form/james-config-form';
-@import './quota/user/james-quota-user';
-@import './quota/domain/james-quota-domain';
-@import './quota/form/james-quota-form';
-@import './domain/alias/james-domain-alias';
-@import './domain/alias/item/james-domain-alias-item';
-@import './domain/alias/form/james-domain-alias-form';
diff --git a/src/linagora.esn.james/app/app.module.js b/src/linagora.esn.james/app/app.module.js
deleted file mode 100644
index 19b1892d..00000000
--- a/src/linagora.esn.james/app/app.module.js
+++ /dev/null
@@ -1,55 +0,0 @@
-'use strict';
-
-angular.module('linagora.esn.james', [
- 'restangular',
- 'op.dynamicDirective',
- 'esn.async-action',
- 'esn.http',
- 'esn.router',
- 'esn.i18n',
- 'esn.ui',
- 'esn.module-registry',
- 'esn.configuration',
- 'esn.user',
- 'esn.session',
- 'esn.domain',
- 'ngFileSaver',
- 'ngSanitize',
- 'ui.select',
- 'esn.api-client'
-]);
-
-require('esn-frontend-common-libs/src/frontend/js/modules/async-action.js');
-require('esn-frontend-common-libs/src/frontend/js/modules/http.js');
-require('esn-frontend-common-libs/src/frontend/js/modules/esn.router.js');
-require('esn-frontend-common-libs/src/frontend/js/modules/i18n/i18n.module.js');
-require('esn-frontend-common-libs/src/frontend/js/modules/ui.js');
-require('esn-frontend-common-libs/src/frontend/js/modules/module-registry/module-registry.module.js');
-require('esn-frontend-common-libs/src/frontend/js/modules/config/config.module.js');
-require('esn-frontend-common-libs/src/frontend/js/modules/user/user.module.js');
-require('esn-frontend-common-libs/src/frontend/js/modules/session.js');
-require('esn-frontend-common-libs/src/frontend/js/modules/domain.js');
-require('esn-frontend-common-libs/src/frontend/js/modules/esn.api-client.js');
-
-require('./app.constants.js');
-require('./app.config.js');
-require('./app.run.js');
-require('./domain/alias/form/james-domain-alias-form.component.js');
-require('./domain/alias/form/james-domain-alias-form.controller.js');
-require('./domain/alias/item/james-domain-alias-item.component.js');
-require('./domain/alias/item/james-domain-alias-item.controller.js');
-require('./domain/alias/james-domain-alias.component.js');
-require('./domain/alias/james-domain-alias.controller.js');
-require('./domain/alias/james-domain-alias.run.js');
-require('./quota/domain/james-quota-domain.component.js');
-require('./quota/domain/james-quota-domain.controller.js');
-require('./quota/domain/james-quota-domain.run.js');
-require('./quota/james-quota-helpers.service.js');
-require('./quota/james-quota.constants.js');
-require('./quota/user/james-quota-user.component.js');
-require('./quota/user/james-quota-user.controller.js');
-require('./quota/user/james-quota-user.run.js');
-require('./sync/status-indicator/james-sync-status-indicator.component.js');
-require('./sync/status-indicator/james-sync-status-indicator.controller.js');
-require('./sync/synchronizer/james-group-synchronizer.service.js');
-require('./sync/synchronizer/james-synchronizer.service.js');
diff --git a/src/linagora.esn.james/app/app.run.js b/src/linagora.esn.james/app/app.run.js
deleted file mode 100644
index 96701a76..00000000
--- a/src/linagora.esn.james/app/app.run.js
+++ /dev/null
@@ -1,32 +0,0 @@
-'use strict';
-
-require('./app.constants.js');
-
-angular.module('linagora.esn.james')
- .run(injectGroupDisplaySubheaderDirective)
- .run(registerModule);
-
-function injectGroupDisplaySubheaderDirective(dynamicDirectiveService) {
- var syncStatusIndicator = new dynamicDirectiveService.DynamicDirective(true, 'james-sync-status-indicator', {
- attributes: [
- {
- name: 'ng-if',
- value: '$ctrl.group'
- },
- {
- name: 'resource-type',
- value: 'group'
- },
- {
- name: 'resource-id',
- value: '{{$ctrl.group.id}}'
- }
- ]
- });
-
- dynamicDirectiveService.addInjection('group-display-subheader-actions', syncStatusIndicator);
-}
-
-function registerModule(esnModuleRegistry, JAMES_MODULE_METADATA) {
- esnModuleRegistry.add(JAMES_MODULE_METADATA);
-}
diff --git a/src/linagora.esn.james/app/common/james-api-client.service.js b/src/linagora.esn.james/app/common/james-api-client.service.js
deleted file mode 100644
index a0c4fd62..00000000
--- a/src/linagora.esn.james/app/common/james-api-client.service.js
+++ /dev/null
@@ -1,10 +0,0 @@
-'use strict';
-
-const jamesApi = require('esn-api-client/src/api/james');
-
-angular.module('linagora.esn.james')
- .factory('jamesApiClient', jamesApiClient);
-
-function jamesApiClient(esnApiClient) {
- return jamesApi.default(esnApiClient);
-}
diff --git a/src/linagora.esn.james/app/common/james-api-client.service.spec.js b/src/linagora.esn.james/app/common/james-api-client.service.spec.js
deleted file mode 100644
index 871ac0fb..00000000
--- a/src/linagora.esn.james/app/common/james-api-client.service.spec.js
+++ /dev/null
@@ -1,36 +0,0 @@
-'use strict';
-
-/* global sinon, chai: false */
-
-const jamesApi = require('esn-api-client/src/api/james');
-const { expect } = chai;
-
-describe('The jamesApiClient factory', function() {
- let jamesApiClient; // eslint-disable-line no-unused-vars
- let jamesApiMock, esnApiClientMock;
-
- beforeEach(function() {
- jamesApiMock = sinon.stub().returns({});
- esnApiClientMock = { foo: 'bar' };
-
- sinon.stub(jamesApi, 'default').value(jamesApiMock);
-
- angular.mock.module('linagora.esn.james');
- angular.mock.module(function($provide) {
- $provide.factory('esnApiClient', function() { return esnApiClientMock; });
- });
- angular.mock.inject(function(_jamesApiClient_) {
- jamesApiClient = _jamesApiClient_; // eslint-disable-line no-unused-vars
- });
- });
-
- afterEach(function() {
- sinon.restore();
- });
-
- describe('The jamesApiClient factory', function() {
- it('should create with correct options', function() {
- expect(jamesApiMock).to.have.been.calledWith(esnApiClientMock);
- });
- });
-});
diff --git a/src/linagora.esn.james/app/domain/alias/form/james-domain-alias-form.component.js b/src/linagora.esn.james/app/domain/alias/form/james-domain-alias-form.component.js
deleted file mode 100644
index 68cc4390..00000000
--- a/src/linagora.esn.james/app/domain/alias/form/james-domain-alias-form.component.js
+++ /dev/null
@@ -1,11 +0,0 @@
-'use strict';
-
-angular.module('linagora.esn.james')
- .component('jamesDomainAliasForm', {
- template: require('./james-domain-alias-form.pug'),
- controller: 'JamesDomainAliasFormController',
- bindings: {
- domain: '<',
- aliases: '='
- }
- });
diff --git a/src/linagora.esn.james/app/domain/alias/form/james-domain-alias-form.controller.js b/src/linagora.esn.james/app/domain/alias/form/james-domain-alias-form.controller.js
deleted file mode 100644
index c95bcd54..00000000
--- a/src/linagora.esn.james/app/domain/alias/form/james-domain-alias-form.controller.js
+++ /dev/null
@@ -1,63 +0,0 @@
-'use strict';
-
-require('../../../common/james-api-client.service.js');
-
-angular.module('linagora.esn.james')
- .controller('JamesDomainAliasFormController', JamesDomainAliasFormController);
-
-function JamesDomainAliasFormController(
- asyncAction,
- jamesApiClient
-) {
- var self = this;
-
- self.$onInit = $onInit;
-
- function $onInit() {
- self.alias = '';
- self.status = 'loading';
- self.onAddBtnClick = onAddBtnClick;
- self.isAddedAlias = isAddedAlias;
-
- _getAvailableAliases()
- .then(function(aliases) {
- self.availableAliases = aliases;
- self.status = 'loaded';
- })
- .catch(function() {
- self.status = 'error';
- });
- }
-
- function _getAvailableAliases() {
- return jamesApiClient.listJamesDomains()
- .then(function(domains) {
- var index = domains.indexOf(self.domain.name);
-
- if (index !== -1) {
- domains.splice(index, 1);
- }
-
- return domains;
- });
- }
-
- function isAddedAlias(alias) {
- return self.aliases.indexOf(alias) !== -1;
- }
-
- function _addAlias() {
- return jamesApiClient.addDomainAlias(self.domain.id, self.alias).then(function() {
- self.aliases.push(self.alias);
- self.alias = '';
- });
- }
-
- function onAddBtnClick() {
- asyncAction({
- progressing: 'Adding alias...',
- success: 'Alias added',
- failure: 'Failed to add alias'
- }, _addAlias);
- }
-}
diff --git a/src/linagora.esn.james/app/domain/alias/form/james-domain-alias-form.controller.spec.js b/src/linagora.esn.james/app/domain/alias/form/james-domain-alias-form.controller.spec.js
deleted file mode 100644
index 54288360..00000000
--- a/src/linagora.esn.james/app/domain/alias/form/james-domain-alias-form.controller.spec.js
+++ /dev/null
@@ -1,120 +0,0 @@
-'use strict';
-
-/* global chai, sinon: false */
-
-const { expect } = chai;
-
-describe('The JamesDomainAliasFormController', function() {
- var $controller, $rootScope, $scope, $q;
- var jamesApiClient;
-
- beforeEach(function() {
- angular.mock.module('linagora.esn.james');
-
- angular.mock.inject(function(
- _$controller_,
- _$rootScope_,
- _$q_,
- _jamesApiClient_
- ) {
- $controller = _$controller_;
- $rootScope = _$rootScope_;
- $q = _$q_;
- jamesApiClient = _jamesApiClient_;
- });
-
- jamesApiClient.listJamesDomains = function() {
- return $q.when([]);
- };
- });
-
- function initController(scope, domain) {
- $scope = scope || $rootScope.$new();
-
- var controller = $controller('JamesDomainAliasFormController', { $scope: $scope }, { domain: domain });
-
- controller.$onInit();
- $scope.$digest();
-
- return controller;
- }
-
- describe('The $onInit method', function() {
- it('should set status to error if failed to get available aliases', function() {
- jamesApiClient.listJamesDomains = sinon.stub().returns($q.reject());
-
- var controller = initController();
-
- expect(controller.status).to.equal('error');
- expect(jamesApiClient.listJamesDomains).to.have.been.calledOnce;
- });
-
- it('should set status to loaded if success to get available aliases', function() {
- var domain = { name: 'abc.lng' };
-
- jamesApiClient.listJamesDomains = sinon.stub().returns($q.when([]));
-
- var controller = initController(null, domain);
-
- expect(controller.status).to.equal('loaded');
- expect(jamesApiClient.listJamesDomains).to.have.been.calledOnce;
- });
-
- it('should set availableAliases except the current domain name if success to get available aliases', function() {
- var domain = { name: 'foo.lng' };
- var domains = ['foo.lng', 'bar.lng'];
-
- jamesApiClient.listJamesDomains = sinon.stub().returns($q.when(domains));
-
- var controller = initController(null, domain);
-
- expect(controller.status).to.equal('loaded');
- expect(controller.availableAliases).to.deep.equal(['bar.lng']);
- expect(jamesApiClient.listJamesDomains).to.have.been.calledOnce;
- });
- });
-
- describe('The onAddBtnClick function', function() {
- it('should add the alias to the alias list if successful in adding alias from API', function() {
- var scope = $rootScope.$new();
- var domain = {
- name: 'abc',
- id: '123'
- };
- var aliases = ['open-paas.org'];
- var controller = initController(scope, domain);
-
- jamesApiClient.addDomainAlias = sinon.stub().returns($q.when());
-
- controller.aliases = aliases;
- controller.alias = 'linagora.com';
-
- controller.onAddBtnClick();
- scope.$digest();
-
- expect(jamesApiClient.addDomainAlias).to.have.been.calledWith(domain.id, 'linagora.com');
- expect(controller.aliases).to.deep.equal(['open-paas.org', 'linagora.com']);
- });
-
- it('should set the alias to empty string if successful in adding alias from API', function() {
- var scope = $rootScope.$new();
- var domain = {
- name: 'abc',
- id: '123'
- };
- var aliases = ['open-paas.org'];
- var controller = initController(scope, domain);
-
- jamesApiClient.addDomainAlias = sinon.stub().returns($q.when());
-
- controller.aliases = aliases;
- controller.alias = 'linagora.com';
-
- controller.onAddBtnClick();
- scope.$digest();
-
- expect(jamesApiClient.addDomainAlias).to.have.been.calledWith(domain.id, 'linagora.com');
- expect(controller.alias).to.equal('');
- });
- });
-});
diff --git a/src/linagora.esn.james/app/domain/alias/form/james-domain-alias-form.less b/src/linagora.esn.james/app/domain/alias/form/james-domain-alias-form.less
deleted file mode 100644
index 3cd0b2e7..00000000
--- a/src/linagora.esn.james/app/domain/alias/form/james-domain-alias-form.less
+++ /dev/null
@@ -1,13 +0,0 @@
-.james-domain-alias-form {
- padding: 10px;
-
- button {
- margin-top: 5px;
- }
-
- .ui-select-match .ui-select-toggle {
- .flex-vertical-centered;
-
- text-transform: unset;
- }
-}
diff --git a/src/linagora.esn.james/app/domain/alias/form/james-domain-alias-form.pug b/src/linagora.esn.james/app/domain/alias/form/james-domain-alias-form.pug
deleted file mode 100644
index ece42665..00000000
--- a/src/linagora.esn.james/app/domain/alias/form/james-domain-alias-form.pug
+++ /dev/null
@@ -1,33 +0,0 @@
-.james-domain-alias-form
- h5 {{ 'Add domain alias' | translate }}
- form(name='form')
- .row
- .text-center(
- ng-if="$ctrl.status === $ctrl.status.loading",
- openpaas-logo-spinner,
- spinner-start-active='1',
- spinner-size='0.5'
- )
-
- .col-xs-12(ng-if="$ctrl.status === 'loaded'")
- .row(ng-if="$ctrl.availableAliases.length")
- .col-xs-10
- ui-select(
- ng-model="$ctrl.alias",
- close-on-select="true",
- required
- )
- ui-select-match(placeholder="{{ 'Search for an alias' | translate }}")
- span(ng-bind="$select.selected")
- ui-select-choices(
- repeat="item in ($ctrl.availableAliases | filter: $select.search) track by item",
- ui-disable-choice="$ctrl.isAddedAlias(item)"
- )
- span(ng-bind="item")
- .col-xs-2.text-center
- button.btn.btn-primary.btn-sm.waves-effect(
- ng-disabled="!$ctrl.alias || form.$invalid",
- ng-click="$ctrl.onAddBtnClick()"
- ) {{ 'Add' | translate }}
- p(ng-if="!$ctrl.availableAliases.length") {{ 'No existing alias to add' | translate }}
- .message(ng-if="$ctrl.status === $ctrl.status.error") {{ 'An error occurred while listing aliases to add, please try again!' | translate }}
\ No newline at end of file
diff --git a/src/linagora.esn.james/app/domain/alias/item/james-domain-alias-item.component.js b/src/linagora.esn.james/app/domain/alias/item/james-domain-alias-item.component.js
deleted file mode 100644
index 8555b7e6..00000000
--- a/src/linagora.esn.james/app/domain/alias/item/james-domain-alias-item.component.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict';
-
-angular.module('linagora.esn.james')
- .component('jamesDomainAliasItem', {
- template: require('./james-domain-alias-item.pug'),
- controller: 'JamesDomainAliasItemController',
- bindings: {
- alias: '<',
- aliases: '=',
- domain: '<'
- }
- });
diff --git a/src/linagora.esn.james/app/domain/alias/item/james-domain-alias-item.controller.js b/src/linagora.esn.james/app/domain/alias/item/james-domain-alias-item.controller.js
deleted file mode 100644
index 9c106dad..00000000
--- a/src/linagora.esn.james/app/domain/alias/item/james-domain-alias-item.controller.js
+++ /dev/null
@@ -1,33 +0,0 @@
-'use strict';
-
-angular.module('linagora.esn.james')
- .controller('JamesDomainAliasItemController', JamesDomainAliasItemController);
-
-function JamesDomainAliasItemController(
- asyncAction,
- jamesApiClient
-) {
- var self = this;
-
- self.$onInit = $onInit;
-
- function $onInit() {
- self.removeAlias = removeAlias;
- }
-
- function _removeAlias() {
- return jamesApiClient.removeDomainAlias(self.domain.id, self.alias).then(function() {
- self.aliases = self.aliases.filter(function(alias) {
- return alias !== self.alias;
- });
- });
- }
-
- function removeAlias() {
- asyncAction({
- progressing: 'Removing alias...',
- success: 'Alias removed',
- failure: 'Failed to remove alias'
- }, _removeAlias);
- }
-}
diff --git a/src/linagora.esn.james/app/domain/alias/item/james-domain-alias-item.controller.spec.js b/src/linagora.esn.james/app/domain/alias/item/james-domain-alias-item.controller.spec.js
deleted file mode 100644
index c86c0736..00000000
--- a/src/linagora.esn.james/app/domain/alias/item/james-domain-alias-item.controller.spec.js
+++ /dev/null
@@ -1,63 +0,0 @@
-'use strict';
-
-/* global chai, sinon: false */
-
-const { expect } = chai;
-
-describe('The JamesDomainAliasItemController', function() {
-
- var $controller, $rootScope, $scope, $q;
- var jamesApiClient;
-
- beforeEach(function() {
- angular.mock.module('linagora.esn.james');
-
- angular.mock.inject(function(
- _$controller_,
- _$rootScope_,
- _$q_,
- _jamesApiClient_
- ) {
- $controller = _$controller_;
- $rootScope = _$rootScope_;
- $q = _$q_;
- jamesApiClient = _jamesApiClient_;
- });
- });
-
- function initController(scope) {
- $scope = scope || $rootScope.$new();
-
- var controller = $controller('JamesDomainAliasItemController', { $scope: $scope });
-
- $scope.$digest();
-
- controller.$onInit();
-
- return controller;
- }
-
- describe('The removeAlias function', function() {
- it('should remove the alias from the alias list if successful in removing alias from API', function() {
- var scope = $rootScope.$new();
- var domain = {
- name: 'abc',
- id: '123'
- };
- var aliases = ['open-paas.org', 'linagora.com'];
- var controller = initController(scope);
-
- jamesApiClient.removeDomainAlias = sinon.stub().returns($q.when());
-
- controller.domain = domain;
- controller.aliases = aliases;
- controller.alias = 'open-paas.org';
-
- controller.removeAlias();
- scope.$digest();
-
- expect(jamesApiClient.removeDomainAlias).to.have.been.calledWith(domain.id, 'open-paas.org');
- expect(controller.aliases).to.deep.equal(['linagora.com']);
- });
- });
-});
diff --git a/src/linagora.esn.james/app/domain/alias/item/james-domain-alias-item.less b/src/linagora.esn.james/app/domain/alias/item/james-domain-alias-item.less
deleted file mode 100644
index d0679d6d..00000000
--- a/src/linagora.esn.james/app/domain/alias/item/james-domain-alias-item.less
+++ /dev/null
@@ -1,8 +0,0 @@
-.james-domain-alias-item {
- padding-left: 10px;
- padding-right: 10px;
-
- button {
- font-size: 20px;
- }
-}
diff --git a/src/linagora.esn.james/app/domain/alias/item/james-domain-alias-item.pug b/src/linagora.esn.james/app/domain/alias/item/james-domain-alias-item.pug
deleted file mode 100644
index c1fc0ccc..00000000
--- a/src/linagora.esn.james/app/domain/alias/item/james-domain-alias-item.pug
+++ /dev/null
@@ -1,7 +0,0 @@
-.james-domain-alias-item
- .row
- .col-xs-8.p-t-10
- span {{::$ctrl.alias}}
- .col-xs-4.text-right
- button.btn-link.btn-icon.button(ng-click="$ctrl.removeAlias()")
- i.mdi.mdi-delete.clickable
diff --git a/src/linagora.esn.james/app/domain/alias/james-domain-alias-dialog.pug b/src/linagora.esn.james/app/domain/alias/james-domain-alias-dialog.pug
deleted file mode 100644
index b5c7d11a..00000000
--- a/src/linagora.esn.james/app/domain/alias/james-domain-alias-dialog.pug
+++ /dev/null
@@ -1,33 +0,0 @@
-.james-domain-alias-dialog.modal.full-screen(ng-init='$ctrl.getDomainAliases()')
- form(name="form")
- .modal-dialog
- .modal-content
- .modal-header
- button.close(type="button", data-dismiss="modal", aria-label="Close", ng-click="$hide()")
- span(aria-hidden="true") ×
- h4.modal-title {{ 'Aliases of %s' | translate:$ctrl.domain.name }}
-
- .modal-body.overflow-none
- .text-center(
- ng-if="$ctrl.status === $ctrl.getDomainAliasesStatus.loading",
- openpaas-logo-spinner,
- spinner-start-active='1',
- spinner-size='0.5'
- )
-
- .domain-aliases(ng-if="$ctrl.status === 'loaded'")
- james-domain-alias-form(domain="$ctrl.domain", aliases="$ctrl.aliases")
- div(ng-if="$ctrl.aliases.length")
- h5.m-l-10 {{ 'Current aliases' | translate }}
- .domain-alias-list
- james-domain-alias-item(ng-repeat="alias in $ctrl.aliases" alias="alias", aliases="$ctrl.aliases" domain="$ctrl.domain")
- .message(ng-if="!$ctrl.aliases.length") {{ 'No alias' | translate }}
- .message(ng-if="$ctrl.status === $ctrl.getDomainAliasesStatus.error") {{ 'An error occurred while getting domain aliases, please try again!' | translate }}
-
- .modal-footer(ng-if="$ctrl.status === $ctrl.getDomainAliasesStatus.loaded")
- button.btn.btn-link(type="button", ng-click="$hide()")
- | {{ 'Close' | translate }}
-
- .modal-footer(ng-if="$ctrl.status === $ctrl.getDomainAliasesStatus.error")
- button.btn.btn-primary.btn-ok(type="button", ng-click="$hide()")
- | {{ 'OK' | translate }}
diff --git a/src/linagora.esn.james/app/domain/alias/james-domain-alias.component.js b/src/linagora.esn.james/app/domain/alias/james-domain-alias.component.js
deleted file mode 100644
index a98294ea..00000000
--- a/src/linagora.esn.james/app/domain/alias/james-domain-alias.component.js
+++ /dev/null
@@ -1,10 +0,0 @@
-'use strict';
-
-angular.module('linagora.esn.james')
- .component('jamesDomainAlias', {
- template: require('./james-domain-alias.pug'),
- controller: 'JamesDomainAliasController',
- bindings: {
- domain: '<'
- }
- });
diff --git a/src/linagora.esn.james/app/domain/alias/james-domain-alias.controller.js b/src/linagora.esn.james/app/domain/alias/james-domain-alias.controller.js
deleted file mode 100644
index a0cd9702..00000000
--- a/src/linagora.esn.james/app/domain/alias/james-domain-alias.controller.js
+++ /dev/null
@@ -1,37 +0,0 @@
-'use strict';
-
-require('../../common/james-api-client.service.js');
-
-angular.module('linagora.esn.james')
- .controller('JamesDomainAliasController', JamesDomainAliasController);
-
-function JamesDomainAliasController(
- jamesApiClient
-) {
- var self = this;
- var GET_DOMAIN_ALIASES_STATUS = {
- loading: 'loading',
- loaded: 'loaded',
- error: 'error'
- };
-
- self.$onInit = $onInit;
- self.getDomainAliases = getDomainAliases;
-
- function $onInit() {
- self.getDomainAliasesStatus = GET_DOMAIN_ALIASES_STATUS;
- }
-
- function getDomainAliases() {
- self.status = GET_DOMAIN_ALIASES_STATUS.loading;
-
- return jamesApiClient.getDomainAliases(self.domain.id)
- .then(function(aliases) {
- self.aliases = aliases;
- self.status = GET_DOMAIN_ALIASES_STATUS.loaded;
- })
- .catch(function() {
- self.status = GET_DOMAIN_ALIASES_STATUS.error;
- });
- }
-}
diff --git a/src/linagora.esn.james/app/domain/alias/james-domain-alias.controller.spec.js b/src/linagora.esn.james/app/domain/alias/james-domain-alias.controller.spec.js
deleted file mode 100644
index 36e3eed3..00000000
--- a/src/linagora.esn.james/app/domain/alias/james-domain-alias.controller.spec.js
+++ /dev/null
@@ -1,91 +0,0 @@
-'use strict';
-
-/* global chai, sinon: false */
-
-const { expect } = chai;
-
-describe('The JamesDomainAliasController', function() {
-
- var $controller, $rootScope, $scope, $q;
- var jamesApiClient;
-
- beforeEach(function() {
- angular.mock.module('linagora.esn.james');
-
- angular.mock.inject(function(
- _$controller_,
- _$rootScope_,
- _$q_,
- _jamesApiClient_
- ) {
- $controller = _$controller_;
- $rootScope = _$rootScope_;
- $q = _$q_;
- jamesApiClient = _jamesApiClient_;
- });
- });
-
- function initController(scope) {
- $scope = scope || $rootScope.$new();
-
- var controller = $controller('JamesDomainAliasController', { $scope: $scope });
-
- $scope.$digest();
-
- return controller;
- }
-
- describe('The getDomainAliases function', function() {
- it('should set the status to loading while attempting to get domain aliases ', function() {
- var domain = {
- name: 'abc',
- id: '123'
- };
- var controller = initController();
-
- jamesApiClient.getDomainAliases = sinon.stub().returns($q.defer().promise);
-
- controller.domain = domain;
- controller.getDomainAliases();
-
- expect(jamesApiClient.getDomainAliases).to.have.been.calledWith(domain.id);
- expect(controller.status).to.equal('loading');
- });
-
- it('should set the status to error in case of failed attempt to get domain aliases', function() {
- var domain = {
- name: 'abc',
- id: '123'
- };
- var controller = initController();
-
- controller.domain = domain;
- jamesApiClient.getDomainAliases = sinon.stub().returns($q.reject());
-
- controller.getDomainAliases();
- $rootScope.$digest();
-
- expect(jamesApiClient.getDomainAliases).to.have.been.calledWith(domain.id);
- expect(controller.status).to.equal('error');
- });
-
- it('should set the status to loaded if succeed to get domain aliases', function() {
- var domain = {
- name: 'abc',
- id: '123'
- };
- var aliases = ['open-paas.org', 'linagora.com'];
- var controller = initController();
-
- controller.domain = domain;
- jamesApiClient.getDomainAliases = sinon.stub().returns($q.when(aliases));
-
- controller.getDomainAliases();
- $rootScope.$digest();
-
- expect(jamesApiClient.getDomainAliases).to.have.been.calledWith(domain.id);
- expect(controller.status).to.equal('loaded');
- expect(controller.aliases).to.deep.equal(aliases);
- });
- });
-});
diff --git a/src/linagora.esn.james/app/domain/alias/james-domain-alias.less b/src/linagora.esn.james/app/domain/alias/james-domain-alias.less
deleted file mode 100644
index 9ee7e45b..00000000
--- a/src/linagora.esn.james/app/domain/alias/james-domain-alias.less
+++ /dev/null
@@ -1,39 +0,0 @@
-james-domain-alias {
- a {
- &:extend(.dropdown-menu > li > a);
- &:extend(.dropdown-menu.dropdown-menu-right > li > a);
-
- &:hover {
- &:extend(.dropdown-menu > li > a:hover);
- }
- }
-}
-
-.james-domain-alias-dialog {
- .message {
- .all-centered;
-
- color: @secondaryTextColor;
- font-size: 1.4em;
- }
-
- .domain-aliases {
- padding-left: 10px;
- padding-right: 10px;
-
- .domain-alias-list {
- margin-top: 20px;
- height: 15vh;
- overflow-y: auto;
- overflow-x: hidden;
-
- @media screen and (max-width: @screen-md-min) {
- height: 60vh;
- }
- }
-
- .message {
- height: calc(~"15vh + 40px");
- }
- }
-}
diff --git a/src/linagora.esn.james/app/domain/alias/james-domain-alias.pug b/src/linagora.esn.james/app/domain/alias/james-domain-alias.pug
deleted file mode 100644
index 845580a8..00000000
--- a/src/linagora.esn.james/app/domain/alias/james-domain-alias.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-a(
- href="",
- esn-modal-launcher="/james/app/domain/alias/james-domain-alias-dialog.html",
- backdrop="static"
-) {{ 'Manage aliases' | translate }}
diff --git a/src/linagora.esn.james/app/domain/alias/james-domain-alias.run.js b/src/linagora.esn.james/app/domain/alias/james-domain-alias.run.js
deleted file mode 100644
index 44ae9df2..00000000
--- a/src/linagora.esn.james/app/domain/alias/james-domain-alias.run.js
+++ /dev/null
@@ -1,14 +0,0 @@
-'use strict';
-
-angular.module('linagora.esn.james')
- .run(injectDomainAliasDirective);
-
-function injectDomainAliasDirective(dynamicDirectiveService) {
- var domainQuotaSetAction = new dynamicDirectiveService.DynamicDirective(
- true,
- 'james-domain-alias',
- { attributes: [{ name: 'domain', value: '$ctrl.domain' }] }
- );
-
- dynamicDirectiveService.addInjection('admin-domains-list-menu-items', domainQuotaSetAction);
-}
diff --git a/src/linagora.esn.james/app/quota/domain/james-quota-domain-dialog.pug b/src/linagora.esn.james/app/quota/domain/james-quota-domain-dialog.pug
deleted file mode 100644
index 9fdfe5e5..00000000
--- a/src/linagora.esn.james/app/quota/domain/james-quota-domain-dialog.pug
+++ /dev/null
@@ -1,36 +0,0 @@
-.james-quota-domain-dialog.modal.full-screen(ng-init='$ctrl.getDomainQuota()')
- form(name="form", esn-submit="$hide(); $ctrl.updateDomainQuota();")
- .modal-dialog
- .modal-content
- .modal-header
- button.close(type="button", data-dismiss="modal", aria-label="Close", ng-click="$hide()")
- span(aria-hidden="true") ×
- h4.modal-title {{ 'Set email quota for %s' | translate:$ctrl.domain.name }}
-
- .modal-body.overflow-none
- .text-center(
- ng-if="$ctrl.status === $ctrl.getDomainQuotaStatus.loading",
- openpaas-logo-spinner,
- spinner-start-active='1',
- spinner-size='0.5'
- )
-
- .computed-quota(ng-if="$ctrl.status === 'loaded'")
- h5.m-l-15 {{ 'Currently applied quota' | translate }}
- james-quota-displayer(quota="$ctrl.computedQuota")
-
- .quota-set(ng-if="$ctrl.status === 'loaded'")
- h5.m-l-15 {{ 'Set quota' | translate }}
- small.text-muted.m-l-15 {{ 'Define the quota limit for each user. Leave the fields empty for no quota.' | translate }}
- james-quota-form(quota="$ctrl.quota")
- .error-message(ng-if="$ctrl.status === $ctrl.getDomainQuotaStatus.error") {{ 'An error occured while getting quota, please try again!' | translate }}
-
- .modal-footer(ng-if="$ctrl.status === $ctrl.getDomainQuotaStatus.loaded")
- button.btn.btn-link(type="button", ng-click="$hide()")
- | {{ 'Cancel' | translate }}
- button.btn.btn-primary(type="submit", ng-disabled="form.$invalid || form.$pending")
- | {{ 'Save' | translate }}
-
- .modal-footer(ng-if="$ctrl.status === $ctrl.getDomainQuotaStatus.error")
- button.btn.btn-primary.btn-ok(type="button", ng-click="$hide()")
- | {{ 'OK' | translate }}
diff --git a/src/linagora.esn.james/app/quota/domain/james-quota-domain.component.js b/src/linagora.esn.james/app/quota/domain/james-quota-domain.component.js
deleted file mode 100644
index 6307e657..00000000
--- a/src/linagora.esn.james/app/quota/domain/james-quota-domain.component.js
+++ /dev/null
@@ -1,10 +0,0 @@
-'use strict';
-
-angular.module('linagora.esn.james')
- .component('jamesQuotaDomain', {
- template: require('./james-quota-domain.pug'),
- controller: 'JamesQuotaDomainController',
- bindings: {
- domain: '<'
- }
- });
diff --git a/src/linagora.esn.james/app/quota/domain/james-quota-domain.controller.js b/src/linagora.esn.james/app/quota/domain/james-quota-domain.controller.js
deleted file mode 100644
index 5e95da88..00000000
--- a/src/linagora.esn.james/app/quota/domain/james-quota-domain.controller.js
+++ /dev/null
@@ -1,54 +0,0 @@
-'use strict';
-
-require('../../common/james-api-client.service.js');
-require('../james-quota-helpers.service.js');
-
-angular.module('linagora.esn.james')
- .controller('JamesQuotaDomainController', JamesQuotaDomainController);
-
-function JamesQuotaDomainController(
- asyncAction,
- jamesApiClient,
- jamesQuotaHelpers
-) {
- var self = this;
- var GET_DOMAIN_QUOTA_STATUS = {
- loading: 'loading',
- loaded: 'loaded',
- error: 'error'
- };
-
- self.$onInit = $onInit;
- self.getDomainQuota = getDomainQuota;
- self.updateDomainQuota = updateDomainQuota;
-
- function $onInit() {
- self.getDomainQuotaStatus = GET_DOMAIN_QUOTA_STATUS;
- }
-
- function getDomainQuota() {
- self.status = GET_DOMAIN_QUOTA_STATUS.loading;
-
- return jamesApiClient.getDomainQuota(self.domain.id)
- .then(function(quota) {
- self.quota = jamesQuotaHelpers.qualifyGet(quota.domain);
- self.computedQuota = jamesQuotaHelpers.qualifyGet(quota.computed);
- self.status = GET_DOMAIN_QUOTA_STATUS.loaded;
- })
- .catch(function() {
- self.status = GET_DOMAIN_QUOTA_STATUS.error;
- });
- }
-
- function updateDomainQuota() {
- var notificationMessages = {
- progressing: 'Updating quota...',
- success: 'Quota updated',
- failure: 'Failed to update quota'
- };
-
- return asyncAction(notificationMessages, function() {
- return jamesApiClient.setDomainQuota(self.domain.id, jamesQuotaHelpers.qualifySet(self.quota));
- });
- }
-}
diff --git a/src/linagora.esn.james/app/quota/domain/james-quota-domain.controller.spec.js b/src/linagora.esn.james/app/quota/domain/james-quota-domain.controller.spec.js
deleted file mode 100644
index 472366fb..00000000
--- a/src/linagora.esn.james/app/quota/domain/james-quota-domain.controller.spec.js
+++ /dev/null
@@ -1,170 +0,0 @@
-'use strict';
-
-/* global chai, sinon: false */
-
-const { expect } = chai;
-
-describe('The JamesQuotaDomainController', function() {
-
- var $controller, $rootScope, $scope, $q;
- var jamesApiClient, jamesQuotaHelpers;
- var domain = { id: 'domainId' };
-
- beforeEach(function() {
- angular.mock.module('linagora.esn.james');
- angular.mock.module('esn.configuration', function($provide) {
- $provide.value('esnConfig', function() {
- return $q.when();
- });
- });
-
- angular.mock.inject(function(
- _$controller_,
- _$rootScope_,
- _$q_,
- _jamesApiClient_,
- _jamesQuotaHelpers_
- ) {
- $controller = _$controller_;
- $rootScope = _$rootScope_;
- $q = _$q_;
- jamesApiClient = _jamesApiClient_;
- jamesQuotaHelpers = _jamesQuotaHelpers_;
- });
- });
-
- function initController(scope) {
- $scope = scope || $rootScope.$new();
-
- var controller = $controller('JamesQuotaDomainController', { $scope: $scope });
-
- $scope.$digest();
-
- return controller;
- }
-
- describe('The getDomainQuota function', function() {
- it('should set the status to loading while attempting to get domain quota ', function() {
- var controller = initController();
-
- jamesApiClient.getDomainQuota = function() {
- return $q.defer().promise;
- };
-
- controller.domain = domain;
- controller.getDomainQuota();
-
- expect(controller.status).to.equal('loading');
- });
-
- it('should set the status to error in case of failed attempt to get domain quota', function() {
- var controller = initController();
-
- controller.domain = domain;
- jamesApiClient.getDomainQuota = sinon.stub().returns($q.reject());
-
- controller.getDomainQuota();
- $rootScope.$digest();
-
- expect(jamesApiClient.getDomainQuota).to.have.been.calledWith(domain.id);
- expect(controller.status).to.equal('error');
- });
-
- it('should set the status to loaded if succeed to get domain quota', function() {
- var quota = {
- domain: { count: 16, size: 21 },
- computed: { count: 20, size: 1000 }
- };
- var controller = initController();
-
- controller.domain = domain;
- jamesApiClient.getDomainQuota = sinon.stub().returns($q.when(quota));
-
- controller.getDomainQuota();
- $rootScope.$digest();
-
- expect(jamesApiClient.getDomainQuota).to.have.been.calledWith(domain.id);
- expect(controller.status).to.equal('loaded');
- expect(controller.quota).to.deep.equal(quota.domain);
- expect(controller.computedQuota).to.deep.equal(quota.computed);
- });
-
- it('should qualify quota when succeed to get domain quota', function() {
- var quota = {
- domain: { count: -10, size: -20 },
- computed: { count: 100, size: 2000 }
- };
- var controller = initController();
-
- controller.domain = domain;
- jamesApiClient.getDomainQuota = function() {
- return $q.when(quota);
- };
-
- controller.getDomainQuota();
- $rootScope.$digest();
-
- expect(controller.quota).to.deep.equal({ count: null, size: null });
- expect(controller.computedQuota).to.deep.equal({ count: 100, size: 2000 });
- });
- });
-
- describe('The updateDomainQuota function', function() {
- it('should reject if failed to update domain quota', function(done) {
- var domain = { _id: 'domainId' };
- var quota = { count: 16, size: 21 };
-
- jamesApiClient.setDomainQuota = sinon.stub().returns($q.reject());
-
- var controller = initController();
-
- controller.domain = domain;
- controller.quota = quota;
- controller.updateDomainQuota()
- .catch(function() {
- expect(jamesApiClient.setDomainQuota).to.have.been.calledWith(domain.id, controller.quota);
- done();
- });
-
- $rootScope.$digest();
- });
-
- it('should qualify quota before set domain quota', function() {
- var domain = { _id: 'domainId' };
- var quota = { count: 16, size: 21 };
- var qualifiedQuota = { foo: 'bar' };
- var controller = initController();
-
- controller.domain = domain;
- controller.quota = quota;
- jamesApiClient.setDomainQuota = sinon.stub().returns($q.when());
- jamesQuotaHelpers.qualifySet = sinon.stub().returns(qualifiedQuota);
-
- controller.updateDomainQuota();
- $rootScope.$digest();
-
- expect(jamesQuotaHelpers.qualifySet).to.have.been.calledWith(quota);
- expect(jamesApiClient.setDomainQuota).to.have.been.calledWith(domain.id, qualifiedQuota);
- });
-
- it('should resolve if succeed to update domain quota', function(done) {
- var domain = { _id: 'domainId' };
- var quota = { count: 16, size: 21 };
-
- jamesApiClient.setDomainQuota = sinon.stub().returns($q.when());
-
- var controller = initController();
-
- controller.domain = domain;
- controller.quota = quota;
- controller.updateDomainQuota()
- .then(function() {
- expect(jamesApiClient.setDomainQuota).to.have.been.calledWith(domain.id, controller.quota);
- done();
- })
- .catch(done);
-
- $rootScope.$digest();
- });
- });
-});
diff --git a/src/linagora.esn.james/app/quota/domain/james-quota-domain.less b/src/linagora.esn.james/app/quota/domain/james-quota-domain.less
deleted file mode 100644
index d044c199..00000000
--- a/src/linagora.esn.james/app/quota/domain/james-quota-domain.less
+++ /dev/null
@@ -1,39 +0,0 @@
-james-quota-domain {
- a {
- &:extend(.dropdown-menu > li > a);
- &:extend(.dropdown-menu.dropdown-menu-right > li > a);
-
- &:hover {
- &:extend(.dropdown-menu > li > a:hover);
- }
- }
-}
-
-.james-quota-domain-dialog {
- .helper-text {
- .text-muted;
-
- padding-left:15px;
- }
-
- .quota-set {
- margin-top: 30px;
- }
-
- small {
- display: block;
- }
-
- james-quota-form {
- .row {
- margin-left: 0;
- margin-right: 0;
- }
- }
-
- .error-message {
- color: @secondaryTextColor;
- font-size: 1.4em;
- text-align: center;
- }
-}
diff --git a/src/linagora.esn.james/app/quota/domain/james-quota-domain.pug b/src/linagora.esn.james/app/quota/domain/james-quota-domain.pug
deleted file mode 100644
index 2f339b37..00000000
--- a/src/linagora.esn.james/app/quota/domain/james-quota-domain.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-a(
- href="",
- esn-modal-launcher="/james/app/quota/domain/james-quota-domain-dialog.html",
- backdrop="static"
-) {{ 'Set email quota' | translate }}
diff --git a/src/linagora.esn.james/app/quota/domain/james-quota-domain.run.js b/src/linagora.esn.james/app/quota/domain/james-quota-domain.run.js
deleted file mode 100644
index 807bf0d4..00000000
--- a/src/linagora.esn.james/app/quota/domain/james-quota-domain.run.js
+++ /dev/null
@@ -1,14 +0,0 @@
-'use strict';
-
-angular.module('linagora.esn.james')
- .run(injectQuotaDomainDirective);
-
-function injectQuotaDomainDirective(dynamicDirectiveService) {
- var domainQuotaSetAction = new dynamicDirectiveService.DynamicDirective(
- true,
- 'james-quota-domain',
- { attributes: [{ name: 'domain', value: '$ctrl.domain' }] }
- );
-
- dynamicDirectiveService.addInjection('admin-domains-list-menu-items', domainQuotaSetAction);
-}
diff --git a/src/linagora.esn.james/app/quota/james-quota-helpers.service.js b/src/linagora.esn.james/app/quota/james-quota-helpers.service.js
deleted file mode 100644
index f76130e8..00000000
--- a/src/linagora.esn.james/app/quota/james-quota-helpers.service.js
+++ /dev/null
@@ -1,36 +0,0 @@
-'use strict';
-
-require('./james-quota.constants.js');
-
-angular.module('linagora.esn.james')
-
- .factory('jamesQuotaHelpers', jamesQuotaHelpers);
-
-function jamesQuotaHelpers(JAMES_UNLIMITED_QUOTA) {
- var ACTION_DEFAULT_VALUE = { get: null, set: null };
-
- return {
- qualifyGet: qualifyGet,
- qualifySet: qualifySet
- };
-
- function qualifyGet(quota, defaultValue) {
- defaultValue = defaultValue || ACTION_DEFAULT_VALUE.set;
- var qualifiedQuota = angular.copy(quota) || {};
-
- qualifiedQuota.size = (qualifiedQuota.size > 0 || qualifiedQuota.size === JAMES_UNLIMITED_QUOTA) ? qualifiedQuota.size : defaultValue;
- qualifiedQuota.count = (qualifiedQuota.count > 0 || qualifiedQuota.count === JAMES_UNLIMITED_QUOTA) ? qualifiedQuota.count : defaultValue;
-
- return qualifiedQuota;
- }
-
- function qualifySet(quota, defaultValue) {
- defaultValue = defaultValue || ACTION_DEFAULT_VALUE.set;
- var qualifiedQuota = angular.copy(quota) || {};
-
- qualifiedQuota.size = (qualifiedQuota.size > 0 || qualifiedQuota.size === JAMES_UNLIMITED_QUOTA) ? qualifiedQuota.size : defaultValue;
- qualifiedQuota.count = (qualifiedQuota.count > 0 || qualifiedQuota.count === JAMES_UNLIMITED_QUOTA) ? qualifiedQuota.count : defaultValue;
-
- return qualifiedQuota;
- }
-}
diff --git a/src/linagora.esn.james/app/quota/james-quota.constants.js b/src/linagora.esn.james/app/quota/james-quota.constants.js
deleted file mode 100644
index 20baf63b..00000000
--- a/src/linagora.esn.james/app/quota/james-quota.constants.js
+++ /dev/null
@@ -1,4 +0,0 @@
-'use strict';
-
-angular.module('linagora.esn.james')
- .constant('JAMES_UNLIMITED_QUOTA', -1);
diff --git a/src/linagora.esn.james/app/quota/james.quota-helpers.service.spec.js b/src/linagora.esn.james/app/quota/james.quota-helpers.service.spec.js
deleted file mode 100644
index 639706c8..00000000
--- a/src/linagora.esn.james/app/quota/james.quota-helpers.service.spec.js
+++ /dev/null
@@ -1,148 +0,0 @@
-'use strict';
-
-/* global chai: false */
-
-const { expect } = chai;
-
-describe('The jamesQuotaHelpers service', function() {
- var jamesQuotaHelpers, JAMES_UNLIMITED_QUOTA;
- var quota;
-
- beforeEach(function() {
- angular.mock.module('linagora.esn.james');
-
- angular.mock.inject(function(_jamesQuotaHelpers_, _JAMES_UNLIMITED_QUOTA_) {
- jamesQuotaHelpers = _jamesQuotaHelpers_;
- JAMES_UNLIMITED_QUOTA = _JAMES_UNLIMITED_QUOTA_;
- });
-
- quota = {
- count: 100,
- size: 100
- };
- });
-
- describe('The qualifyGet function', function() {
- it('should return qualified quota in case of quota count is invalid', function() {
- quota.count = -10;
-
- expect(jamesQuotaHelpers.qualifyGet(quota)).to.deep.equal({
- count: null,
- size: quota.size
- });
- });
-
- it('should return qualified quota in case of quota size is invalid', function() {
- quota.size = -10;
-
- expect(jamesQuotaHelpers.qualifyGet(quota)).to.deep.equal({
- size: null,
- count: quota.count
- });
- });
-
- it('should return qualified quota in case of both quota size and count are invalid', function() {
- quota.size = -10;
- quota.count = -10;
-
- expect(jamesQuotaHelpers.qualifyGet(quota)).to.deep.equal({
- size: null,
- count: null
- });
- });
-
- it('should return qualified quota in case of quota size is unlimited', function() {
- quota.size = JAMES_UNLIMITED_QUOTA;
-
- expect(jamesQuotaHelpers.qualifyGet(quota)).to.deep.equal({
- size: JAMES_UNLIMITED_QUOTA,
- count: quota.count
- });
- });
-
- it('should return qualified quota in case of quota count is unlimited', function() {
- quota.count = JAMES_UNLIMITED_QUOTA;
-
- expect(jamesQuotaHelpers.qualifyGet(quota)).to.deep.equal({
- size: quota.size,
- count: JAMES_UNLIMITED_QUOTA
- });
- });
-
- it('should return qualified quota in case of both quota count and size are unlimited', function() {
- quota.count = JAMES_UNLIMITED_QUOTA;
- quota.size = JAMES_UNLIMITED_QUOTA;
-
- expect(jamesQuotaHelpers.qualifyGet(quota)).to.deep.equal({
- size: JAMES_UNLIMITED_QUOTA,
- count: JAMES_UNLIMITED_QUOTA
- });
- });
-
- it('should return qualified quota in case of both quota count and size are valid', function() {
- expect(jamesQuotaHelpers.qualifyGet(quota)).to.deep.equal(quota);
- });
- });
-
- describe('The qualifySet function', function() {
- it('should return qualified quota in case of quota count is invalid', function() {
- quota.count = -10;
-
- expect(jamesQuotaHelpers.qualifySet(quota)).to.deep.equal({
- count: null,
- size: quota.size
- });
- });
-
- it('should return qualified quota in case of quota size is invalid', function() {
- quota.size = -10;
-
- expect(jamesQuotaHelpers.qualifySet(quota)).to.deep.equal({
- size: null,
- count: quota.count
- });
- });
-
- it('should return qualified quota in case of both quota size and count are invalid', function() {
- quota.size = -10;
- quota.count = -10;
-
- expect(jamesQuotaHelpers.qualifySet(quota)).to.deep.equal({
- size: null,
- count: null
- });
- });
-
- it('should return qualified quota in case of quota size is unlimited', function() {
- quota.size = JAMES_UNLIMITED_QUOTA;
-
- expect(jamesQuotaHelpers.qualifySet(quota)).to.deep.equal({
- size: JAMES_UNLIMITED_QUOTA,
- count: quota.count
- });
- });
-
- it('should return qualified quota in case of quota count is unlimited', function() {
- quota.count = JAMES_UNLIMITED_QUOTA;
-
- expect(jamesQuotaHelpers.qualifySet(quota)).to.deep.equal({
- size: quota.size,
- count: JAMES_UNLIMITED_QUOTA
- });
- });
-
- it('should return qualified quota in case of both quota count and size are unlimited', function() {
- quota.count = JAMES_UNLIMITED_QUOTA;
- quota.size = JAMES_UNLIMITED_QUOTA;
-
- expect(jamesQuotaHelpers.qualifySet(quota)).to.deep.equal({
- size: JAMES_UNLIMITED_QUOTA,
- count: JAMES_UNLIMITED_QUOTA
- });
- });
-
- it('should return qualified quota in case of both quota count and size are valid', function() {
- expect(jamesQuotaHelpers.qualifySet(quota)).to.deep.equal(quota);
- });
- });
-});
diff --git a/src/linagora.esn.james/app/quota/user/james-quota-user-dialog.pug b/src/linagora.esn.james/app/quota/user/james-quota-user-dialog.pug
deleted file mode 100644
index e3115bb8..00000000
--- a/src/linagora.esn.james/app/quota/user/james-quota-user-dialog.pug
+++ /dev/null
@@ -1,34 +0,0 @@
-.james-quota-user-dialog.modal.full-screen(ng-init='$ctrl.init()')
- form(name="form", ng-submit="$ctrl.updateUserQuota(); $hide()")
- .modal-dialog
- .modal-content
- .modal-header
- button.close(type="button", data-dismiss="modal", aria-label="Close", ng-click="$hide()")
- span(aria-hidden="true") ×
- h4.modal-title {{ 'Set email quota for %s' | translate:$ctrl.userDisplayName }}
-
- .modal-body.overflow-none
- .text-center(
- ng-if="$ctrl.status === 'loading'",
- openpaas-logo-spinner,
- spinner-start-active='1',
- spinner-size='0.3')
-
- .computed-quota(ng-if="$ctrl.status === 'loaded'")
- h5.m-l-15 {{ 'Currently applied quota' | translate }}
- james-quota-displayer(quota="$ctrl.computedQuota")
-
- .quota-set(ng-if="$ctrl.status === 'loaded'")
- h5.m-l-15 {{ 'Set quota' | translate }}
- small.text-muted.m-l-15 {{ 'Define the quota limit for each user. Leave the fields empty for no quota.' | translate }}
- james-quota-form(quota="$ctrl.quota")
- .error-message(ng-if="$ctrl.status === 'error'") {{ 'An error occured while getting quota, please try again!' | translate }}
- .modal-footer(ng-if="$ctrl.status === 'loaded'")
- button.btn.btn-link(type="button", ng-click="$hide()")
- | {{ 'Cancel' | translate }}
- button.btn.btn-primary(type="submit", ng-disabled="form.$invalid || form.$pristine || form.$pending")
- | {{ 'Save' | translate }}
-
- .modal-footer(ng-if="$ctrl.status === 'error'")
- button.btn.btn-primary(type="button", ng-click="$hide()")
- | {{ 'OK' | translate }}
diff --git a/src/linagora.esn.james/app/quota/user/james-quota-user.component.js b/src/linagora.esn.james/app/quota/user/james-quota-user.component.js
deleted file mode 100644
index cf386490..00000000
--- a/src/linagora.esn.james/app/quota/user/james-quota-user.component.js
+++ /dev/null
@@ -1,10 +0,0 @@
-'use strict';
-
-angular.module('linagora.esn.james')
- .component('jamesQuotaUser', {
- template: require('./james-quota-user.pug'),
- controller: 'jamesQuotaUserController',
- bindings: {
- user: '<'
- }
- });
diff --git a/src/linagora.esn.james/app/quota/user/james-quota-user.controller.js b/src/linagora.esn.james/app/quota/user/james-quota-user.controller.js
deleted file mode 100644
index c0c550ef..00000000
--- a/src/linagora.esn.james/app/quota/user/james-quota-user.controller.js
+++ /dev/null
@@ -1,56 +0,0 @@
-'use strict';
-
-require('../../common/james-api-client.service.js');
-require('../james-quota-helpers.service.js');
-
-angular.module('linagora.esn.james')
- .controller('jamesQuotaUserController', jamesUserQuotaController);
-
-function jamesUserQuotaController(
- session,
- asyncAction,
- jamesApiClient,
- jamesQuotaHelpers,
- userUtils
-) {
- var self = this;
- var GET_USER_QUOTA_STATUS = {
- loading: 'loading',
- loaded: 'loaded',
- error: 'error'
- };
-
- self.updateUserQuota = updateUserQuota;
- self.init = init;
-
- function init() {
- self.status = GET_USER_QUOTA_STATUS.loading;
- self.userDisplayName = userUtils.displayNameOf(self.user);
-
- return jamesApiClient.getUserQuota(session.domain._id, self.user._id)
- .then(function(quota) {
- self.quota = jamesQuotaHelpers.qualifyGet(quota.user);
- self.computedQuota = jamesQuotaHelpers.qualifyGet(quota.computed);
- self.status = GET_USER_QUOTA_STATUS.loaded;
- })
- .catch(function() {
- self.status = GET_USER_QUOTA_STATUS.error;
- });
- }
-
- function updateUserQuota() {
- var notificationMessages = {
- progressing: 'Updating quota...',
- success: 'Quota updated',
- failure: 'Failed to update quota'
- };
-
- return asyncAction(notificationMessages, function() {
- return jamesApiClient.setUserQuota(
- session.domain._id,
- self.user._id,
- jamesQuotaHelpers.qualifySet(self.quota)
- );
- });
- }
-}
diff --git a/src/linagora.esn.james/app/quota/user/james-quota-user.controller.spec.js b/src/linagora.esn.james/app/quota/user/james-quota-user.controller.spec.js
deleted file mode 100644
index afdfb5ce..00000000
--- a/src/linagora.esn.james/app/quota/user/james-quota-user.controller.spec.js
+++ /dev/null
@@ -1,115 +0,0 @@
-'use strict';
-
-/* global chai: false */
-/* global sinon: false */
-
-const { expect } = chai;
-
-describe('The jamesQuotaUserController', function() {
-
- var $controller, $rootScope, $scope, $q, session;
- var jamesApiClient, jamesQuotaHelpers;
- var domain = { _id: 'domainId' };
- var user = { _id: 'userId' };
-
- beforeEach(function() {
- angular.mock.module('linagora.esn.james');
- angular.mock.module('esn.configuration', function($provide) {
- $provide.value('esnConfig', function() {
- return $q.when();
- });
- });
-
- angular.mock.inject(function(
- _$controller_,
- _$rootScope_,
- _$q_,
- _session_,
- _jamesApiClient_,
- _jamesQuotaHelpers_
- ) {
- $controller = _$controller_;
- $rootScope = _$rootScope_;
- $q = _$q_;
- session = _session_;
- jamesApiClient = _jamesApiClient_;
- jamesQuotaHelpers = _jamesQuotaHelpers_;
-
- jamesQuotaHelpers.qualifyGet = function(quota) { return quota; };
- jamesQuotaHelpers.qualifySet = function(quota) { return quota; };
- session.domain = domain;
- });
- });
-
- function initController(scope) {
- $scope = scope || $rootScope.$new();
-
- var controller = $controller('jamesQuotaUserController', { $scope: $scope });
-
- $scope.$digest();
-
- return controller;
- }
-
- describe('The init function', function() {
- it('should resolve with gotten user quota then set the status to loaded', function(done) {
- var quota = {
- user: { count: 1, size: 1 },
- computed: { count: 1, size: 1 }
- };
-
- jamesApiClient.getUserQuota = sinon.stub().returns($q.when(quota));
- var controller = initController();
-
- controller.user = user;
-
- controller.init()
- .then(function() {
- expect(jamesApiClient.getUserQuota).to.have.been.calledWith(session.domain._id, controller.user._id);
- expect(controller.status).to.equal('loaded');
- expect(controller.quota).to.deep.equal(quota.user);
- expect(controller.computedQuota).to.deep.equal(quota.computed);
- done();
- })
- .catch(done);
-
- $rootScope.$digest();
- });
-
- it('should set the status to error in case of failed attempt to get user quota', function(done) {
- jamesApiClient.getUserQuota = sinon.stub().returns($q.reject());
- var controller = initController();
-
- controller.user = user;
-
- controller.init()
- .then(function() {
- expect(jamesApiClient.getUserQuota).to.have.been.calledWith(session.domain._id, controller.user._id);
- expect(controller.status).to.equal('error');
- done();
- })
- .catch(done);
-
- $rootScope.$digest();
- });
- });
-
- describe('The updateUserQuota function', function() {
- it('should resolve after update user qupta', function(done) {
- jamesApiClient.setUserQuota = sinon.stub().returns($q.when());
-
- var controller = initController();
-
- controller.user = user;
- controller.quota = { count: 23, size: 200 };
- controller.updateUserQuota()
- .then(function() {
- expect(jamesApiClient.setUserQuota).to.have.been.calledWith(session.domain._id, controller.user._id, controller.quota);
- done();
- })
- .catch(done);
-
- $rootScope.$digest();
- });
- });
-});
diff --git a/src/linagora.esn.james/app/quota/user/james-quota-user.less b/src/linagora.esn.james/app/quota/user/james-quota-user.less
deleted file mode 100644
index c758911f..00000000
--- a/src/linagora.esn.james/app/quota/user/james-quota-user.less
+++ /dev/null
@@ -1,44 +0,0 @@
-james-quota-user {
- a {
- &:extend(.dropdown-menu > li > a);
- &:extend(.dropdown-menu.dropdown-menu-right > li > a);
-
- &:hover {
- &:extend(.dropdown-menu > li > a:hover);
- }
- }
-}
-
-.james-quota-user-dialog {
- .helper-text {
- .text-muted;
-
- }
-
- small {
- display: block;
- }
-
- .quota-set {
- margin-top: 30px;
- }
-
- james-quota-form {
- .row {
- margin-left: 0;
- margin-right: 0;
- }
- }
-
- .error-message {
- color: @secondaryTextColor;
- font-size: 1.4em;
- text-align: center;
- }
-
- .james-quota-displayer {
- .row > * {
- padding-left: 30px;
- }
- }
-}
diff --git a/src/linagora.esn.james/app/quota/user/james-quota-user.pug b/src/linagora.esn.james/app/quota/user/james-quota-user.pug
deleted file mode 100644
index ed3c1012..00000000
--- a/src/linagora.esn.james/app/quota/user/james-quota-user.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-a(
- href="",
- esn-modal-launcher='/james/app/quota/user/james-quota-user-dialog.html'
-) {{ 'Set email quota' | translate }}
diff --git a/src/linagora.esn.james/app/quota/user/james-quota-user.run.js b/src/linagora.esn.james/app/quota/user/james-quota-user.run.js
deleted file mode 100644
index 3e3c6e76..00000000
--- a/src/linagora.esn.james/app/quota/user/james-quota-user.run.js
+++ /dev/null
@@ -1,14 +0,0 @@
-'use strict';
-
-angular.module('linagora.esn.james')
- .run(injectAdminUserQuotaDirective);
-
-function injectAdminUserQuotaDirective(dynamicDirectiveService) {
- var userQuotaSetAction = new dynamicDirectiveService.DynamicDirective(true, 'james-quota-user', {
- attributes: [
- { name: 'user', value: 'member' }
- ]
- });
-
- dynamicDirectiveService.addInjection('admin-user-list-menu-items', userQuotaSetAction);
-}
diff --git a/src/linagora.esn.james/app/sync/status-indicator/james-sync-status-indicator.component.js b/src/linagora.esn.james/app/sync/status-indicator/james-sync-status-indicator.component.js
deleted file mode 100644
index 883616bd..00000000
--- a/src/linagora.esn.james/app/sync/status-indicator/james-sync-status-indicator.component.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict';
-
-angular.module('linagora.esn.james')
-
- .component('jamesSyncStatusIndicator', {
- template: require('./james-sync-status-indicator.pug'),
- bindings: {
- resourceType: '@',
- resourceId: '@'
- },
- controller: 'JamesSyncStatusIndicatorController'
- });
diff --git a/src/linagora.esn.james/app/sync/status-indicator/james-sync-status-indicator.componnent.spec.js b/src/linagora.esn.james/app/sync/status-indicator/james-sync-status-indicator.componnent.spec.js
deleted file mode 100644
index f1df7887..00000000
--- a/src/linagora.esn.james/app/sync/status-indicator/james-sync-status-indicator.componnent.spec.js
+++ /dev/null
@@ -1,80 +0,0 @@
-'use strict';
-
-/* global chai: false */
-/* global sinon: false */
-
-const { expect } = chai;
-
-describe('The jamesSyncStatusIndicator component', function() {
- var $rootScope, $compile, $q;
- var jamesGroupSynchronizer;
- var resourceId, resourceType;
-
- beforeEach(function() {
- angular.mock.module('linagora.esn.james');
- });
-
- beforeEach(angular.mock.inject(function(
- _$rootScope_,
- _$compile_,
- _$q_,
- _jamesGroupSynchronizer_
- ) {
- $rootScope = _$rootScope_;
- $compile = _$compile_;
- $q = _$q_;
- jamesGroupSynchronizer = _jamesGroupSynchronizer_;
- }));
-
- beforeEach(function() {
- resourceId = '123';
- resourceType = 'group';
-
- jamesGroupSynchronizer.getStatus = sinon.stub().returns($q.when({ ok: false }));
- });
-
- function initComponent() {
- var scope = $rootScope.$new();
- var element = $compile('')(scope);
-
- scope.$digest();
-
- return element;
- }
-
- it('should throw error when resourceType is not supported', function() {
- resourceType = 'unsupported';
- expect(function() {
- initComponent();
- }).to.throw(Error);
- });
-
- it('should have a tooltip', function() {
- var element = initComponent();
-
- expect(element.find('button').attr('title')).to.equal('Click to fix synchronization issue');
- expect(jamesGroupSynchronizer.getStatus).to.have.been.calledWith(resourceId);
- });
-
- it('should be displayed when sync status is not OK', function() {
- var element = initComponent();
-
- expect(element.find('button')).to.have.length(1);
- });
-
- it('should be displayed when it cannot get sync status', function() {
- jamesGroupSynchronizer.getStatus = sinon.stub().returns($q.reject(new Error('an_error')));
-
- var element = initComponent();
-
- expect(element.find('button')).to.have.length(1);
- });
-
- it('should be hidden when sync status is OK', function() {
- jamesGroupSynchronizer.getStatus = sinon.stub().returns($q.when({ ok: true }));
-
- var element = initComponent();
-
- expect(element.find('button')).to.have.length(0);
- });
-});
diff --git a/src/linagora.esn.james/app/sync/status-indicator/james-sync-status-indicator.controller.js b/src/linagora.esn.james/app/sync/status-indicator/james-sync-status-indicator.controller.js
deleted file mode 100644
index c1b5438d..00000000
--- a/src/linagora.esn.james/app/sync/status-indicator/james-sync-status-indicator.controller.js
+++ /dev/null
@@ -1,53 +0,0 @@
-'use strict';
-
-require('../synchronizer/james-synchronizer.service.js');
-
-angular.module('linagora.esn.james')
-
- .controller('JamesSyncStatusIndicatorController', JamesSyncStatusIndicatorController);
-
-function JamesSyncStatusIndicatorController(
- asyncAction,
- jamesSynchronizerService
-) {
- var self = this;
- var synchronizer;
- var notificationMessages = {
- progressing: 'Synchronizing group...',
- success: 'Group synchronized',
- failure: 'Failed to synchronize group'
- };
-
- self.$onInit = $onInit;
- self.sync = sync;
-
- function $onInit() {
- self.syncError = false;
- synchronizer = jamesSynchronizerService.get(self.resourceType);
-
- if (!synchronizer) {
- throw new Error('No such resourceType:', self.resourceType);
- }
-
- self.errorMessage = synchronizer.errorMessage;
- _checkStatus();
- }
-
- function sync() {
- return asyncAction(notificationMessages, function() {
- return synchronizer.sync(self.resourceId).then(function() {
- self.syncError = false;
- });
- });
- }
-
- function _checkStatus() {
- return synchronizer.getStatus(self.resourceId)
- .then(function(status) {
- self.syncError = !status.ok;
- })
- .catch(function() {
- self.syncError = true;
- });
- }
-}
diff --git a/src/linagora.esn.james/app/sync/status-indicator/james-sync-status-indicator.pug b/src/linagora.esn.james/app/sync/status-indicator/james-sync-status-indicator.pug
deleted file mode 100644
index 6dff9c0d..00000000
--- a/src/linagora.esn.james/app/sync/status-indicator/james-sync-status-indicator.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-button.btn-link.btn-icon.button(title="{{ 'Click to fix synchronization issue' | translate }}", esn-modal-launcher="/james/app/sync/status-indicator/modal.html", ng-if="$ctrl.syncError")
- i.mdi.mdi-sync-alert
diff --git a/src/linagora.esn.james/app/sync/status-indicator/modal.pug b/src/linagora.esn.james/app/sync/status-indicator/modal.pug
deleted file mode 100644
index 4b03c246..00000000
--- a/src/linagora.esn.james/app/sync/status-indicator/modal.pug
+++ /dev/null
@@ -1,15 +0,0 @@
-.modal
- .modal-dialog
- .modal-content
- .modal-header
- button.close(type="button", data-dismiss="modal", aria-label="Close", ng-click="$hide()")
- span(aria-hidden="true") ×
- h4.modal-title {{ 'Synchronization issue' | translate }}
- .modal-body
- p {{ ::$ctrl.errorMessage | esnI18n }} {{ 'Click Sync to fix.' | translate }}
- .modal-footer.flex
- .flex-vertical-centered.flex-end
- button.btn.btn-link(type="button", ng-click="$hide()")
- | {{ 'Cancel' | translate }}
- button.btn.btn-primary(ng-click="$ctrl.sync(); $hide()")
- | {{ 'Sync' | translate }}
diff --git a/src/linagora.esn.james/app/sync/synchronizer/james-group-synchronizer.service.js b/src/linagora.esn.james/app/sync/synchronizer/james-group-synchronizer.service.js
deleted file mode 100644
index 2a64e70a..00000000
--- a/src/linagora.esn.james/app/sync/synchronizer/james-group-synchronizer.service.js
+++ /dev/null
@@ -1,35 +0,0 @@
-'use strict';
-
-require('../../common/james-api-client.service.js');
-
-angular.module('linagora.esn.james')
-
- .factory('jamesGroupSynchronizer', jamesGroupSynchronizer);
-
-function jamesGroupSynchronizer(
- $q,
- jamesApiClient
-) {
- return {
- getStatus: getStatus,
- sync: sync,
- errorMessage: 'This group data does not synchronize with mail group in James.'
- };
-
- function getStatus(groupId) {
- return jamesApiClient.getGroupSyncStatus(groupId).then(function(response) {
- return response.data;
- });
- }
-
- function sync(groupId) {
- return jamesApiClient.syncGroup(groupId)
- .then(function() {
- return getStatus(groupId).then(function(status) {
- if (!status.ok) {
- return $q.reject('Failed to synchronize group');
- }
- });
- });
- }
-}
diff --git a/src/linagora.esn.james/app/sync/synchronizer/james-group-synchronizer.service.spec.js b/src/linagora.esn.james/app/sync/synchronizer/james-group-synchronizer.service.spec.js
deleted file mode 100644
index 9ea21917..00000000
--- a/src/linagora.esn.james/app/sync/synchronizer/james-group-synchronizer.service.spec.js
+++ /dev/null
@@ -1,98 +0,0 @@
-'use strict';
-
-/* global chai: false */
-/* global sinon: false */
-
-const { expect } = chai;
-
-describe('The jamesGroupSynchronizer service', function() {
- var $rootScope, $q;
- var jamesGroupSynchronizer, jamesApiClient;
-
- beforeEach(function() {
- angular.mock.module('linagora.esn.james');
-
- angular.mock.inject(function(
- _$rootScope_,
- _$q_,
- _jamesGroupSynchronizer_,
- _jamesApiClient_
- ) {
- $rootScope = _$rootScope_;
- $q = _$q_;
- jamesGroupSynchronizer = _jamesGroupSynchronizer_;
- jamesApiClient = _jamesApiClient_;
-
- jamesApiClient.getGroupSyncStatus = sinon.stub();
- jamesApiClient.syncGroup = sinon.stub();
- });
- });
-
- describe('The getStatus fn', function() {
- it('should call API client to get synchronization status of a group', function(done) {
- var status = { ok: true };
- var groupId = '123';
-
- jamesApiClient.getGroupSyncStatus.returns($q.when({ data: status }));
-
- jamesGroupSynchronizer.getStatus(groupId).then(function(_status) {
- expect(_status).to.deep.equal(status);
- expect(jamesApiClient.getGroupSyncStatus).to.have.been.calledWith(groupId);
- done();
- });
-
- $rootScope.$digest();
- });
- });
-
- describe('The sync fn', function() {
- it('should reject if failed to synchronize group', function(done) {
- var status = { ok: true };
- var groupId = '123';
-
- jamesApiClient.getGroupSyncStatus.returns($q.when({ data: status }));
- jamesApiClient.syncGroup.returns($q.reject());
-
- jamesGroupSynchronizer.sync(groupId).catch(function() {
- expect(jamesApiClient.syncGroup).to.have.been.calledWith(groupId);
- expect(jamesApiClient.getGroupSyncStatus).to.not.have.been.called;
- done();
- });
-
- $rootScope.$digest();
- });
-
- it('should reject if status of group is not ok', function(done) {
- var status = { ok: false };
- var groupId = '123';
-
- jamesApiClient.getGroupSyncStatus.returns($q.when({ data: status }));
- jamesApiClient.syncGroup.returns($q.when());
-
- jamesGroupSynchronizer.sync(groupId).catch(function(err) {
- expect(err).to.equal('Failed to synchronize group');
- expect(jamesApiClient.syncGroup).to.have.been.calledWith(groupId);
- expect(jamesApiClient.getGroupSyncStatus).to.have.been.calledWith(groupId);
- done();
- });
-
- $rootScope.$digest();
- });
-
- it('should call API client to synchronize group', function(done) {
- var status = { ok: true };
- var groupId = '123';
-
- jamesApiClient.getGroupSyncStatus.returns($q.when({ data: status }));
- jamesApiClient.syncGroup.returns($q.when());
-
- jamesGroupSynchronizer.sync(groupId).then(function() {
- expect(jamesApiClient.syncGroup).to.have.been.calledWith(groupId);
- expect(jamesApiClient.getGroupSyncStatus).to.have.been.calledWith(groupId);
- done();
- });
-
- $rootScope.$digest();
- });
- });
-});
diff --git a/src/linagora.esn.james/app/sync/synchronizer/james-synchronizer.service.js b/src/linagora.esn.james/app/sync/synchronizer/james-synchronizer.service.js
deleted file mode 100644
index a3b5fc6c..00000000
--- a/src/linagora.esn.james/app/sync/synchronizer/james-synchronizer.service.js
+++ /dev/null
@@ -1,23 +0,0 @@
-'use strict';
-
-require('./james-group-synchronizer.service.js');
-
-angular.module('linagora.esn.james')
-
- .factory('jamesSynchronizerService', jamesSynchronizerService);
-
-function jamesSynchronizerService(
- jamesGroupSynchronizer
-) {
- var synchronizers = {
- group: jamesGroupSynchronizer
- };
-
- return {
- get: get
- };
-
- function get(resourceType) {
- return synchronizers[resourceType];
- }
-}
diff --git a/src/linagora.esn.james/i18n/en.json b/src/linagora.esn.james/i18n/en.json
deleted file mode 100644
index 4bc14c81..00000000
--- a/src/linagora.esn.james/i18n/en.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "Click to fix synchronization issue" : "Click to fix synchronization issue",
- "Synchronization issue": "Synchronization issue",
- "Click Sync to fix.": "Click Sync to fix.",
- "Sync": "Sync",
- "Cancel": "Cancel",
- "This group data does not synchronize with mail group in James.": "This group data does not synchronize with mail group in James.",
- "Synchronizing group...": "Synchronizing group...",
- "Group synchronized": "Group synchronized",
- "Failed to synchronize group": "Failed to synchronize group",
- "Web Admin API": "Web Admin API",
- "Define the Web Admin API endpoint.": "Define the Web Admin API endpoint.",
- "Backend": "Backend",
- "Frontend": "Frontend",
- "Cannot connect to James server, please check your Web Admin API for frontend": "Cannot connect to James server, please check your Web Admin API for frontend",
- "Quota": "Quota",
- "Define the quota limit for each user. Leave the fields empty for no quota.": "Define the quota limit for each user. Leave the fields empty for no quota.",
- "Data usage quota": "Data usage quota",
- "Message count quota": "Message count quota",
- "Run": "Run",
- "Domains": "Domains",
- "Set email quota": "Set email quota",
- "Set email quota for %s": "Set email quota for %s",
- "Save": "Save",
- "OK": "OK",
- "An error occured while getting quota, please try again!": "An error occured while getting quota, please try again!",
- "Updating quota...": "Updating quota...",
- "Quota updated": "Quota updated",
- "Failed to update quota": "Failed to update quota",
- "Currently applied quota": "Currently applied quota",
- "Set quota": "Set quota",
- "Unlimited": "Unlimited",
- "Manage aliases": "Manage aliases",
- "Aliases of %s": "Aliases of %s",
- "Current aliases": "Current aliases",
- "No alias": "No alias",
- "An error occurred while getting domain aliases, please try again!": "An error occurred while getting domain aliases, please try again!",
- "Close": "Close",
- "Add domain alias": "Add domain alias",
- "Alias already exist": "Alias already exist",
- "Alias must be an existing domain": "Alias must be an existing domain",
- "Add": "Add",
- "Adding alias...": "Adding alias...",
- "Alias added": "Alias added",
- "Failed to add alias": "Failed to add alias",
- "Removing alias...": "Removing alias...",
- "Alias removed": "Alias removed",
- "Failed to remove alias": "Failed to remove alias",
- "Deleted messages": "Deleted messages",
- "Enable restoring deleted messages": "Enable restoring deleted messages",
- "Allow domain members to recover their deleted messages": "Allow domain members to recover their deleted messages",
- "Search for an alias": "Search for an alias",
- "No existing alias to add": "No existing alias to add",
- "An error occurred while listing aliases to add, please try again!": "An error occurred while listing aliases to add, please try again!"
-}
diff --git a/src/linagora.esn.james/i18n/fr.json b/src/linagora.esn.james/i18n/fr.json
deleted file mode 100644
index a814cd50..00000000
--- a/src/linagora.esn.james/i18n/fr.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "Click to fix synchronization issue" : "Cliquez pour résoudre le problème de synchronisation",
- "Synchronization issue": "Problème de synchronisation",
- "Click Sync to fix.": "Cliquez sur Sync pour corriger.",
- "Sync": "Sync",
- "Cancel": "Annuler",
- "This group data does not synchronize with mail group in James.": "Ces données de groupe ne se synchronisent pas avec le groupe de messagerie dans James.",
- "Synchronizing group...": "Groupe de synchronisation ...",
- "Group synchronized": "Groupe synchronisé",
- "Failed to synchronize group": "Échec de la synchronisation du groupe",
- "Web Admin API": "Web Admin API",
- "Define the Web Admin API endpoint.": "Définnissez le chemin de base de l'API Web Admin.",
- "Backend": "Backend",
- "Frontend": "Frontend",
- "Cannot connect to James server, please check your Web Admin API for frontend": "Échec de la connection au serveur James, veuillez vérifier votre chemin d'accès pour l'API WebAdmin frontend",
- "Quota": "Quota",
- "Define the quota limit for each user. Leave the fields empty for no quota.": "Définir la limite du quota pour chaque utilisateur. Laisser les champs vides si aucun quota.",
- "Data usage quota": "Quota d'utilisation des données",
- "Message count quota": "Quota de nombre de messages",
- "Run": "Courir",
- "Domains": "Domaines",
- "Set email quota": "Définir le quota d'email",
- "Set email quota for %s": "Définir le quota d'email pour %s",
- "Save": "Enregistrer",
- "OK": "D'accord",
- "An error occured while getting quota, please try again!": "Une erreur est survenue en chargeant le quota, veuillez réessayer!",
- "Updating quota...": "Mise à jour du quota...",
- "Quota updated": "Le quota est mis à jour",
- "Failed to update quota": "Impossible de mettre à jour le quota",
- "Currently applied quota": "Quota actuellement appliqué",
- "Set quota": "Modifier le quota",
- "Unlimited": "Illimité",
- "Manage aliases": "Gérer les alias",
- "Aliases of %s": "Alias de %s",
- "Current aliases": "Alias actuels",
- "No alias": "Pas d'alias",
- "An error occurred while getting domain aliases, please try again!": "Une erreur est survenue lors de l'obtention des alias de domaine. Veuillez réessayer!",
- "Close": "Fermer",
- "Add domain alias": "Ajouter un alias de domaine",
- "Alias already exist": "L'alias existe déjà",
- "Alias must be an existing domain": "L'alias doit être un domaine existant",
- "Add": "Ajouter",
- "Adding alias...": "Ajout d'alias...",
- "Alias added": "Alias ajouté",
- "Failed to add alias": "Impossible d'ajouter un alias",
- "Removing alias...": "Supprimer l'alias...",
- "Alias removed": "Alias supprimé",
- "Failed to remove alias": "Échec de la suppression de l'alias",
- "Deleted messages" : "Messages supprimés",
- "Enable restoring deleted messages": "Autoriser la restauration de messages suppprimés",
- "Allow domain members to recover their deleted messages" : "Autoriser les membres du domaine à restaurer leurs messages supprimés",
- "Search for an alias": "Rechercher un alias",
- "No existing alias to add": "Aucun alias existant à ajouter",
- "An error occurred while listing aliases to add, please try again!": "Une erreur s'est produite lors de l'inventaire des alias ajoutables. Veuillez réessayer!"
-}
diff --git a/src/linagora.esn.james/i18n/ru.json b/src/linagora.esn.james/i18n/ru.json
deleted file mode 100644
index d8667cdb..00000000
--- a/src/linagora.esn.james/i18n/ru.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "Click to fix synchronization issue": "Нажмите, чтобы исправить проблему синхронизации",
- "Synchronization issue": "Проблема с синхронизацией",
- "Click Sync to fix.": "Нажмите \"Синхронизировать\", чтобы исправить.",
- "Sync": "Синхронизировать",
- "Cancel": "Отменить",
- "This group data does not synchronize with mail group in James.": "Данные этой группы не синхронизируются с почтовой группой в James.",
- "Synchronizing group...": "Синхронизация группы ...",
- "Group synchronized": "Группа синхронизирована",
- "Failed to synchronize group": "Не удалось синхронизировать группу",
- "Web Admin API": "API веб-администратора",
- "Define the Web Admin API endpoint.": "Определите конечную точку API веб-администратора.",
- "Backend": "Бэкенд",
- "Frontend": "Фронтенд",
- "Cannot connect to James server, please check your Web Admin API for frontend": "Не удается подключиться к серверу James, пожалуйста, проверьте ваш веб-интерфейс API для фронтенда",
- "Quota": "Квота",
- "Define the quota limit for each user. Leave the fields empty for no quota.": "Определите лимит квоты для каждого пользователя. Оставьте поля пустыми без квоты.",
- "Data usage quota": "Квота на использование данных",
- "Message count quota": "Квота на количество сообщений",
- "Run": "Запустить",
- "Domains": "Домены",
- "Set email quota": "Установить квоту электронной почты",
- "Set email quota for %s": "Установить квоту электронной почты для %s",
- "Save": "Сохранить",
- "OK": "OK",
- "An error occured while getting quota, please try again!": "При получении квоты произошла ошибка, пожалуйста, попробуйте еще раз!",
- "Updating quota...": "Обновление квоты ...",
- "Quota updated": "Квота обновлена",
- "Failed to update quota": "Не удалось обновить квоту",
- "Currently applied quota": "В настоящее время применяется квота",
- "Set quota": "Установить квоту",
- "Unlimited": "Неограниченно",
- "Manage aliases": "Управлять псевдонимами",
- "Aliases of %s": "Псевдонимы %s",
- "Current aliases": "Текущие псевдонимы",
- "No alias": "Нет псевдонимов",
- "An error occurred while getting domain aliases, please try again!": "При получении псевдонимов домена произошла ошибка, пожалуйста, попробуйте еще раз!",
- "Close": "Закрыть",
- "Add domain alias": "Добавить псевдоним домена",
- "Alias already exist": "Псевдоним уже существует",
- "Alias must be an existing domain": "Псевдоним должен быть для существующего домена",
- "Add": "Добавить",
- "Adding alias...": "Добавление Псевдоним...",
- "Alias added": "Добавлен псевдоним",
- "Failed to add alias": "Не удалось добавить псевдоним",
- "Removing alias...": "Удаление псевдонима...",
- "Alias removed": "Псевдоним удален",
- "Failed to remove alias": "Не удалось удалить псевдоним",
- "Search for an alias": "Поиск псевдонима",
- "No existing alias to add": "Нет существующего псевдонима для добавления",
- "An error occurred while listing aliases to add, please try again!": "Произошла ошибка при перечислении псевдонимов для добавления, пожалуйста, попробуйте еще раз!"
-}
\ No newline at end of file
diff --git a/src/linagora.esn.james/i18n/vi.json b/src/linagora.esn.james/i18n/vi.json
deleted file mode 100644
index 0400f02b..00000000
--- a/src/linagora.esn.james/i18n/vi.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "Click to fix synchronization issue" : "Bấm để sửa lỗi đồng bộ",
- "Synchronization issue": "Lỗi đồng bộ",
- "Click Sync to fix.": "Bấm Đồng bộ để sửa.",
- "Sync": "Đồng bộ",
- "Cancel": "Hủy",
- "This group data does not synchronize with mail group in James.": "Dữ liệu của nhóm này không được đồng bộ với nhóm thư trong máy chủ James.",
- "Synchronizing group...": "Đang đồng bộ nhóm...",
- "Group synchronized": "Đã đồng bộ nhóm",
- "Failed to synchronize group": "Đồng bộ nhóm thất bại",
- "Web Admin API": "Web Admin API",
- "Define the Web Admin API endpoint.": "Định nghĩa địa chỉ của Web Admin API.",
- "Backend": "Backend",
- "Frontend": "Frontend",
- "Cannot connect to James server, please check your Web Admin API for frontend": "Không thể kết nối tới máy chủ James, hãy kiểm tra lại cấu hình Web Admin API cho frontend",
- "Quota": "Giới hạn sử dụng",
- "Define the quota limit for each user. Leave the fields empty for no quota.": "Xác định giới hạn định mức cho mỗi người dùng. Để trống nếu không có định mức.",
- "Data usage quota": "Dung lượng tối đa",
- "Message count quota": "Số tin nhắn tối đa",
- "Run": "Chạy",
- "Domains": "Các tên miền",
- "Set email quota": "Định mức thư",
- "Set email quota for %s": "Thiết lập định mức thư cho %s",
- "Save": "Lưu",
- "OK": "Đồng ý",
- "An error occured while getting quota, please try again!": "Có lỗi xảy ra khi lấy định mức, vui lòng thử lại!",
- "Updating quota...": "Đang cập nhật định mức...",
- "Quota updated": "Đã cập nhật định mức",
- "Failed to update quota": "Cập nhật định mức thất bại",
- "Currently applied quota": "Định mức đang áp dụng",
- "Set quota": "Đặt định mức",
- "Unlimited": "Không giới hạn",
- "Manage aliases": "Quản lý tên miền thay thế",
- "Aliases of %s": "Tên miền thay thế của %s",
- "Current aliases": "Các tên miền thay thế hiện tại",
- "No alias": "Không có tên miền thay thế",
- "An error occurred while getting domain aliases, please try again!": "Có lỗi xảy ra khi lấy tên miền thay thế, vui lòng thử lại!",
- "Close": "Đóng",
- "Add domain alias": "Thêm tên miền thay thế",
- "Alias already exist": "Tên miền thay thế đã tồn tại",
- "Alias must be an existing domain": "Tên miền thay thế phải là một tên miền đã tồn tại",
- "Add": "Thêm",
- "Adding alias...": "Đang thêm tên miền thay thế...",
- "Alias added": "Tên miền thay thế đã được thêm",
- "Failed to add alias": "Thêm tên miền thay thế thất bại",
- "Removing alias...": "Đang xóa tên miền thay thế...",
- "Alias removed": "Tên miền thay thế đã được xóa",
- "Failed to remove alias": "Xóa tên miền thay thế thất bại",
- "Deleted messages": "Thư đã xóa",
- "Enable restoring deleted messages": "Bật chức năng khôi phục thư đã xóa",
- "Allow domain members to recover their deleted messages": "Cho phép người dùng phục hồi lại những thư đã bị xóa từ thùng rác",
- "Search for an alias": "Tìm tên miền thay thế",
- "No existing alias to add": "Không có tên miền thay thế nào để thêm",
- "An error occurred while listing aliases to add, please try again!": "Có lỗi xảy ra trong khi liệt kê tên miền thay thế để thêm, vui lòng thử lại!"
-}
diff --git a/src/linagora.esn.james/i18n/zh.json b/src/linagora.esn.james/i18n/zh.json
deleted file mode 100644
index efe0472f..00000000
--- a/src/linagora.esn.james/i18n/zh.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "An error occured while getting quota, please try again!": "获取配额出现错误,请重试!",
- "Backend": "后端",
- "Cancel": "取消",
- "Cannot connect to James server, please check your Web Admin API for frontend": "无法连接至James服务器,请检查您的网络管理员前端",
- "Click Sync to fix.": "点击同步来修复",
- "Click to fix synchronization issue": "点击修复同步问题",
- "Currently applied quota": "目前的配额",
- "Data usage quota": "数据使用配额",
- "Define the quota limit for each user. Leave the fields empty for no quota.": "编辑每个用户的配额限制。如无配额,请不要填写",
- "Define the Web Admin API endpoint.": "设置网络管理员API终结点",
- "Domains": "域",
- "Failed to synchronize group": "组同步失败",
- "Failed to update quota": "配额更新失败",
- "Frontend": "前端",
- "Group synchronized": "组同步完成",
- "Message count quota": "消息数配额",
- "OK": "OK",
- "Quota": "份额",
- "Quota updated": "配额已更新",
- "Run": "运行",
- "Save": "保存",
- "Set email quota": "设置邮件配额",
- "Set email quota for %s": "设置%s的邮件配额",
- "Set quota": "设置配额",
- "Sync": "同步",
- "Synchronization issue": "同步问题",
- "Synchronizing group...": "组同步进行中…",
- "This group data does not synchronize with mail group in James.": "该组的数据不与James内邮件组同步",
- "Unlimited": "无限制",
- "Updating quota...": "配额更新中…",
- "Web Admin API": "网络管理员API",
- "Manage aliases": "管理别名",
- "Aliases of %s": "的别名 %s",
- "Current aliases": "目前的别名",
- "No alias": "没别名",
- "An error occurred while getting domain aliases, please try again!": "获取域别名时出错,请再试一次!",
- "Close": "关",
- "Add domain alias": "添加域别名",
- "Alias already exist": "别名已经存在",
- "Alias must be an existing domain": "别名必须是现有域",
- "Add": "加",
- "Adding alias...": "添加别名...",
- "Alias added": "别名补充道",
- "Failed to add alias": "无法添加别名",
- "Removing alias...": "删除别名...",
- "Alias removed": "别名已删除",
- "Failed to remove alias": "无法删除别名",
- "Deleted messages": "已删除的邮件",
- "Enable restoring deleted messages": "启用还原已删除的邮件",
- "Allow domain members to recover their deleted messages": "允许域成员恢复已删除的邮件",
- "Search for an alias": "搜索别名",
- "No existing alias to add": "没有要添加的现有别名",
- "An error occurred while listing aliases to add, please try again!": "列出要添加的别名时发生错误,请再试一次!"
-}
diff --git a/src/linagora.esn.james/images/james-icon.svg b/src/linagora.esn.james/images/james-icon.svg
deleted file mode 100644
index ae3b9242..00000000
--- a/src/linagora.esn.james/images/james-icon.svg
+++ /dev/null
@@ -1,259 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/src/linagora.esn.unifiedinbox/app/app.js b/src/linagora.esn.unifiedinbox/app/app.js
index 00fc56c2..a00d1203 100644
--- a/src/linagora.esn.unifiedinbox/app/app.js
+++ b/src/linagora.esn.unifiedinbox/app/app.js
@@ -45,7 +45,6 @@ angular.module('linagora.esn.unifiedinbox', [
'esn.dropdownList',
'material.components.menuBar',
'esn.attachments-selector',
- 'linagora.esn.james',
'esn.inbox.libs',
'esn.inbox-calendar',
'linagora.esn.unifiedinbox.linshare',
diff --git a/src/require-angular-injections.js b/src/require-angular-injections.js
index f8cf890e..7c6620d0 100644
--- a/src/require-angular-injections.js
+++ b/src/require-angular-injections.js
@@ -1,6 +1,5 @@
const injections = require('esn-frontend-common-libs/src/require-angular-injections.js');
injections.push('linagora.esn.unifiedinbox');
-injections.push('linagora.esn.james');
module.exports = injections;