diff --git a/module/javascript/script_module.js b/module/javascript/script_module.js index 78cae4b027466856a4aacb0b9d84ae7f6d304cb6..db3c69f1043ee8fb02e402906b686add1583963d 100644 --- a/module/javascript/script_module.js +++ b/module/javascript/script_module.js @@ -2697,6 +2697,8 @@ vitisApp.on('appMainDrtvLoaded', function () { var envSrvc = angular.element(vitisApp.appWorkspaceListDrtv).injector().get(['envSrvc']); var propertiesSrvc = angular.element(vitisApp.appMainDrtv).injector().get(['propertiesSrvc']); var formSrvc = angular.element(vitisApp.appMainDrtv).injector().get(['formSrvc']); + var $rootScope = angular.element(vitisApp.appMainDrtv).injector().get(["$rootScope"]); + var $translate = angular.element(vitisApp.appMainDrtv).injector().get(["$translate"]); // var scope = this; ajaxRequest({ @@ -2709,10 +2711,14 @@ vitisApp.on('appMainDrtvLoaded', function () { formSrvc['getFormElementDefinition']('url_widget_file', envSrvc['sFormDefinitionName'])['visible'] = false; formSrvc['getFormElementDefinition']('btn_download_widget_file', envSrvc['sFormDefinitionName'])['visible'] = false; formSrvc['getFormElementDefinition']('btn_delete_widget_file', envSrvc['sFormDefinitionName'])['visible'] = false; + // Affiche le message de succĂ©s. + $translate("SUCCESSFUL_OPERATION").then(function (sTranslation) { + $.notify(sTranslation, "success"); + }); } else { // Affichage de la fenĂȘtre modale d'erreur. - this['modalWindow']('dialog', response["data"]['errorMessage'], {'className': 'modal-danger'}); + $rootScope['modalWindow']('dialog', response["data"]['errorMessage'], {'className': 'modal-danger'}); } } }); diff --git a/web_service/ws/Workspaces.class.inc b/web_service/ws/Workspaces.class.inc index 41a80bdce7b70978429ccb876b8bfcac63cdd189..0f342563f423b975c9cb3c384650c9dbb90cc98b 100755 --- a/web_service/ws/Workspaces.class.inc +++ b/web_service/ws/Workspaces.class.inc @@ -1072,20 +1072,22 @@ class Workspaces extends GTF { } } elseif ($this->aPath[3] == "DeleteWidgetFile") { unset($this->aPath[3]); + $aReturn = array('status' => 1, 'message' => ''); $oWorkspace = new Workspace($this->aPath, $this->aValues, $this->aProperties, $this->oConnection); $oWorkspace->GET(); $sWorkspace_key = $oWorkspace->aFields["key"]; - // Emplacement des widgets - $sWidgetFilePath = $this->aProperties["vas_home"] . '/ws_data/gtf/widget/' . $sWorkspace_key . ".html"; - $bError = False; - if (is_file($sWidgetFilePath)) { - if (!unlink($sWidgetFilePath)) { - $bError = True; - $this->aFields['errorMessage'] = "Failed to remove the widget " . $sWidgetFilePath; - } + // Suppression du fichier de widget. + if (deleteFileFromWsDataDirTree('gtf', 'widget', '', '', $sWorkspace_key . '.html') === false) { + $aReturn = array('status' => 0, 'message' => 'DELETE_FILE_ERROR_PUBLICATION_WORKSPACE_LOAD_PROJECT_DIRECTORY', 'error_code' => null); + writeToErrorLog('Failed to remove the wisget file ' . $sWorkspace_key . '.html'); + } + $aXmlRacineAttribute['status'] = $aReturn['status']; + if ($aReturn['status'] == 1) + $sMessage = $this->asDocument('', 'vitis', $this->aValues['sEncoding'], True, $aXmlRacineAttribute, $this->aValues['sSourceEncoding'], $this->aValues['output']); + else { + $oError = new VitisError($aReturn['error_code'], $aReturn['message']); + $sMessage = $oError->asDocument('', 'vitis', $this->aValues['sEncoding'], True, $aXmlRacineAttribute, $this->aValues['sSourceEncoding'], $this->aValues['output']); } - $aXmlRacineAttribute['status'] = (int) !$bError; - $sMessage = $this->asDocument('', 'vitis', $this->aValues['sEncoding'], True, $aXmlRacineAttribute, $this->aValues['sSourceEncoding'], $this->aValues['output']); return $sMessage; } } else {