diff --git a/src/Umbraco.Web.UI.Client/src/common/resources/models.resource.js b/src/Umbraco.Web.UI.Client/src/common/resources/models.resource.js
deleted file mode 100644
index c8ec9e8eed..0000000000
--- a/src/Umbraco.Web.UI.Client/src/common/resources/models.resource.js
+++ /dev/null
@@ -1,26 +0,0 @@
-function modelsResource($q, $http, umbRequestHelper) {
-
- // TODO - should use BackOfficeController to register urls? How can we extend it?
- // TODO - this shouldn't exist in core!!
-
- return {
- getModelsOutOfDateStatus: function() {
- return umbRequestHelper.resourcePromise(
- $http.get(
- /*umbRequestHelper.getApiUrl(
- "modelsApiBaseUrl",
- "GetModelsOutOfDateStatus")*/ "/Umbraco/BackOffice/ModelsBuilder/ModelsBuilder/GetModelsOutOfDateStatus"),
- "Failed to get models out-of-date status");
- },
-
- buildModels: function() {
- return umbRequestHelper.resourcePromise(
- $http.get(
- /*umbRequestHelper.getApiUrl(
- "modelsApiBaseUrl",
- "BuildModels")*/ "/Umbraco/BackOffice/ModelsBuilder/ModelsBuilder/BuildModels"),
- "Failed to build models");
- }
- };
-}
-angular.module("umbraco.resources").factory("modelsResource", modelsResource);
diff --git a/src/Umbraco.Web.UI.Client/src/views/documenttypes/edit.controller.js b/src/Umbraco.Web.UI.Client/src/views/documenttypes/edit.controller.js
index 5b03381dec..cd0dc96c11 100644
--- a/src/Umbraco.Web.UI.Client/src/views/documenttypes/edit.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/documenttypes/edit.controller.js
@@ -9,7 +9,7 @@
(function () {
"use strict";
- function DocumentTypesEditController($scope, $routeParams, modelsResource, contentTypeResource, dataTypeResource, editorState, contentEditingHelper, formHelper, navigationService, iconHelper, contentTypeHelper, notificationsService, $filter, $q, localizationService, overlayHelper) {
+ function DocumentTypesEditController($scope, $routeParams, $injector, contentTypeResource, dataTypeResource, editorState, contentEditingHelper, formHelper, navigationService, iconHelper, contentTypeHelper, notificationsService, $filter, $q, localizationService, overlayHelper) {
var vm = this;
var localizeSaving = localizationService.localize("general_saving");
@@ -46,48 +46,58 @@
}
];
+ var modelsResource = $injector.has("modelsBuilderResource") ? $injector.get("modelsBuilderResource") : null;
+ var modelsBuilderEnabled = Umbraco.Sys.ServerVariables.umbracoPlugins.modelsBuilder.enabled;
//disable by default, turn on if detected correctly.
- vm.page.modelsBuilder = false;
- modelsResource.getModelsOutOfDateStatus().then(function () {
- vm.page.modelsBuilder = true;
- });
+ vm.page.modelsBuilder = false;
+ if (modelsBuilderEnabled && modelsResource) {
+ modelsResource.getModelsOutOfDateStatus().then(function (result) {
- //Models builder mode:
+ if (result.status === 100) {
+ return;
+ }
- vm.page.defaultButton = {
- hotKey: "ctrl+s",
- labelKey: "buttons_save",
- letter: "S",
- type: "submit",
- handler: function () { vm.save(); }
- };
- vm.page.subButtons = [{
- hotKey: "ctrl+g",
- labelKey: "buttons_generateModels",
- letter: "G",
- handler: function(){
+ vm.page.modelsBuilder = true;
- vm.page.saveButtonState = "busy";
- notificationsService.info("Building models", "this can take abit of time, don't worry");
+ //Models builder mode:
- modelsResource.buildModels().then(function () {
- vm.page.saveButtonState = "init";
+ vm.page.defaultButton = {
+ hotKey: "ctrl+s",
+ labelKey: "buttons_save",
+ letter: "S",
+ type: "submit",
+ handler: function () { vm.save(); }
+ };
+ vm.page.subButtons = [{
+ hotKey: "ctrl+g",
+ labelKey: "buttons_generateModels",
+ letter: "G",
+ handler: function () {
- //clear and add success
- notificationsService.success("Models Generated");
+ vm.page.saveButtonState = "busy";
+ notificationsService.info("Building models", "this can take abit of time, don't worry");
- //just calling this to get the servar back to life
- modelsResource.getModelsOutOfDateStatus();
+ if (modelsBuilderEnabled && modelsResource) {
+ modelsResource.buildModels().then(function () {
+ vm.page.saveButtonState = "init";
- }, function () {
- notificationsService.error("Models could not be generated");
- vm.page.saveButtonState = "error";
- });
- }
- }];
+ //clear and add success
+ notificationsService.success("Models Generated");
+ //just calling this to get the servar back to life
+ modelsResource.getModelsOutOfDateStatus();
+ }, function () {
+ notificationsService.error("Models could not be generated");
+ vm.page.saveButtonState = "error";
+ });
+ }
+ }
+ }];
+
+ });
+ }
vm.page.keyboardShortcutsOverview = [
{
diff --git a/src/Umbraco.Web.UI/App_Plugins/ModelsBuilder/modelsbuilder.controller.js b/src/Umbraco.Web.UI/App_Plugins/ModelsBuilder/modelsbuilder.controller.js
index 28dcf72010..7d75e25b44 100644
--- a/src/Umbraco.Web.UI/App_Plugins/ModelsBuilder/modelsbuilder.controller.js
+++ b/src/Umbraco.Web.UI/App_Plugins/ModelsBuilder/modelsbuilder.controller.js
@@ -1,9 +1,9 @@
-function modelsBuilderController($scope, umbRequestHelper, $log, $http /*, $sce*/) {
+function modelsBuilderController($scope, umbRequestHelper, $log, $http, modelsBuilderResource) {
$scope.generate = function() {
$scope.generating = true;
umbRequestHelper.resourcePromise(
- $http.get(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "BuildModels")),
+ $http.post(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "BuildModels")),
'Failed to generate.')
.then(function (result) {
$scope.generating = false;
@@ -11,14 +11,10 @@
};
function init() {
- umbRequestHelper.resourcePromise(
- $http.get(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "GetDashboard")),
- 'Failed to get dashboard.')
- .then(function (result) {
- //result.text = $sce.trustAsHtml(result.text); // accept html
- $scope.dashboard = result;
- $scope.ready = true;
- });
+ modelsBuilderResource.getDashboard().then(function(result) {
+ $scope.dashboard = result;
+ $scope.ready = true;
+ });
}
init();
diff --git a/src/Umbraco.Web.UI/App_Plugins/ModelsBuilder/package.manifest b/src/Umbraco.Web.UI/App_Plugins/ModelsBuilder/package.manifest
index 63bae80c75..d83523517a 100644
--- a/src/Umbraco.Web.UI/App_Plugins/ModelsBuilder/package.manifest
+++ b/src/Umbraco.Web.UI/App_Plugins/ModelsBuilder/package.manifest
@@ -1,6 +1,7 @@
{
//array of files we want to inject into the application on app_start
javascript: [
- '~/App_Plugins/ModelsBuilder/modelsbuilder.controller.js'
+ '~/App_Plugins/ModelsBuilder/modelsbuilder.controller.js',
+ '~/App_Plugins/ModelsBuilder/modelsbuilder.resource.js'
]
}
\ No newline at end of file
diff --git a/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj b/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
index c1a73c889b..7770c0844b 100644
--- a/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
+++ b/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
@@ -350,12 +350,12 @@
umbraco.providers
-
- ..\packages\Umbraco.ModelsBuilder.2.2.0-beta003\lib\Umbraco.ModelsBuilder.dll
+
+ ..\packages\Umbraco.ModelsBuilder.3.0.0-beta0001\lib\Umbraco.ModelsBuilder.dll
True
-
- ..\packages\Umbraco.ModelsBuilder.AspNet.2.2.0-beta003\lib\Umbraco.ModelsBuilder.AspNet.dll
+
+ ..\packages\Umbraco.ModelsBuilder.AspNet.3.0.0-beta0001\lib\Umbraco.ModelsBuilder.AspNet.dll
True
@@ -582,8 +582,6 @@
treeInit.aspx
-
-
@@ -642,7 +640,6 @@
-
404handlers.config
@@ -2390,6 +2387,7 @@
+
diff --git a/src/Umbraco.Web.UI/packages.config b/src/Umbraco.Web.UI/packages.config
index 7dd41d153c..b13d2fdb5e 100644
--- a/src/Umbraco.Web.UI/packages.config
+++ b/src/Umbraco.Web.UI/packages.config
@@ -37,7 +37,7 @@
-
-
+
+
\ No newline at end of file
diff --git a/src/Umbraco.Web/Editors/BackOfficeController.cs b/src/Umbraco.Web/Editors/BackOfficeController.cs
index 4ffe57a924..0a618fac1c 100644
--- a/src/Umbraco.Web/Editors/BackOfficeController.cs
+++ b/src/Umbraco.Web/Editors/BackOfficeController.cs
@@ -26,6 +26,7 @@ using Umbraco.Core.Manifest;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Identity;
using Umbraco.Core.Security;
+using Umbraco.ModelsBuilder.Configuration;
using Umbraco.Web.Models.ContentEditing;
using Umbraco.Web.Mvc;
using Umbraco.Web.PropertyEditors;
@@ -362,7 +363,8 @@ namespace Umbraco.Web.Editors
{
"umbracoPlugins", new Dictionary
{
- {"trees", GetTreePluginsMetaData()}
+ {"trees", GetTreePluginsMetaData()},
+ {"modelsBuilder", GetModelsBuilderSettings() }
}
},
{
@@ -403,7 +405,7 @@ namespace Umbraco.Web.Editors
return JavaScript(result);
}
-
+
[HttpPost]
public ActionResult ExternalLogin(string provider, string redirectUrl = null)
{
@@ -644,6 +646,20 @@ namespace Umbraco.Web.Editors
return app;
}
+
+ private Dictionary GetModelsBuilderSettings()
+ {
+ if (ApplicationContext.IsConfigured == false)
+ return null;
+
+ var settings = new Dictionary
+ {
+ {"enabled", UmbracoConfig.For.ModelsBuilder().Enable}
+ };
+
+ return settings;
+ }
+
private IEnumerable> GetTreePluginsMetaData()
{
var treeTypes = PluginManager.Current.ResolveAttributedTreeControllers();
diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj
index fba27991a8..cde08a8a6c 100644
--- a/src/Umbraco.Web/Umbraco.Web.csproj
+++ b/src/Umbraco.Web/Umbraco.Web.csproj
@@ -140,6 +140,14 @@
False
..\packages\Microsoft.AspNet.Identity.Owin.2.2.1\lib\net45\Microsoft.AspNet.Identity.Owin.dll
+
+ ..\packages\Microsoft.CodeAnalysis.Common.1.0.0\lib\net45\Microsoft.CodeAnalysis.dll
+ True
+
+
+ ..\packages\Microsoft.CodeAnalysis.CSharp.1.0.0\lib\net45\Microsoft.CodeAnalysis.CSharp.dll
+ True
+
False
@@ -184,6 +192,10 @@
System
+
+ ..\packages\System.Collections.Immutable.1.1.36\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll
+ True
+
@@ -201,6 +213,10 @@
False
..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll
+
+ ..\packages\System.Reflection.Metadata.1.0.21\lib\portable-net45+win8\System.Reflection.Metadata.dll
+ True
+
@@ -286,6 +302,10 @@
{D7636876-0756-43CB-A192-138C6F0D5E42}
umbraco.providers
+
+ ..\packages\Umbraco.ModelsBuilder.3.0.0-beta0001\lib\Umbraco.ModelsBuilder.dll
+ True
+
..\packages\UrlRewritingNet.UrlRewriter.2.0.7\lib\UrlRewritingNet.UrlRewriter.dll
True
@@ -2157,7 +2177,10 @@
umbraco_org_umbraco_update_CheckForUpgrade
-
+
+
+
+
11.0
$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v11.0
diff --git a/src/Umbraco.Web/packages.config b/src/Umbraco.Web/packages.config
index 75747af5ee..15b9d1193e 100644
--- a/src/Umbraco.Web/packages.config
+++ b/src/Umbraco.Web/packages.config
@@ -15,6 +15,9 @@
+
+
+
@@ -26,6 +29,9 @@
+
+
+
\ No newline at end of file