Completes: U4-3194 member editor needs group/role support
This commit is contained in:
@@ -245,10 +245,21 @@ function umbDataFormatter() {
|
||||
var propPass = _.find(genericTab.properties, function (item) {
|
||||
return item.alias === "_umb_password";
|
||||
});
|
||||
var propGroups = _.find(genericTab.properties, function (item) {
|
||||
return item.alias === "_umb_membergroup";
|
||||
});
|
||||
saveModel.email = propEmail.value;
|
||||
saveModel.username = propLogin.value;
|
||||
saveModel.password = propPass.value;
|
||||
|
||||
|
||||
var selectedGroups = [];
|
||||
for (var n in propGroups.value) {
|
||||
if (propGroups.value[n] === true) {
|
||||
selectedGroups.push(n);
|
||||
}
|
||||
}
|
||||
saveModel.memberGroups = selectedGroups;
|
||||
|
||||
return saveModel;
|
||||
},
|
||||
|
||||
|
||||
@@ -281,4 +281,18 @@ ul.color-picker li a {
|
||||
}
|
||||
.umb-fileupload input {
|
||||
font-size: 12px
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Member group picker
|
||||
// --------------------------------------------------
|
||||
|
||||
.umb-member-group-box {
|
||||
width: 45%;
|
||||
}
|
||||
.umb-member-group-box:nth-child(1){
|
||||
float:left;
|
||||
}
|
||||
.umb-member-group-box:nth-child(2){
|
||||
float:right;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
function memberGroupController($rootScope, $scope, dialogService, mediaResource, imageHelper, $log) {
|
||||
|
||||
//set the available to the keys of the dictionary who's value is true
|
||||
$scope.getAvailable = function () {
|
||||
var available = [];
|
||||
for (var n in $scope.model.value) {
|
||||
if ($scope.model.value[n] === false) {
|
||||
available.push(n);
|
||||
}
|
||||
}
|
||||
return available;
|
||||
};
|
||||
//set the selected to the keys of the dictionary who's value is true
|
||||
$scope.getSelected = function () {
|
||||
var selected = [];
|
||||
for (var n in $scope.model.value) {
|
||||
if ($scope.model.value[n] === true) {
|
||||
selected.push(n);
|
||||
}
|
||||
}
|
||||
return selected;
|
||||
};
|
||||
|
||||
$scope.addItem = function(item) {
|
||||
//keep the model up to date
|
||||
$scope.model.value[item] = true;
|
||||
};
|
||||
|
||||
$scope.removeItem = function (item) {
|
||||
//keep the model up to date
|
||||
$scope.model.value[item] = false;
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
angular.module('umbraco').controller("Umbraco.PropertyEditors.MemberGroupController", memberGroupController);
|
||||
@@ -0,0 +1,18 @@
|
||||
<div ng-controller="Umbraco.PropertyEditors.MemberGroupController">
|
||||
<div class="umb-member-group-box">
|
||||
<h5>Not a member of group(s)</h5>
|
||||
<ul>
|
||||
<li ng-repeat="item in getAvailable()">
|
||||
<a href="" ng-click="addItem(item)">{{item}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="umb-member-group-box">
|
||||
<h5>Member of group(s)</h5>
|
||||
<ul>
|
||||
<li ng-repeat="item in getSelected()">
|
||||
<a href="" ng-click="removeItem(item)">{{item}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user