From bb641c937ca2bccfdab56ebed8d532b5901e7bb9 Mon Sep 17 00:00:00 2001 From: perploug Date: Mon, 16 Sep 2013 16:06:11 +0200 Subject: [PATCH] Userpicker propertyeditor --- .../src/common/resources/entity.resource.js | 66 ++++++++++++++++++- .../userpicker/userpicker.controller.js | 11 ++++ .../userpicker/userpicker.html | 7 ++ .../UserPickerPropertyEditor.cs | 13 ++++ src/Umbraco.Web/Umbraco.Web.csproj | 1 + 5 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 src/Umbraco.Web.UI.Client/src/views/propertyeditors/userpicker/userpicker.controller.js create mode 100644 src/Umbraco.Web.UI.Client/src/views/propertyeditors/userpicker/userpicker.html create mode 100644 src/Umbraco.Web/PropertyEditors/UserPickerPropertyEditor.cs diff --git a/src/Umbraco.Web.UI.Client/src/common/resources/entity.resource.js b/src/Umbraco.Web.UI.Client/src/common/resources/entity.resource.js index 5e23495765..30b039e622 100644 --- a/src/Umbraco.Web.UI.Client/src/common/resources/entity.resource.js +++ b/src/Umbraco.Web.UI.Client/src/common/resources/entity.resource.js @@ -263,6 +263,38 @@ function entityResource($q, $http, umbRequestHelper) { 'Failed to retreive document data for ids ' + idQuery); }, + /** + * @ngdoc method + * @name umbraco.resources.entityResource#searchDocuments + * @methodOf umbraco.resources.entityResource + * + * @description + * Gets an array of content entities, given a query + * + * ##usage + *
+         * entityResource.searchDocuments("news")
+         *    .then(function(contentArray) {
+         *        var myDoc = contentArray; 
+         *        alert('they are here!');
+         *    });
+         * 
+ * + * @param {String} Query search query + * @returns {Promise} resourcePromise object containing the entity array. + * + */ + searchDocuments: function (query) { + + return umbRequestHelper.resourcePromise( + $http.get( + umbRequestHelper.getApiUrl( + "entityApiBaseUrl", + "SearchDocuments", + query)), + 'Failed to retreive document data for query ' + query); + }, + /** * @ngdoc method * @name umbraco.resources.entityResource#getMediaById @@ -329,8 +361,40 @@ function entityResource($q, $http, umbRequestHelper) { "GetMediaByIds", idQuery)), 'Failed to retreive media data for ids ' + idQuery); + }, + + /** + * @ngdoc method + * @name umbraco.resources.entityResource#searchMedia + * @methodOf umbraco.resources.entityResource + * + * @description + * Gets an array of medoa entities, given a query + * + * ##usage + *
+         * entityResource.searchMedia("news")
+         *    .then(function(mediaArray) {
+         *        var myDoc = mediaArray; 
+         *        alert('they are here!');
+         *    });
+         * 
+ * + * @param {String} Query search query + * @returns {Promise} resourcePromise object containing the entity array. + * + */ + searchMedia: function (query) { + + return umbRequestHelper.resourcePromise( + $http.get( + umbRequestHelper.getApiUrl( + "entityApiBaseUrl", + "SearchMedia", + query)), + 'Failed to retreive media data for query ' + query); } - + }; } diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/userpicker/userpicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/userpicker/userpicker.controller.js new file mode 100644 index 0000000000..ef48de19f7 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/userpicker/userpicker.controller.js @@ -0,0 +1,11 @@ +angular.module('umbraco').controller("Umbraco.Editors.UserPickerController", + function($rootScope, $scope, $log, userResource){ + + userResource.getAll().then(function (userArray) { + $scope.users = userArray; + }); + + if ($scope.model.value === null || $scope.model.value === undefined) { + $scope.model.value = ""; + } +}); \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/userpicker/userpicker.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/userpicker/userpicker.html new file mode 100644 index 0000000000..d2fb30e34a --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/userpicker/userpicker.html @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/src/Umbraco.Web/PropertyEditors/UserPickerPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/UserPickerPropertyEditor.cs new file mode 100644 index 0000000000..a8a3eec6ee --- /dev/null +++ b/src/Umbraco.Web/PropertyEditors/UserPickerPropertyEditor.cs @@ -0,0 +1,13 @@ +using System.ComponentModel; +using System.Web.Mvc; +using Umbraco.Core; +using Umbraco.Core.PropertyEditors; + +namespace Umbraco.Web.PropertyEditors +{ + [PropertyEditor("e66af4a0-e8b4-11de-8a39-0800200c9a66", "User picker", "INT", "userpicker")] + public class UserPickerPropertyEditor : PropertyEditor + { + + } +} \ No newline at end of file diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj index d7f63c51f7..ba0bed7282 100644 --- a/src/Umbraco.Web/Umbraco.Web.csproj +++ b/src/Umbraco.Web/Umbraco.Web.csproj @@ -336,6 +336,7 @@ +