Allow to set access restrictions of applinks during creation
This commit is contained in:
+28
-1
@@ -55,12 +55,39 @@
|
|||||||
<tag-input class="form-control" placeholder="{{ 'app.display.tagsPlaceholder' | tr }}" taglist="applinksAdd.tags" name="tags" uib-tooltip="{{ 'app.display.tagsTooltip' | tr }}"></tag-input>
|
<tag-input class="form-control" placeholder="{{ 'app.display.tagsPlaceholder' | tr }}" taglist="applinksAdd.tags" name="tags" uib-tooltip="{{ 'app.display.tagsTooltip' | tr }}"></tag-input>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<label class="control-label">{{ 'app.accessControl.userManagement.dashboardVisibility' | tr }} <sup><a ng-href="https://docs.cloudron.io/apps/#dashboard-visibility" class="help" target="_blank"><i class="fa fa-question-circle"></i></a></sup></label>
|
||||||
|
|
||||||
|
<div class="radio">
|
||||||
|
<label>
|
||||||
|
<input type="radio" ng-model="applinksAdd.accessRestrictionOption" value="any">
|
||||||
|
<span>{{ 'app.accessControl.userManagement.visibleForAllUsers' | tr }}</span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="radio">
|
||||||
|
<label>
|
||||||
|
<input type="radio" ng-model="applinksAdd.accessRestrictionOption" value="groups">
|
||||||
|
<span>{{ 'app.accessControl.userManagement.visibleForSelected' | tr }}</span>
|
||||||
|
<span class="label label-danger" ng-show="applinksAdd.accessRestrictionOption === 'groups' && !applinksAdd.isAccessRestrictionValid()">{{ 'appstore.installDialog.errorUserManagementSelectAtLeastOne' | tr }}</span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div style="margin-left: 20px; display: flex;">
|
||||||
|
<div>
|
||||||
|
{{ 'appstore.installDialog.users' | tr }}: <multiselect name="accessUsersSelect" class="input-sm stretch" ng-model="applinksAdd.accessRestriction.users" ng-disabled="applinksAdd.accessRestrictionOption !== 'groups'" options="(user.username || user.email) for user in allUsers" data-multiple="true" filter-after-rows="5" scroll-after-rows="10"></multiselect>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
{{ 'appstore.installDialog.groups' | tr }}: <multiselect name="accessGroupsSelect" class="input-sm stretch" ng-model="applinksAdd.accessRestriction.groups" ng-disabled="applinksAdd.accessRestrictionOption !== 'groups'" options="group.name for group in allGroups" data-multiple="true" filter-after-rows="5" scroll-after-rows="10"></multiselect>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<input class="ng-hide" type="submit" ng-disabled="applinksAddForm.$invalid || applinksAdd.busy"/>
|
<input class="ng-hide" type="submit" ng-disabled="applinksAddForm.$invalid || applinksAdd.busy"/>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ 'main.dialog.close' | tr }}</button>
|
<button type="button" class="btn btn-default" data-dismiss="modal">{{ 'main.dialog.close' | tr }}</button>
|
||||||
<button type="button" class="btn btn-success" ng-click="applinksAdd.submit()" ng-disabled="applinksAddForm.$invalid || applinksAdd.busy"><i class="fa fa-circle-notch fa-spin" ng-show="applinksEdit.busy"></i> {{ 'main.dialog.save' | tr }}</button>
|
<button type="button" class="btn btn-success" ng-click="applinksAdd.submit()" ng-disabled="applinksAddForm.$invalid || applinksAdd.busy"><i class="fa fa-circle-notch fa-spin" ng-show="applinksAdd.busy"></i> {{ 'main.dialog.save' | tr }}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+5
-2
@@ -101,6 +101,10 @@ angular.module('Application').controller('AppsController', ['$scope', '$translat
|
|||||||
accessRestrictionOption: 'any',
|
accessRestrictionOption: 'any',
|
||||||
accessRestriction: { users: [], groups: [] },
|
accessRestriction: { users: [], groups: [] },
|
||||||
|
|
||||||
|
isAccessRestrictionValid: function () {
|
||||||
|
return !!($scope.applinksAdd.accessRestriction.users.length || $scope.applinksAdd.accessRestriction.groups.length);
|
||||||
|
},
|
||||||
|
|
||||||
show: function () {
|
show: function () {
|
||||||
$scope.applinksAdd.error = {};
|
$scope.applinksAdd.error = {};
|
||||||
$scope.applinksAdd.busy = false;
|
$scope.applinksAdd.busy = false;
|
||||||
@@ -159,8 +163,7 @@ angular.module('Application').controller('AppsController', ['$scope', '$translat
|
|||||||
accessRestriction: { users: [], groups: [] },
|
accessRestriction: { users: [], groups: [] },
|
||||||
|
|
||||||
isAccessRestrictionValid: function () {
|
isAccessRestrictionValid: function () {
|
||||||
var tmp = $scope.applinksEdit.accessRestriction;
|
return !!($scope.applinksEdit.accessRestriction.users.length || $scope.applinksEdit.accessRestriction.groups.length);
|
||||||
return !!(tmp.users.length || tmp.groups.length);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
show: function (applink) {
|
show: function (applink) {
|
||||||
|
|||||||
Reference in New Issue
Block a user