diff --git a/src/Umbraco.Web.UI.Client/src/views/datatypes/datatype.edit.controller.js b/src/Umbraco.Web.UI.Client/src/views/datatypes/datatype.edit.controller.js
index d8f8557fa5..02d5a62432 100644
--- a/src/Umbraco.Web.UI.Client/src/views/datatypes/datatype.edit.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/datatypes/datatype.edit.controller.js
@@ -178,8 +178,6 @@ function DataTypeEditController($scope, $routeParams, $location, appState, navig
//share state
editorState.set($scope.content);
-
- dataTypeHelper.rebindChangedProperties($scope.content, data);
});
}
diff --git a/src/Umbraco.Web/Editors/BackOfficeNotificationsController.cs b/src/Umbraco.Web/Editors/BackOfficeNotificationsController.cs
index f4350bc596..0910ec936e 100644
--- a/src/Umbraco.Web/Editors/BackOfficeNotificationsController.cs
+++ b/src/Umbraco.Web/Editors/BackOfficeNotificationsController.cs
@@ -1,3 +1,4 @@
+using Umbraco.Web.WebApi;
using Umbraco.Web.WebApi.Filters;
namespace Umbraco.Web.Editors
@@ -8,6 +9,7 @@ namespace Umbraco.Web.Editors
/// currently in the request.
///
[AppendCurrentEventMessages]
+ [PrefixlessBodyModelValidator]
public abstract class BackOfficeNotificationsController : UmbracoAuthorizedJsonController
{
protected BackOfficeNotificationsController()
diff --git a/src/Umbraco.Web/Editors/ContentTypeController.cs b/src/Umbraco.Web/Editors/ContentTypeController.cs
index 45a2821130..d6e6cbccf4 100644
--- a/src/Umbraco.Web/Editors/ContentTypeController.cs
+++ b/src/Umbraco.Web/Editors/ContentTypeController.cs
@@ -106,16 +106,7 @@ namespace Umbraco.Web.Editors
/// Returns the avilable compositions for this content type
/// This has been wrapped in a dto instead of simple parameters to support having multiple parameters in post request body
///
- ///
- ///
- /// This is normally an empty list but if additional content type aliases are passed in, any content types containing those aliases will be filtered out
- /// along with any content types that have matching property types that are included in the filtered content types
- ///
- ///
- /// This is normally an empty list but if additional property type aliases are passed in, any content types that have these aliases will be filtered out.
- /// This is required because in the case of creating/modifying a content type because new property types being added to it are not yet persisted so cannot
- /// be looked up via the db, they need to be passed in.
- ///
+ ///
///
[HttpPost]
public HttpResponseMessage GetAvailableCompositeContentTypes(GetAvailableCompositionsFilter filter)
diff --git a/src/Umbraco.Web/Editors/DataTypeController.cs b/src/Umbraco.Web/Editors/DataTypeController.cs
index 931d00968b..b3e306a48c 100644
--- a/src/Umbraco.Web/Editors/DataTypeController.cs
+++ b/src/Umbraco.Web/Editors/DataTypeController.cs
@@ -33,7 +33,7 @@ namespace Umbraco.Web.Editors
[PluginController("UmbracoApi")]
[UmbracoTreeAuthorize(Constants.Trees.DataTypes, Constants.Trees.DocumentTypes, Constants.Trees.MediaTypes, Constants.Trees.MemberTypes)]
[EnableOverrideAuthorization]
- public class DataTypeController : UmbracoAuthorizedJsonController
+ public class DataTypeController : BackOfficeNotificationsController
{
///
/// Gets data type by name
diff --git a/src/Umbraco.Web/Editors/TemplateController.cs b/src/Umbraco.Web/Editors/TemplateController.cs
index eec76ca34e..fb93a8f34e 100644
--- a/src/Umbraco.Web/Editors/TemplateController.cs
+++ b/src/Umbraco.Web/Editors/TemplateController.cs
@@ -15,7 +15,7 @@ namespace Umbraco.Web.Editors
{
[PluginController("UmbracoApi")]
[UmbracoTreeAuthorize(Constants.Trees.Templates)]
- public class TemplateController : UmbracoAuthorizedJsonController
+ public class TemplateController : BackOfficeNotificationsController
{
///
/// Gets data type by alias
diff --git a/src/Umbraco.Web/Models/ContentEditing/GetAvailableCompositionsFilter.cs b/src/Umbraco.Web/Models/ContentEditing/GetAvailableCompositionsFilter.cs
index d9bc169c8f..61d61f2108 100644
--- a/src/Umbraco.Web/Models/ContentEditing/GetAvailableCompositionsFilter.cs
+++ b/src/Umbraco.Web/Models/ContentEditing/GetAvailableCompositionsFilter.cs
@@ -3,7 +3,18 @@ namespace Umbraco.Web.Models.ContentEditing
public class GetAvailableCompositionsFilter
{
public int ContentTypeId { get; set; }
+
+ ///
+ /// This is normally an empty list but if additional property type aliases are passed in, any content types that have these aliases will be filtered out.
+ /// This is required because in the case of creating/modifying a content type because new property types being added to it are not yet persisted so cannot
+ /// be looked up via the db, they need to be passed in.
+ ///
public string[] FilterPropertyTypes { get; set; }
+
+ ///
+ /// This is normally an empty list but if additional content type aliases are passed in, any content types containing those aliases will be filtered out
+ /// along with any content types that have matching property types that are included in the filtered content types
+ ///
public string[] FilterContentTypes { get; set; }
}
}
\ No newline at end of file
diff --git a/src/Umbraco.Web/Models/ContentEditing/TemplateDisplay.cs b/src/Umbraco.Web/Models/ContentEditing/TemplateDisplay.cs
index dacccb8ceb..bbe1e63573 100644
--- a/src/Umbraco.Web/Models/ContentEditing/TemplateDisplay.cs
+++ b/src/Umbraco.Web/Models/ContentEditing/TemplateDisplay.cs
@@ -8,7 +8,7 @@ using System.Threading.Tasks;
namespace Umbraco.Web.Models.ContentEditing
{
[DataContract(Name = "template", Namespace = "")]
- public class TemplateDisplay
+ public class TemplateDisplay : INotificationModel
{
[DataMember(Name = "id")]
public int Id { get; set; }
@@ -30,5 +30,11 @@ namespace Umbraco.Web.Models.ContentEditing
[DataMember(Name = "masterTemplateAlias")]
public string MasterTemplateAlias { get; set; }
+
+ ///
+ /// This is used to add custom localized messages/strings to the response for the app to use for localized UI purposes.
+ ///
+ [DataMember(Name = "notifications")]
+ public List Notifications { get; private set; }
}
}
diff --git a/src/Umbraco.Web/WebApi/JsonCamelCaseFormatter.cs b/src/Umbraco.Web/WebApi/JsonCamelCaseFormatter.cs
index b54d6102c0..de1383706e 100644
--- a/src/Umbraco.Web/WebApi/JsonCamelCaseFormatter.cs
+++ b/src/Umbraco.Web/WebApi/JsonCamelCaseFormatter.cs
@@ -8,7 +8,7 @@ using Newtonsoft.Json.Serialization;
namespace Umbraco.Web.WebApi
{
///
- /// Applying this attribute to any webapi controller will ensure that it only contains one json formatter compatible with the angular json vulnerability prevention.
+ /// Applying this attribute to any webapi controller will ensure that it only contains one json formatter with a camelCase formatter
///
public class JsonCamelCaseFormatter : Attribute, IControllerConfiguration
{
diff --git a/src/Umbraco.Web/WebApi/PrefixlessBodyModelValidatorAttribute.cs b/src/Umbraco.Web/WebApi/PrefixlessBodyModelValidatorAttribute.cs
index e018881f8a..2593acfbe0 100644
--- a/src/Umbraco.Web/WebApi/PrefixlessBodyModelValidatorAttribute.cs
+++ b/src/Umbraco.Web/WebApi/PrefixlessBodyModelValidatorAttribute.cs
@@ -6,7 +6,7 @@ using System.Web.Http.Validation;
namespace Umbraco.Web.WebApi
{
///
- /// Applying this attribute to any webapi controller will ensure that it only contains one json formatter compatible with the angular json vulnerability prevention.
+ /// Applying this attribute to any webapi controller will ensure that the is of type
///
internal class PrefixlessBodyModelValidatorAttribute : Attribute, IControllerConfiguration
{