Merge branch user-group-permissions into temp-U4-10084

This commit is contained in:
Stephan
2017-07-26 13:22:43 +02:00
70 changed files with 880 additions and 513 deletions

View File

@@ -1,5 +1,5 @@
{
"name": "Umbraco",
"name": "umbraco",
"version": "7",
"homepage": "https://github.com/umbraco/Umbraco-CMS",
"authors": [

View File

@@ -82,8 +82,10 @@
@param {boolean} sortable (<code>binding</code>): Will add a move cursor on the node preview. Can used in combination with ui-sortable.
@param {boolean} allowRemove (<code>binding</code>): Show/Hide the remove button.
@param {boolean} allowOpen (<code>binding</code>): Show/Hide the open button.
@param {boolean} allowEdit (<code>binding</code>): Show/Hide the edit button (Added in version 7.7.0).
@param {function} onRemove (<code>expression</code>): Callback function when the remove button is clicked.
@param {function} onOpen (<code>expression</code>): Callback function when the open button is clicked.
@param {function} onEdit (<code>expression</code>): Callback function when the edit button is clicked (Added in version 7.7.0).
**/
(function () {
@@ -108,8 +110,10 @@
sortable: "=?",
allowOpen: "=?",
allowRemove: "=?",
allowEdit: "=?",
onOpen: "&?",
onRemove: "&?"
onRemove: "&?",
onEdit: "&?"
},
link: link
};

View File

@@ -1,8 +1,6 @@
.umb-node-preview {
padding: 7px 0;
border-radius: 3px;
display: flex;
align-items: center;
max-width: 66.6%;
box-sizing: border-box;
border-bottom: 1px solid @gray-9;
@@ -37,10 +35,12 @@
.umb-node-preview__content {
flex: 1 1 auto;
margin-right: 25px;
}
.umb-node-preview__name {
color: @black;
margin-top: 2px;
}
.umb-node-preview__description {

View File

@@ -91,7 +91,7 @@ angular.module("umbraco").controller("Umbraco.Overlays.LinkPickerController",
userService.getCurrentUser().then(function (userData) {
$scope.mediaPickerOverlay = {
view: "mediapicker",
startNodeId: userData.startMediaIds.length == 0 ? -1 : userData.startMediaIds[0],
startNodeId: userData.startMediaIds.length !== 1 ? -1 : userData.startMediaIds[0],
show: true,
submit: function(model) {
var media = model.selectedImages[0];

View File

@@ -16,6 +16,7 @@ angular.module("umbraco")
$scope.startNodeId = dialogOptions.startNodeId ? dialogOptions.startNodeId : -1;
$scope.cropSize = dialogOptions.cropSize;
$scope.lastOpenedNode = localStorageService.get("umbLastOpenedMediaNodeId");
$scope.lockedFolder = true;
var umbracoSettings = Umbraco.Sys.ServerVariables.umbracoSettings;
var allowedUploadFiles = mediaHelper.formatFileTypes(umbracoSettings.allowedUploadFiles);
@@ -121,6 +122,8 @@ angular.module("umbraco")
$scope.path = [];
}
$scope.lockedFolder = folder.id === -1 && $scope.model.startNodeIsVirtual;
$scope.currentFolder = folder;
localStorageService.set("umbLastOpenedMediaNodeId", folder.id);
return getChildren(folder.id);

View File

@@ -30,7 +30,7 @@
type="button"
label-key="general_upload"
action="upload()"
disabled="disabled">
disabled="lockedFolder">
</umb-button>
</div>
@@ -48,7 +48,7 @@
<span class="umb-breadcrumbs__seperator">&#47;</span>
</li>
<li class="umb-breadcrumbs__ancestor">
<li class="umb-breadcrumbs__ancestor" ng-if="!lockedFolder">
<a href ng-hide="showFolderInput" ng-click="showFolderInput = true">
<i class="icon icon-add small"></i>
</a>
@@ -67,7 +67,7 @@
</div>
<umb-file-dropzone
ng-if="acceptedMediatypes.length > 0 && !loading"
ng-if="acceptedMediatypes.length > 0 && !loading && !lockedFolder"
accepted-mediatypes="acceptedMediatypes"
parent-id="{{currentFolder.id}}"
files-uploaded="onUploadComplete"

View File

@@ -1,10 +1,10 @@
<div class="umb-node-preview" ng-class="{'umb-node-preview--sortable': sortable, 'umb-node-preview--unpublished': published === false }">
<i ng-if="icon" class="umb-node-preview__icon {{ icon }}"></i>
<div class="umb-node-preview__content">
<div class="flex items-center">
<div class="umb-node-preview__name">{{ name }}</div>
<div ng-if="description" class="umb-node-preview__description">{{ description }}</div>
</div>
<div class="umb-node-preview__name">{{ name }}</div>
<div class="umb-node-preview__description" ng-if="description">{{ description }}</div>
<div class="umb-user-group-preview__permission" ng-if="permissions">
<span>
<span class="bold">Permissions:</span>
@@ -13,6 +13,7 @@
</div>
</div>
<div class="umb-node-preview__actions">
<a class="umb-node-preview__action" title="Open" href="" ng-if="allowEdit" ng-click="onEdit()"><localize key="general_edit">Edit</localize></a>
<a class="umb-node-preview__action" title="Open" href="" ng-if="allowOpen" ng-click="onOpen()"><localize key="general_open">Open</localize></a>
<a class="umb-node-preview__action umb-node-preview__action--red" title="Remove" href="" ng-if="allowRemove" ng-click="onRemove()"><localize key="general_remove">Remove</localize></i></a>
<div>

View File

@@ -10,5 +10,5 @@
<li>Find an add-on <a class="btn-link -underline href="http://our.umbraco.org/projects" target="_blank">package</a> to help you get going quickly</li>
<li>Watch our <a class="btn-link -underline href="http://umbraco.tv" target="_blank">tutorial videos</a> (some are free, some require a subscription)</li>
<li>Find out about our <a class="btn-link -underline href="http://umbraco.org/products" target="_blank">productivity boosting tools and commercial support</a></li>
<li>Find out about real-life <a class="btn-link -underline href="http://umbraco.org/training/training-schedule" target="_blank">training and certification</a> opportunities</li>
<li>Find out about real-life <a class="btn-link -underline href="http://umbraco.org/training/" target="_blank">training and certification</a> opportunities</li>
</ul>

View File

@@ -10,5 +10,5 @@
<li>Ask a question in the <a class="btn-link -underline" href="https://our.umbraco.org/" target="_blank">Community Forum</a></li>
<li>Watch our <a class="btn-link -underline" href="http://umbraco.tv" target="_blank">tutorial videos</a> (some are free, some require a subscription)</li>
<li>Find out about our <a class="btn-link -underline" href="http://umbraco.com/products-and-support" target="_blank">productivity boosting tools and commercial support</a></li>
<li>Find out about real-life <a class="btn-link -underline" href="http://umbraco.com/products/training/schedule" target="_blank">training and certification</a> opportunities</li>
<li>Find out about real-life <a class="btn-link -underline" href="http://umbraco.com/training/" target="_blank">training and certification</a> opportunities</li>
</ul>

View File

@@ -90,7 +90,7 @@
<umb-editor-sub-header>
<umb-editor-sub-header-content-left>
<a class="umb-package-details__back-link" href="" ng-click="vm.state = 'upload'">&larr; <localize key="packager_cancelAndAnother">Cancel and upload another package</localize></a>
<a class="umb-package-details__back-link" href="" ng-click="vm.state = 'upload'">&larr; <localize key="packager_cancelAndUploadAnother">Cancel and upload another package</localize></a>
</umb-editor-sub-header-content-left>
</umb-editor-sub-header>

View File

@@ -4,7 +4,8 @@ angular.module("umbraco")
if (!$scope.model.config.startNodeId) {
userService.getCurrentUser().then(function (userData) {
$scope.model.config.startNodeId = userData.startMediaIds.length === 0 ? -1 : userData.startMediaIds[0];
$scope.model.config.startNodeId = userData.startMediaIds.length !== 1 ? -1 : userData.startMediaIds[0];
$scope.model.config.startNodeIsVirtual = userData.startMediaIds.length !== 1;
});
}
@@ -12,6 +13,7 @@ angular.module("umbraco")
$scope.mediaPickerOverlay = {};
$scope.mediaPickerOverlay.view = "mediapicker";
$scope.mediaPickerOverlay.startNodeId = $scope.model.config && $scope.model.config.startNodeId ? $scope.model.config.startNodeId : undefined;
$scope.mediaPickerOverlay.startNodeIsVirtual = $scope.mediaPickerOverlay.startNodeId ? $scope.model.config.startNodeIsVirtual : undefined;
$scope.mediaPickerOverlay.cropSize = $scope.control.editor.config && $scope.control.editor.config.size ? $scope.control.editor.config.size : undefined;
$scope.mediaPickerOverlay.showDetails = true;
$scope.mediaPickerOverlay.disableFolderSelect = true;

View File

@@ -28,7 +28,7 @@
currentTarget: currentTarget,
onlyImages: true,
showDetails: true,
startNodeId: userData.startMediaIds.length === 0 ? -1 : userData.startMediaIds[0],
startNodeId: userData.startMediaIds.length !== 1 ? -1 : userData.startMediaIds[0],
view: "mediapicker",
show: true,
submit: function(model) {

View File

@@ -9,8 +9,9 @@ angular.module('umbraco').controller("Umbraco.PropertyEditors.MediaPickerControl
var disableFolderSelect = $scope.model.config.disableFolderSelect && $scope.model.config.disableFolderSelect !== '0' ? true : false;
if (!$scope.model.config.startNodeId) {
userService.getCurrentUser().then(function (userData) {
$scope.model.config.startNodeId = userData.startMediaIds.length === 0 ? -1 : userData.startMediaIds[0];
userService.getCurrentUser().then(function(userData) {
$scope.model.config.startNodeId = userData.startMediaIds.length !== 1 ? -1 : userData.startMediaIds[0];
$scope.model.config.startNodeIsVirtual = userData.startMediaIds.length !== 1;
});
}
@@ -45,7 +46,7 @@ angular.module('umbraco').controller("Umbraco.PropertyEditors.MediaPickerControl
$scope.ids.push(media.udi);
}
else {
$scope.ids.push(media.id);
$scope.ids.push(media.id);
}
}
});
@@ -73,6 +74,7 @@ angular.module('umbraco').controller("Umbraco.PropertyEditors.MediaPickerControl
view: "mediapicker",
title: "Select media",
startNodeId: $scope.model.config.startNodeId,
startNodeIsVirtual: $scope.model.config.startNodeIsVirtual,
multiPicker: multiPicker,
onlyImages: onlyImages,
disableFolderSelect: disableFolderSelect,

View File

@@ -286,7 +286,7 @@ angular.module("umbraco")
onlyImages: true,
showDetails: true,
disableFolderSelect: true,
startNodeId: userData.startMediaIds.length === 0 ? -1 : userData.startMediaIds[0],
startNodeId: userData.startMediaIds.length !== 1 ? -1 : userData.startMediaIds[0],
view: "mediapicker",
show: true,
submit: function(model) {

View File

@@ -19,6 +19,7 @@
vm.clearStartNode = clearStartNode;
vm.save = save;
vm.openGranularPermissionsPicker = openGranularPermissionsPicker;
vm.setPermissionsForNode = setPermissionsForNode;
function init() {
@@ -251,8 +252,10 @@
vm.nodePermissions.show = false;
vm.nodePermissions = null;
// close content picker overlay
vm.contentPicker.show = false;
vm.contentPicker = null;
if(vm.contentPicker) {
vm.contentPicker.show = false;
vm.contentPicker = null;
}
},
close: function (oldModel) {
vm.nodePermissions.show = false;

View File

@@ -115,7 +115,9 @@
name="node.name"
permissions="node.allowedPermissions"
allow-remove="true"
on-remove="vm.removeSelectedItem($index, vm.userGroup.assignedPermissions)">
on-remove="vm.removeSelectedItem($index, vm.userGroup.assignedPermissions)"
allow-edit="true"
on-edit="vm.setPermissionsForNode(node)">
</umb-node-preview>
<a href=""