From 291e8a95eb7c420205c666920e444ae8cb210c1d Mon Sep 17 00:00:00 2001 From: AntonIV Date: Fri, 28 Feb 2020 10:31:31 +0500 Subject: [PATCH 1/4] Add backup button --- addon/controllers/fd-setting.js | 14 ++++++++++++++ addon/locales/en/forms/fd-setting.js | 4 +++- addon/locales/ru/forms/fd-setting.js | 4 +++- app/templates/fd-setting.hbs | 6 ++++++ 4 files changed, 26 insertions(+), 2 deletions(-) diff --git a/addon/controllers/fd-setting.js b/addon/controllers/fd-setting.js index 03dde7db7..90a955f04 100644 --- a/addon/controllers/fd-setting.js +++ b/addon/controllers/fd-setting.js @@ -291,5 +291,19 @@ export default Controller.extend(FdSheetCloseConfirm, FdReadonlyProjectMixin, { dropdownChangeAccess(model, value) { set(model, 'access', value); }, + + /** + Run project backup. + + @method actions.backup + */ + backup() { + let store = this.get('store'); + let adapter = store.adapterFor('application'); + const stage = this.get('currentProjectContext').getCurrentStage(); + const data = { project: stage }; + + adapter.callFunction('StageBackup', data); + }, } }); diff --git a/addon/locales/en/forms/fd-setting.js b/addon/locales/en/forms/fd-setting.js index 4521fa1e4..edf92fc74 100644 --- a/addon/locales/en/forms/fd-setting.js +++ b/addon/locales/en/forms/fd-setting.js @@ -14,10 +14,12 @@ export default { 'project-actions-caption': 'Project Actions', 'project-actions': { 'delete-stage-caption': 'I want forever', + 'action-stage-caption': 'I want to do', 'delete-stage-button': 'Delete project', 'rename-stage-caption': 'I want to change all string fields of stage objects (except caption and description) to', 'rename-stage-button': 'Transliteration', - 'rename-stage-text': 'Performing transliteration will change all fields of the field to the stage, which can lead to its breakdown, we recommend that you backup the stage. Do stage transliteration ?' + 'rename-stage-text': 'Performing transliteration will change all fields of the field to the stage, which can lead to its breakdown, we recommend that you backup the stage. Do stage transliteration ?', + 'backup-stage-button': 'Project backup', }, 'generation-settings-caption': 'Generation settings', 'generation-settings': { diff --git a/addon/locales/ru/forms/fd-setting.js b/addon/locales/ru/forms/fd-setting.js index 73c90ac33..a7e3f2cba 100644 --- a/addon/locales/ru/forms/fd-setting.js +++ b/addon/locales/ru/forms/fd-setting.js @@ -14,10 +14,12 @@ export default { 'project-actions-caption': 'Действия с проектом', 'project-actions': { 'delete-stage-caption': 'Я хочу навсегда', + 'action-stage-caption': 'Я хочу выполнить', 'delete-stage-button': 'Удалить проект', 'rename-stage-caption': 'Я хочу изменить все строковые поля объектов стадии (кроме caption и description) на', 'rename-stage-button': 'Транслитерацию', - 'rename-stage-text': 'Выполнение транслитерации изменит все поля поля в стадию что може привести к ее поломке, рекомендуем сделать бэкап стадии. Селать транслитерацию стадии ?' + 'rename-stage-text': 'Выполнение транслитерации изменит все поля поля в стадию что може привести к ее поломке, рекомендуем сделать бэкап стадии. Селать транслитерацию стадии ?', + 'backup-stage-button': 'Бэкап проекта', }, 'generation-settings-caption': 'Настройки генерации', 'generation-settings': { diff --git a/app/templates/fd-setting.hbs b/app/templates/fd-setting.hbs index 8c40976b9..61f4d784c 100644 --- a/app/templates/fd-setting.hbs +++ b/app/templates/fd-setting.hbs @@ -295,6 +295,12 @@ {{t "forms.fd-setting.project-actions.delete-stage-button"}} +
+ {{t "forms.fd-setting.project-actions.action-stage-caption"}} + +
From e225bd29831f9859df695e3e9bc30cb5e284a108 Mon Sep 17 00:00:00 2001 From: AntonIV Date: Fri, 28 Feb 2020 11:11:27 +0500 Subject: [PATCH 2/4] fixes --- addon/controllers/fd-setting.js | 2 +- app/templates/fd-setting.hbs | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/addon/controllers/fd-setting.js b/addon/controllers/fd-setting.js index 90a955f04..657894404 100644 --- a/addon/controllers/fd-setting.js +++ b/addon/controllers/fd-setting.js @@ -303,7 +303,7 @@ export default Controller.extend(FdSheetCloseConfirm, FdReadonlyProjectMixin, { const stage = this.get('currentProjectContext').getCurrentStage(); const data = { project: stage }; - adapter.callFunction('StageBackup', data); + adapter.callFunction('StageBackup', data, null, { withCredentials: true }); }, } }); diff --git a/app/templates/fd-setting.hbs b/app/templates/fd-setting.hbs index 61f4d784c..20675a063 100644 --- a/app/templates/fd-setting.hbs +++ b/app/templates/fd-setting.hbs @@ -289,18 +289,18 @@ {{t "forms.fd-setting.project-actions.rename-stage-button"}} -
- {{t "forms.fd-setting.project-actions.delete-stage-caption"}} - -
{{t "forms.fd-setting.project-actions.action-stage-caption"}}
+
+ {{t "forms.fd-setting.project-actions.delete-stage-caption"}} + +
From e1398171910e5d6e61e0b66d92c26e273dd7709f Mon Sep 17 00:00:00 2001 From: AntonIV Date: Tue, 3 Mar 2020 11:46:38 +0500 Subject: [PATCH 3/4] Add export --- CHANGELOG.md | 2 ++ addon/controllers/fd-setting.js | 32 ++++++++++++++++++++++++++++ addon/locales/en/forms/fd-setting.js | 2 ++ addon/locales/ru/forms/fd-setting.js | 2 ++ app/templates/fd-setting.hbs | 6 ++++++ 5 files changed, 44 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d59c6a29..ea27d5231 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +### Added +* Add stage export. ## [0.13.0] ### Added diff --git a/addon/controllers/fd-setting.js b/addon/controllers/fd-setting.js index 657894404..c0fd3de72 100644 --- a/addon/controllers/fd-setting.js +++ b/addon/controllers/fd-setting.js @@ -1,4 +1,5 @@ import Controller from '@ember/controller'; +import $ from 'jquery'; import FdSheetCloseConfirm from '../mixins/fd-sheet-close-confirm'; import FdReadonlyProjectMixin from '../mixins/fd-readonly-project'; import { A } from '@ember/array'; @@ -7,6 +8,7 @@ import { resolve, reject } from 'rsvp'; import { isNone, isBlank } from '@ember/utils'; import { transliteration } from '../utils/fd-transliteration'; import { set, computed } from '@ember/object'; +import { getOwner } from '@ember/application'; import { SimplePredicate, ComplexPredicate } from 'ember-flexberry-data/query/predicate'; import Builder from 'ember-flexberry-data/query/builder'; @@ -305,5 +307,35 @@ export default Controller.extend(FdSheetCloseConfirm, FdReadonlyProjectMixin, { adapter.callFunction('StageBackup', data, null, { withCredentials: true }); }, + + /** + Run project export. + + @method actions.export + */ + export() { + const stage = this.get('currentProjectContext').getCurrentStage(); + // Import application config\environment. + let appConfig = getOwner(this).factoryFor('config:environment').class; + + if (!isNone(appConfig) && !isNone(stage)) { + const backendUrl = appConfig.APP.backendUrl; + const getExportFileUrl = backendUrl + '/odata/StageExportFile?project=' + stage; + + this.get('appState').loading(); + + $.flexberry.downloadFile({ + url: getExportFileUrl, + onSuccess: () => { + this.get('appState').reset(); + }, + onError: (errorMessage) => { + this.get('appState').reset(); + const messageCaption = this.get('i18n').t('forms.fd-setting.project-actions.export-stage-error'); + this.get('fdDialogService').showErrorMessage(messageCaption + '\n' + errorMessage); + } + }); + } + }, } }); diff --git a/addon/locales/en/forms/fd-setting.js b/addon/locales/en/forms/fd-setting.js index edf92fc74..cca5629c4 100644 --- a/addon/locales/en/forms/fd-setting.js +++ b/addon/locales/en/forms/fd-setting.js @@ -20,6 +20,8 @@ export default { 'rename-stage-button': 'Transliteration', 'rename-stage-text': 'Performing transliteration will change all fields of the field to the stage, which can lead to its breakdown, we recommend that you backup the stage. Do stage transliteration ?', 'backup-stage-button': 'Project backup', + 'export-stage-button': 'Project export', + 'export-stage-error': 'Stage export error', }, 'generation-settings-caption': 'Generation settings', 'generation-settings': { diff --git a/addon/locales/ru/forms/fd-setting.js b/addon/locales/ru/forms/fd-setting.js index a7e3f2cba..326311faf 100644 --- a/addon/locales/ru/forms/fd-setting.js +++ b/addon/locales/ru/forms/fd-setting.js @@ -20,6 +20,8 @@ export default { 'rename-stage-button': 'Транслитерацию', 'rename-stage-text': 'Выполнение транслитерации изменит все поля поля в стадию что може привести к ее поломке, рекомендуем сделать бэкап стадии. Селать транслитерацию стадии ?', 'backup-stage-button': 'Бэкап проекта', + 'export-stage-button': 'Экспорт проекта', + 'export-stage-error': 'Ошибка при экспорте стадии', }, 'generation-settings-caption': 'Настройки генерации', 'generation-settings': { diff --git a/app/templates/fd-setting.hbs b/app/templates/fd-setting.hbs index 20675a063..2d5b3c394 100644 --- a/app/templates/fd-setting.hbs +++ b/app/templates/fd-setting.hbs @@ -295,6 +295,12 @@ {{t "forms.fd-setting.project-actions.backup-stage-button"}} +
+ {{t "forms.fd-setting.project-actions.action-stage-caption"}} + +
{{t "forms.fd-setting.project-actions.delete-stage-caption"}}