From 83868a63d3b57b9cef3430875bf34d831c1aaa90 Mon Sep 17 00:00:00 2001 From: baron_l Date: Fri, 26 Apr 2019 16:44:34 +0200 Subject: [PATCH] feat(storidge): update 8 - add drive --- .../storidgeDrivesDatatable.html | 12 ++++++++++ .../storidge/views/drives/drives.html | 1 + .../storidge/views/drives/drivesController.js | 22 +++++++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.html b/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.html index e5c428da2..8a3c23b5a 100644 --- a/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.html +++ b/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.html @@ -10,6 +10,10 @@ + diff --git a/app/extensions/storidge/views/drives/drivesController.js b/app/extensions/storidge/views/drives/drivesController.js index 6110d064a..b16f67837 100644 --- a/app/extensions/storidge/views/drives/drivesController.js +++ b/app/extensions/storidge/views/drives/drivesController.js @@ -2,6 +2,28 @@ angular.module('extension.storidge') .controller('StoridgeDrivesController', ['$scope', '$state', 'Notifications', 'StoridgeDriveService', function ($scope, $state, Notifications, StoridgeDriveService) { + $scope.addAction = function (selectedItems) { + var actionCount = selectedItems.length; + selectedItems = selectedItems.filter(function (item) { + return item.Status === 'available'; + }); + angular.forEach(selectedItems, function (drive) { + StoridgeDriveService.add(drive.Device, drive.Node) + .then(function success() { + Notifications.success('Drive ' + drive.Device + ' successfully added on node ' + drive.Node); + }) + .catch(function error(err) { + Notifications.error('Failure', err, 'Unable to add drive'); + }) + .finally(function final() { + --actionCount; + if (actionCount === 0) { + $state.reload(); + } + }); + }); + }; + $scope.rescanAction = function () { StoridgeDriveService.rescan() .then(function sucess() {