Completes: U4-3194 member editor needs group/role support

This commit is contained in:
Shannon
2013-10-21 17:02:33 +11:00
parent 3af8354a93
commit 49df332734
10 changed files with 144 additions and 14 deletions

View File

@@ -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;
},

View File

@@ -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;
}

View File

@@ -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);

View File

@@ -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>