sftp: add checkbox for non-admin access

This commit is contained in:
Girish Ramakrishnan
2020-10-21 22:31:29 -07:00
parent e54c8bbf99
commit 210d522ec3
2 changed files with 22 additions and 3 deletions
+13 -2
View File
@@ -18,6 +18,17 @@
</div>
</div>
<div class="form-group" ng-show="serviceConfigure.service.name === 'sftp'">
<br>
<label class="control-label">Access Control</label>
<br>
<div class="checkbox">
<label>
<input type="checkbox" ng-model="serviceConfigure.requireAdmin">Allow only admins to access SFTP</input>
</label>
</div>
</div>
<input class="ng-hide" type="submit" ng-disabled="serviceConfigureForm.$invalid || serviceConfigure.busy"/>
</fieldset>
</form>
@@ -95,7 +106,7 @@
<span ng-show="service.config.memory">{{ service.config.memorySwap | prettyByteSize }}</span>
</td>
<td class="text-right no-wrap" style="vertical-align: bottom">
<button class="btn btn-xs btn-default" ng-click="serviceConfigure.show(service)" uib-tooltip="Configure Memory Limit" ng-show="service.config.memory"><i class="fa fa-pencil-alt"></i></button>
<button class="btn btn-xs btn-default" ng-click="serviceConfigure.show(service)" uib-tooltip="Configure" ng-show="service.config.memory"><i class="fa fa-pencil-alt"></i></button>
<button class="btn btn-xs btn-default" ng-click="restartService(service.name)" uib-tooltip="Restart"><i class="fa fa-sync-alt" ng-class="{ 'fa-spin': service.status === 'starting' }"></i></button>
<a class="btn btn-xs btn-default" ng-href="{{ '/logs.html?id=' + service.name }}" target="_blank" uib-tooltip="Logs"><i class="fa fa-file-alt"></i></a>
</td>
@@ -123,7 +134,7 @@
<span ng-show="service.config.memory">{{ service.config.memorySwap | prettyByteSize }}</span>
</td>
<td class="text-right no-wrap" style="vertical-align: bottom">
<button class="btn btn-xs btn-default" ng-click="serviceConfigure.show(service)" uib-tooltip="Configure Memory Limit" ng-show="service.config.memory"><i class="fa fa-pencil-alt"></i></button>
<button class="btn btn-xs btn-default" ng-click="serviceConfigure.show(service)" uib-tooltip="Configure" ng-show="service.config.memory"><i class="fa fa-pencil-alt"></i></button>
<button class="btn btn-xs btn-default" ng-click="restartService(service.name)" uib-tooltip="Restart"><i class="fa fa-sync-alt" ng-class="{ 'fa-spin': service.status === 'starting' }"></i></button>
<a class="btn btn-xs btn-default" ng-href="{{ '/logs.html?id=' + service.name }}" target="_blank" uib-tooltip="Logs"><i class="fa fa-file-alt"></i></a>
</td>
+9 -1
View File
@@ -59,6 +59,9 @@ angular.module('Application').controller('ServicesController', ['$scope', '$loca
memoryLimit: 0,
memoryTicks: [],
// sftp only
requireAdmin: true,
show: function (service) {
$scope.serviceConfigure.reset();
@@ -76,6 +79,8 @@ angular.module('Application').controller('ServicesController', ['$scope', '$loca
$scope.serviceConfigure.memoryTicks.push(i * 1024 * 1024);
}
if (service.name === 'sftp') $scope.serviceConfigure.requireAdmin = !!service.config.requireAdmin;
$('#serviceConfigureModal').modal('show');
},
@@ -83,7 +88,10 @@ angular.module('Application').controller('ServicesController', ['$scope', '$loca
$scope.serviceConfigure.busy = true;
$scope.serviceConfigure.error = null;
Client.configureService($scope.serviceConfigure.service.name, { memorySwap: memoryLimit, memory: memoryLimit/2 }, function (error) {
var data = { memorySwap: memoryLimit, memory: memoryLimit/2 };
if ($scope.serviceConfigure.service.name === 'sftp') data.requireAdmin = $scope.serviceConfigure.requireAdmin;
Client.configureService($scope.serviceConfigure.service.name, data, function (error) {
$scope.serviceConfigure.busy = false;
if (error) {
$scope.serviceConfigure.error = error.message;