rename from user role to user group
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
(function () {
|
||||
'use strict';
|
||||
|
||||
function UserRolePreviewDirective() {
|
||||
function UserGroupPreviewDirective() {
|
||||
|
||||
function link(scope, el, attr, ctrl) {
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
var directive = {
|
||||
restrict: 'E',
|
||||
replace: true,
|
||||
templateUrl: 'views/components/users/umb-user-role-preview.html',
|
||||
templateUrl: 'views/components/users/umb-user-group-preview.html',
|
||||
scope: {
|
||||
icon: "=?",
|
||||
name: "=",
|
||||
@@ -28,6 +28,6 @@
|
||||
|
||||
}
|
||||
|
||||
angular.module('umbraco.directives').directive('umbUserRolePreview', UserRolePreviewDirective);
|
||||
angular.module('umbraco.directives').directive('umbUserGroupPreview', UserGroupPreviewDirective);
|
||||
|
||||
})();
|
||||
@@ -133,8 +133,8 @@
|
||||
@import "components/umb-mini-editor.less";
|
||||
|
||||
@import "components/users/umb-users.less";
|
||||
@import "components/users/umb-user-role-picker-list.less";
|
||||
@import "components/users/umb-user-role-preview.less";
|
||||
@import "components/users/umb-user-group-picker-list.less";
|
||||
@import "components/users/umb-user-group-preview.less";
|
||||
|
||||
// Utilities
|
||||
@import "utilities/_flexbox.less";
|
||||
|
||||
@@ -1,38 +1,38 @@
|
||||
.umb-user-role-picker-list {
|
||||
.umb-user-group-picker-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.umb-user-role-picker-list-item {
|
||||
.umb-user-group-picker-list-item {
|
||||
display: flex;
|
||||
margin-bottom: 5px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.umb-user-role-picker-list-item:active,
|
||||
.umb-user-role-picker-list-item:focus {
|
||||
.umb-user-group-picker-list-item:active,
|
||||
.umb-user-group-picker-list-item:focus {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.umb-user-role-picker-list-item:hover {
|
||||
.umb-user-group-picker-list-item:hover {
|
||||
background-color: @gray-10;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.umb-user-role-picker-list-item__icon {
|
||||
.umb-user-group-picker-list-item__icon {
|
||||
font-size: 20px;
|
||||
line-height: 20px;
|
||||
min-width: 20px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.umb-user-role-picker-list-item__name {
|
||||
.umb-user-group-picker-list-item__name {
|
||||
font-size: 15px;
|
||||
margin-bottom: 3px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.umb-user-role-picker-list-item__permission {
|
||||
.umb-user-group-picker-list-item__permission {
|
||||
font-size: 13px;
|
||||
color: @gray-4;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
.umb-user-role-preview {
|
||||
.umb-user-group-preview {
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
display: flex;
|
||||
@@ -6,12 +6,12 @@
|
||||
border-bottom: 1px solid @gray-9;
|
||||
}
|
||||
|
||||
.umb-user-role-preview:last-of-type {
|
||||
.umb-user-group-preview:last-of-type {
|
||||
border-bottom: none;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.umb-user-role-preview__icon {
|
||||
.umb-user-group-preview__icon {
|
||||
display: flex;
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
@@ -22,11 +22,11 @@
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
|
||||
.umb-user-role-preview__content {
|
||||
.umb-user-group-preview__content {
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
.umb-user-role-preview__name {
|
||||
.umb-user-group-preview__name {
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
color: @black;
|
||||
@@ -34,18 +34,18 @@
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.umb-user-role-preview__permission {
|
||||
.umb-user-group-preview__permission {
|
||||
font-size: 13px;
|
||||
color: @gray-3;
|
||||
}
|
||||
|
||||
.umb-user-role-preview__actions {
|
||||
.umb-user-group-preview__actions {
|
||||
flex: 0 0 auto;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.umb-user-role-preview__action {
|
||||
.umb-user-group-preview__action {
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
font-size: 13px;
|
||||
@@ -53,12 +53,12 @@
|
||||
color: @gray-5;
|
||||
}
|
||||
|
||||
.umb-user-role-preview__action:hover {
|
||||
.umb-user-group-preview__action:hover {
|
||||
color: @turquoise;
|
||||
text-decoration: none;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.umb-user-role-preview__action--red:hover {
|
||||
.umb-user-group-preview__action--red:hover {
|
||||
color: @red;
|
||||
}
|
||||
@@ -1,14 +1,14 @@
|
||||
(function () {
|
||||
"use strict";
|
||||
|
||||
function UserRolePickerController($scope, usersResource) {
|
||||
function UserGroupPickerController($scope, usersResource) {
|
||||
|
||||
var vm = this;
|
||||
|
||||
vm.userRoles = [];
|
||||
vm.userGroups = [];
|
||||
vm.loading = false;
|
||||
|
||||
vm.selectUserRole = selectUserRole;
|
||||
vm.selectUserGroup = selectUserGroup;
|
||||
|
||||
//////////
|
||||
|
||||
@@ -22,8 +22,8 @@
|
||||
}
|
||||
|
||||
// get venues
|
||||
usersResource.getUserGroups().then(function(userRoles){
|
||||
vm.userRoles = userRoles;
|
||||
usersResource.getUserGroups().then(function(userGroups){
|
||||
vm.userGroups = userGroups;
|
||||
|
||||
if($scope.model.selection && $scope.model.selection.length > 0) {
|
||||
preSelect($scope.model.selection);
|
||||
@@ -39,27 +39,27 @@
|
||||
|
||||
angular.forEach(selection, function(selected){
|
||||
|
||||
angular.forEach(vm.userRoles, function(userRole){
|
||||
if(selected.id === userRole.id) {
|
||||
userRole.selected = true;
|
||||
angular.forEach(vm.userGroups, function(userGroup){
|
||||
if(selected.id === userGroup.id) {
|
||||
userGroup.selected = true;
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function selectUserRole(userRole) {
|
||||
function selectUserGroup(userGroup) {
|
||||
|
||||
if(!userRole.selected) {
|
||||
if(!userGroup.selected) {
|
||||
|
||||
userRole.selected = true;
|
||||
$scope.model.selection.push(userRole);
|
||||
userGroup.selected = true;
|
||||
$scope.model.selection.push(userGroup);
|
||||
|
||||
} else {
|
||||
|
||||
angular.forEach($scope.model.selection, function(selectedUserRole, index){
|
||||
if(selectedUserRole.id === userRole.id) {
|
||||
userRole.selected = false;
|
||||
angular.forEach($scope.model.selection, function(selectedUserGroup, index){
|
||||
if(selectedUserGroup.id === userGroup.id) {
|
||||
userGroup.selected = false;
|
||||
$scope.model.selection.splice(index, 1);
|
||||
}
|
||||
});
|
||||
@@ -72,6 +72,6 @@
|
||||
|
||||
}
|
||||
|
||||
angular.module("umbraco").controller("Umbraco.Overlays.UserRolePickerController", UserRolePickerController);
|
||||
angular.module("umbraco").controller("Umbraco.Overlays.UserGroupPickerController", UserGroupPickerController);
|
||||
|
||||
})();
|
||||
@@ -0,0 +1,67 @@
|
||||
<div ng-controller="Umbraco.Overlays.UserGroupPickerController as vm">
|
||||
|
||||
<umb-load-indicator
|
||||
ng-if="vm.loading">
|
||||
</umb-load-indicator>
|
||||
|
||||
<div ng-if="!vm.loading">
|
||||
|
||||
<div class="form-search" style="margin-bottom: 15px;">
|
||||
<i class="icon-search"></i>
|
||||
<input type="text"
|
||||
ng-model="searchTerm"
|
||||
class="umb-search-field search-query input-block-level -full-width-input"
|
||||
localize="placeholder"
|
||||
placeholder="@placeholders_filter"
|
||||
umb-auto-focus />
|
||||
</div>
|
||||
|
||||
<div class="umb-user-group-picker-list">
|
||||
|
||||
<a href="" class="umb-user-group-picker-list-item" ng-repeat="userGroup in vm.userGroups | filter:searchTerm" ng-click="vm.selectUserGroup(userGroup)">
|
||||
|
||||
<div class="umb-user-group-picker-list-item__icon">
|
||||
<i ng-if="!userGroup.selected" class="{{userGroup.icon}}"></i>
|
||||
<umb-checkmark ng-if="userGroup.selected" checked="userGroup.selected" size="xs"></umb-checkmark>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class="umb-user-group-picker-list-item__name">{{ userGroup.name }}</div>
|
||||
|
||||
<div class="umb-user-group-picker-list-item__permission">
|
||||
<span>
|
||||
<span class="bold">Sections:</span>
|
||||
<span ng-repeat="section in userGroup.sections">{{ section.name }}<span ng-if="!$last">, </span></span>
|
||||
<span ng-if="userGroup.sections.length === 0">All sections</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="umb-user-group-picker-list-item__permission">
|
||||
<span>
|
||||
<span class="bold">Content start node:</span>
|
||||
<span ng-repeat="startNode in userGroup.startNodesContent">{{ startNode.name }}<span ng-if="!$last">, </span></span>
|
||||
<span ng-if="userGroup.startNodesContent.length === 0">Content root</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="umb-user-group-picker-list-item__permission">
|
||||
<span>
|
||||
<span class="bold">Media start node:</span>
|
||||
<span ng-repeat="startNode in userGroup.startNodesMedia">{{ startNode.name }}<span ng-if="!$last">, </span></span>
|
||||
<span ng-if="userGroup.startNodesMedia.length === 0">Media root</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
<umb-empty-state
|
||||
ng-if="vm.userGroups.length === 0"
|
||||
position="center">
|
||||
No user groups have been added
|
||||
</umb-empty-state>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -1,67 +0,0 @@
|
||||
<div ng-controller="Umbraco.Overlays.UserRolePickerController as vm">
|
||||
|
||||
<umb-load-indicator
|
||||
ng-if="vm.loading">
|
||||
</umb-load-indicator>
|
||||
|
||||
<div ng-if="!vm.loading">
|
||||
|
||||
<div class="form-search" style="margin-bottom: 15px;">
|
||||
<i class="icon-search"></i>
|
||||
<input type="text"
|
||||
ng-model="searchTerm"
|
||||
class="umb-search-field search-query input-block-level -full-width-input"
|
||||
localize="placeholder"
|
||||
placeholder="@placeholders_filter"
|
||||
umb-auto-focus />
|
||||
</div>
|
||||
|
||||
<div class="umb-user-role-picker-list">
|
||||
|
||||
<a href="" class="umb-user-role-picker-list-item" ng-repeat="userRole in vm.userRoles | filter:searchTerm" ng-click="vm.selectUserRole(userRole)">
|
||||
|
||||
<div class="umb-user-role-picker-list-item__icon">
|
||||
<i ng-if="!userRole.selected" class="{{userRole.icon}}"></i>
|
||||
<umb-checkmark ng-if="userRole.selected" checked="userRole.selected" size="xs"></umb-checkmark>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class="umb-user-role-picker-list-item__name">{{ userRole.name }}</div>
|
||||
|
||||
<div class="umb-user-role-picker-list-item__permission">
|
||||
<span>
|
||||
<span class="bold">Sections:</span>
|
||||
<span ng-repeat="section in userRole.sections">{{ section.name }}<span ng-if="!$last">, </span></span>
|
||||
<span ng-if="userRole.sections.length === 0">All sections</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="umb-user-role-picker-list-item__permission">
|
||||
<span>
|
||||
<span class="bold">Content start node:</span>
|
||||
<span ng-repeat="startNode in userRole.startNodesContent">{{ startNode.name }}<span ng-if="!$last">, </span></span>
|
||||
<span ng-if="userRole.startNodesContent.length === 0">Content root</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="umb-user-role-picker-list-item__permission">
|
||||
<span>
|
||||
<span class="bold">Media start node:</span>
|
||||
<span ng-repeat="startNode in userRole.startNodesMedia">{{ startNode.name }}<span ng-if="!$last">, </span></span>
|
||||
<span ng-if="userRole.startNodesMedia.length === 0">Media root</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
<umb-empty-state
|
||||
ng-if="vm.userRoles.length === 0"
|
||||
position="center">
|
||||
No user roles have been added
|
||||
</umb-empty-state>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -1,11 +1,11 @@
|
||||
<div class="umb-user-role-preview">
|
||||
<div class="umb-user-group-preview">
|
||||
|
||||
<i ng-if="icon" class="umb-user-role-preview__icon {{ icon }}"></i>
|
||||
<i ng-if="icon" class="umb-user-group-preview__icon {{ icon }}"></i>
|
||||
|
||||
<div class="umb-user-role-preview__content">
|
||||
<div class="umb-user-role-preview__name">{{ name }}</div>
|
||||
<div class="umb-user-group-preview__content">
|
||||
<div class="umb-user-group-preview__name">{{ name }}</div>
|
||||
|
||||
<div class="umb-user-role-preview__permission">
|
||||
<div class="umb-user-group-preview__permission">
|
||||
<span>
|
||||
<span class="bold">Sections:</span>
|
||||
<span ng-repeat="section in sections">{{ section.name }}<span ng-if="!$last">, </span></span>
|
||||
@@ -13,7 +13,7 @@
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="umb-user-role-preview__permission">
|
||||
<div class="umb-user-group-preview__permission">
|
||||
<span>
|
||||
<span class="bold">Content start node:</span>
|
||||
<span ng-repeat="startNode in contentStartNodes">{{ startNode.name }}<span ng-if="!$last">, </span></span>
|
||||
@@ -21,7 +21,7 @@
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="umb-user-role-preview__permission">
|
||||
<div class="umb-user-group-preview__permission">
|
||||
<span>
|
||||
<span class="bold">Media start node:</span>
|
||||
<span ng-repeat="startNode in mediaStartNodes">{{ startNode.name }}<span ng-if="!$last">, </span></span>
|
||||
@@ -31,8 +31,8 @@
|
||||
|
||||
</div>
|
||||
|
||||
<div class="umb-user-role-preview__actions">
|
||||
<a class="umb-user-role-preview__action umb-user-role-preview__action--red" title="Remove" href="" ng-if="allowRemove" ng-click="onRemove()">Remove</i></a>
|
||||
<div class="umb-user-group-preview__actions">
|
||||
<a class="umb-user-group-preview__action umb-user-group-preview__action--red" title="Remove" href="" ng-if="allowRemove" ng-click="onRemove()">Remove</i></a>
|
||||
<div>
|
||||
|
||||
</div>
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
vm.allowDisableUser = true;
|
||||
vm.allowEnableUser = true;
|
||||
vm.allowSetUserRole = true;
|
||||
vm.allowSetUserGroup = true;
|
||||
|
||||
vm.layouts = [
|
||||
{
|
||||
@@ -136,9 +136,9 @@
|
||||
}
|
||||
|
||||
function openUserGroupPicker(event) {
|
||||
vm.userRolePicker = {
|
||||
title: "Select user roles",
|
||||
view: "userrolepicker",
|
||||
vm.userGroupPicker = {
|
||||
title: "Select user groups",
|
||||
view: "usergrouppicker",
|
||||
selection: vm.newUser.userGroups,
|
||||
closeButtonLabel: "Cancel",
|
||||
show: true,
|
||||
@@ -147,16 +147,16 @@
|
||||
if(model.selection) {
|
||||
vm.newUser.userGroups = model.selection;
|
||||
}
|
||||
vm.userRolePicker.show = false;
|
||||
vm.userRolePicker = null;
|
||||
vm.userGroupPicker.show = false;
|
||||
vm.userGroupPicker = null;
|
||||
},
|
||||
close: function(oldModel) {
|
||||
// rollback on close
|
||||
if(oldModel.selection) {
|
||||
vm.newUser.userGroups = oldModel.selection;
|
||||
}
|
||||
vm.userRolePicker.show = false;
|
||||
vm.userRolePicker = null;
|
||||
vm.userGroupPicker.show = false;
|
||||
vm.userGroupPicker = null;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -62,12 +62,12 @@
|
||||
<umb-editor-sub-header-content-right ng-if="vm.selection.length > 0">
|
||||
<div style="margin-right: 5px;">
|
||||
<umb-button
|
||||
ng-if="vm.allowSetUserRole"
|
||||
ng-if="vm.allowSetUserGroup"
|
||||
type="button"
|
||||
button-style="link"
|
||||
label="Set role"
|
||||
label="Set group"
|
||||
icon="icon-users"
|
||||
action="vm.setUserRoleUser()">
|
||||
action="vm.setUserGroup()">
|
||||
</umb-button>
|
||||
</div>
|
||||
<div style="margin-right: 5px;">
|
||||
@@ -293,7 +293,7 @@
|
||||
|
||||
<umb-control-group label="User group">
|
||||
|
||||
<umb-user-role-preview
|
||||
<umb-user-group-preview
|
||||
ng-repeat="group in vm.newUser.userGroups"
|
||||
icon="group.icon"
|
||||
name="group.name"
|
||||
@@ -302,7 +302,7 @@
|
||||
media-start-nodes="group.startNodesMedia"
|
||||
allow-remove="true"
|
||||
on-remove="vm.removeSelectedUserGroup($index, vm.newUser.userGroups)">
|
||||
</umb-user-role-preview>
|
||||
</umb-user-group-preview>
|
||||
|
||||
<a href=""
|
||||
style="max-width: 100%;"
|
||||
@@ -344,9 +344,9 @@
|
||||
</div>
|
||||
|
||||
<umb-overlay
|
||||
ng-if="vm.userRolePicker.show"
|
||||
model="vm.userRolePicker"
|
||||
view="vm.userRolePicker.view"
|
||||
ng-if="vm.userGroupPicker.show"
|
||||
model="vm.userGroupPicker"
|
||||
view="vm.userGroupPicker.view"
|
||||
position="right">
|
||||
</umb-overlay>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user