From a0dd1e8918a304a2cd2c86833a3c9b08e7a201f6 Mon Sep 17 00:00:00 2001 From: s-andrey Date: Thu, 5 Mar 2020 18:00:03 +0500 Subject: [PATCH] Feature 649 stage export (#660) --- 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 af39fbb69..6f0e7bf6b 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.14.0-beta02] ### Fixed diff --git a/addon/controllers/fd-setting.js b/addon/controllers/fd-setting.js index 657894404..c16224652 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 + '/stageActions/StageExportFile?projectId=' + 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"}}