diff --git a/src/Umbraco.Core/Constants-PropertyEditors.cs b/src/Umbraco.Core/Constants-PropertyEditors.cs
index 2712fffdfa..832c87bbb4 100644
--- a/src/Umbraco.Core/Constants-PropertyEditors.cs
+++ b/src/Umbraco.Core/Constants-PropertyEditors.cs
@@ -204,11 +204,9 @@ namespace Umbraco.Core
///
public const string MediaPicker2Alias = "Umbraco.MediaPicker2";
- [Obsolete("This is an obsoleted picker, use MultipleMediaPicker2Alias instead")]
+ [Obsolete("This is an obsoleted picker, use MemberPicker2Alias instead")]
public const string MultipleMediaPickerAlias = "Umbraco.MultipleMediaPicker";
- public const string MultipleMediaPicker2Alias = "Umbraco.MultipleMediaPicker2";
-
///
/// Guid for the Member Picker datatype.
///
diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.controller.js
index 6945d995cd..dafe6cc3c7 100644
--- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.controller.js
@@ -40,7 +40,13 @@ angular.module('umbraco').controller("Umbraco.PropertyEditors.MediaPickerControl
}
$scope.images.push(media);
- $scope.ids.push(media.id);
+
+ if ($scope.model.config.idType === "udi") {
+ $scope.ids.push(media.udi);
+ }
+ else {
+ $scope.ids.push(media.id);
+ }
}
});
@@ -81,9 +87,12 @@ angular.module('umbraco').controller("Umbraco.PropertyEditors.MediaPickerControl
$scope.images.push(media);
- //TODO: Determine if we are storing UDI vs INT
-
- $scope.ids.push(media.id);
+ if ($scope.model.config.idType === "udi") {
+ $scope.ids.push(media.udi);
+ }
+ else {
+ $scope.ids.push(media.id);
+ }
});
$scope.sync();
diff --git a/src/Umbraco.Web/Models/ContentEditing/EntityBasic.cs b/src/Umbraco.Web/Models/ContentEditing/EntityBasic.cs
index b17b876e76..9f6e5b28da 100644
--- a/src/Umbraco.Web/Models/ContentEditing/EntityBasic.cs
+++ b/src/Umbraco.Web/Models/ContentEditing/EntityBasic.cs
@@ -6,8 +6,10 @@ using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
+using Newtonsoft.Json;
using Umbraco.Core;
using Umbraco.Core.Models.Validation;
+using Umbraco.Core.Serialization;
namespace Umbraco.Web.Models.ContentEditing
{
@@ -29,6 +31,7 @@ namespace Umbraco.Web.Models.ContentEditing
[DataMember(Name = "udi")]
[ReadOnly(true)]
+ [JsonConverter(typeof(UdiJsonConverter))]
public Udi Udi { get; set; }
[DataMember(Name = "icon")]
diff --git a/src/Umbraco.Web/PropertyEditors/MediaPickerPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/MediaPickerPropertyEditor.cs
index f776d74829..169d0d4639 100644
--- a/src/Umbraco.Web/PropertyEditors/MediaPickerPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/MediaPickerPropertyEditor.cs
@@ -16,6 +16,26 @@ namespace Umbraco.Web.PropertyEditors
[PropertyEditor(Constants.PropertyEditors.MediaPickerAlias, "(Obsolete) Media Picker", PropertyEditorValueTypes.Integer, "mediapicker", Group = "media", Icon = "icon-picture", IsDeprecated = true)]
public class MediaPickerPropertyEditor : MediaPickerPropertyEditor2
{
+ public MediaPickerPropertyEditor()
+ {
+ InternalPreValues = new Dictionary
+ {
+ {"multiPicker", "0"},
+ {"onlyImages", "0"},
+ {"idType", "id"}
+ };
+ }
+
+ protected override PreValueEditor CreatePreValueEditor()
+ {
+ return new SingleMediaPickerPreValueEditor();
+ }
+
+ internal class SingleMediaPickerPreValueEditor : PreValueEditor
+ {
+ [PreValueField("startNodeId", "Start node", "mediapicker")]
+ public int StartNodeId { get; set; }
+ }
}
///
@@ -28,38 +48,36 @@ namespace Umbraco.Web.PropertyEditors
{
InternalPreValues = new Dictionary
{
- {"multiPicker", "0"},
- {"onlyImages", "0"}
+ {"idType", "udi"}
};
}
protected IDictionary InternalPreValues;
-
- protected override PropertyValueEditor CreateValueEditor()
- {
- return new SingleMediaPickerValueEditor();
- }
-
+
public override IDictionary DefaultPreValues
{
get { return InternalPreValues; }
set { InternalPreValues = value; }
}
- protected override PreValueEditor CreatePreValueEditor()
- {
- return new SingleMediaPickerPreValueEditor();
- }
+ protected override PreValueEditor CreatePreValueEditor()
+ {
+ return new MediaPickerPreValueEditor();
+ }
+
+ internal class MediaPickerPreValueEditor : PreValueEditor
+ {
+ [PreValueField("multiPicker", "Pick multiple items", "boolean")]
+ public bool MultiPicker { get; set; }
+
+ [PreValueField("onlyImages", "Pick only images", "boolean", Description = "Only let the editor choose images from media.")]
+ public bool OnlyImages { get; set; }
- internal class SingleMediaPickerValueEditor : PropertyValueEditor
- {
- override
- }
-
- internal class SingleMediaPickerPreValueEditor : PreValueEditor
- {
+ [PreValueField("disableFolderSelect", "Disable folder select", "boolean", Description = "Do not allow folders to be picked.")]
+ public bool DisableFolderSelect { get; set; }
+
[PreValueField("startNodeId", "Start node", "mediapicker")]
- public int StartNodeId { get; set; }
+ public int StartNodeId { get; set; }
}
}
}
diff --git a/src/Umbraco.Web/PropertyEditors/MultipleMediaPickerPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/MultipleMediaPickerPropertyEditor.cs
index cd002a103b..716e71711f 100644
--- a/src/Umbraco.Web/PropertyEditors/MultipleMediaPickerPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/MultipleMediaPickerPropertyEditor.cs
@@ -7,37 +7,11 @@ namespace Umbraco.Web.PropertyEditors
[Obsolete("This editor is obsolete, use MultipleMediaPickerPropertyEditor2 instead which stores UDI")]
[PropertyEditor(Constants.PropertyEditors.MultipleMediaPickerAlias, "(Obsolete) Media Picker", "mediapicker", Group = "media", Icon = "icon-pictures-alt-2", IsDeprecated = true)]
public class MultipleMediaPickerPropertyEditor : MediaPickerPropertyEditor
- {
-
- }
-
- [PropertyEditor(Constants.PropertyEditors.MultipleMediaPicker2Alias, "Media Picker", PropertyEditorValueTypes.Text, "mediapicker", Group = "media", Icon = "icon-pictures-alt-2", IsDeprecated = true)]
- public class MultipleMediaPickerPropertyEditor2 : MediaPickerPropertyEditor2
- {
- public MultipleMediaPickerPropertyEditor2()
+ {
+ public MultipleMediaPickerPropertyEditor()
{
//clear the pre-values so it defaults to a multiple picker.
InternalPreValues.Clear();
}
-
- protected override PreValueEditor CreatePreValueEditor()
- {
- return new MediaPickerPreValueEditor();
- }
-
- internal class MediaPickerPreValueEditor : PreValueEditor
- {
- [PreValueField("multiPicker", "Pick multiple items", "boolean")]
- public bool MultiPicker { get; set; }
-
- [PreValueField("onlyImages", "Pick only images", "boolean", Description = "Only let the editor choose images from media.")]
- public bool OnlyImages { get; set; }
-
- [PreValueField("disableFolderSelect", "Disable folder select", "boolean", Description = "Do not allow folders to be picked.")]
- public bool DisableFolderSelect { get; set; }
-
- [PreValueField("startNodeId", "Start node", "mediapicker")]
- public int StartNodeId { get; set; }
- }
- }
+ }
}
\ No newline at end of file