From 0cc5a010694f39261243c6a5afd284bc0165eb91 Mon Sep 17 00:00:00 2001
From: elitsa
Date: Fri, 5 Oct 2018 11:09:33 +0200
Subject: [PATCH 01/10] packages section is there with translations sections
and correct trees
---
src/Umbraco.Core/Constants-Applications.cs | 4 +--
.../Migrations/Install/DatabaseDataCreator.cs | 2 +-
src/Umbraco.Tests/UI/LegacyDialogTests.cs | 4 +--
.../Umbraco/config/lang/en_us.xml | 9 +----
.../developer/Macros/EditMacro.aspx.cs | 2 +-
.../Packages/DirectoryBrowser.aspx.cs | 2 +-
src/Umbraco.Web.UI/config/Dashboard.config | 7 +---
src/Umbraco.Web.UI/config/applications.config | 4 +--
src/Umbraco.Web.UI/config/trees.config | 34 ++++++++-----------
src/Umbraco.Web/Editors/DataTypeController.cs | 8 ++---
.../Editors/PackageInstallController.cs | 2 +-
.../Models/Trees/ApplicationDefinitions.cs | 4 +--
.../Trees/ContentTreeController.cs | 2 +-
.../Trees/DictionaryTreeController.cs | 5 +--
src/Umbraco.Web/Trees/MacrosTreeController.cs | 2 +-
src/Umbraco.Web/Trees/MediaTreeController.cs | 2 +-
.../Trees/PackagesTreeController.cs | 7 ++--
.../Trees/PartialViewMacrosTreeController.cs | 2 +-
.../Trees/RelationTypeTreeController.cs | 2 +-
.../umbraco/create/CreatedPackageTasks.cs | 2 +-
.../umbraco/create/macroTasks.cs | 2 +-
.../developer/Packages/editPackage.aspx.cs | 2 +-
.../developer/Packages/installer.aspx.cs | 2 +-
23 files changed, 49 insertions(+), 63 deletions(-)
diff --git a/src/Umbraco.Core/Constants-Applications.cs b/src/Umbraco.Core/Constants-Applications.cs
index 9a1883a065..ac42274a71 100644
--- a/src/Umbraco.Core/Constants-Applications.cs
+++ b/src/Umbraco.Core/Constants-Applications.cs
@@ -13,9 +13,9 @@
public const string Content = "content";
///
- /// Application alias for the developer section.
+ /// Application alias for the packages section.
///
- public const string Developer = "developer";
+ public const string Packages = "packages";
///
/// Application alias for the media section.
diff --git a/src/Umbraco.Core/Migrations/Install/DatabaseDataCreator.cs b/src/Umbraco.Core/Migrations/Install/DatabaseDataCreator.cs
index 8d8991c396..4f929ae718 100644
--- a/src/Umbraco.Core/Migrations/Install/DatabaseDataCreator.cs
+++ b/src/Umbraco.Core/Migrations/Install/DatabaseDataCreator.cs
@@ -186,7 +186,7 @@ namespace Umbraco.Core.Migrations.Install
private void CreateUserGroup2AppData()
{
_database.Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Content });
- _database.Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Developer });
+ _database.Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Packages });
_database.Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Media });
_database.Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Members });
_database.Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Settings });
diff --git a/src/Umbraco.Tests/UI/LegacyDialogTests.cs b/src/Umbraco.Tests/UI/LegacyDialogTests.cs
index ffbca1e0e8..ba7c4f0e66 100644
--- a/src/Umbraco.Tests/UI/LegacyDialogTests.cs
+++ b/src/Umbraco.Tests/UI/LegacyDialogTests.cs
@@ -25,8 +25,8 @@ namespace Umbraco.Tests.UI
[TestCase(typeof(MemberGroupTasks), Constants.Applications.Members)]
[TestCase(typeof(dictionaryTasks), Constants.Applications.Settings)]
- [TestCase(typeof(macroTasks), Constants.Applications.Developer)]
- [TestCase(typeof(CreatedPackageTasks), Constants.Applications.Developer)]
+ [TestCase(typeof(macroTasks), Constants.Applications.Packages)]
+ [TestCase(typeof(CreatedPackageTasks), Constants.Applications.Packages)]
public void Check_Assigned_Apps_For_Tasks(Type taskType, string app)
{
var task = (LegacyDialogTask)Activator.CreateInstance(taskType);
diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml
index 835bf6b884..7239880956 100644
--- a/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml
+++ b/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml
@@ -1326,21 +1326,14 @@ To manage your website, simply open the Umbraco back office and start adding con
Edit script file
- Concierge
Content
- Courier
- Developer
- Umbraco Configuration Wizard
+ Packages
Media
Members
- Newsletters
Settings
- Statistics
Translation
Users
- Help
Forms
- Analytics
go to
diff --git a/src/Umbraco.Web.UI/Umbraco/developer/Macros/EditMacro.aspx.cs b/src/Umbraco.Web.UI/Umbraco/developer/Macros/EditMacro.aspx.cs
index 1379e1003b..b9c0577c95 100644
--- a/src/Umbraco.Web.UI/Umbraco/developer/Macros/EditMacro.aspx.cs
+++ b/src/Umbraco.Web.UI/Umbraco/developer/Macros/EditMacro.aspx.cs
@@ -24,7 +24,7 @@ namespace Umbraco.Web.UI.Umbraco.Developer.Macros
{
public EditMacro()
{
- CurrentApp = Constants.Applications.Developer.ToString();
+ CurrentApp = Constants.Applications.Packages.ToString();
}
protected PlaceHolder Buttons;
diff --git a/src/Umbraco.Web.UI/Umbraco/developer/Packages/DirectoryBrowser.aspx.cs b/src/Umbraco.Web.UI/Umbraco/developer/Packages/DirectoryBrowser.aspx.cs
index ed5b62c4dc..3e2edd1471 100644
--- a/src/Umbraco.Web.UI/Umbraco/developer/Packages/DirectoryBrowser.aspx.cs
+++ b/src/Umbraco.Web.UI/Umbraco/developer/Packages/DirectoryBrowser.aspx.cs
@@ -15,7 +15,7 @@ namespace Umbraco.Web.UI.Umbraco.Developer.Packages
{
public DirectoryBrowser()
{
- CurrentApp = Constants.Applications.Developer;
+ CurrentApp = Constants.Applications.Packages;
}
string _lsScriptName;
diff --git a/src/Umbraco.Web.UI/config/Dashboard.config b/src/Umbraco.Web.UI/config/Dashboard.config
index c1a1d8815a..fab6fa6ea3 100644
--- a/src/Umbraco.Web.UI/config/Dashboard.config
+++ b/src/Umbraco.Web.UI/config/Dashboard.config
@@ -29,12 +29,7 @@
views/dashboard/forms/formsdashboardintro.html
-
-
+
media
diff --git a/src/Umbraco.Web.UI/config/applications.config b/src/Umbraco.Web.UI/config/applications.config
index 7f88f58801..268d94a255 100644
--- a/src/Umbraco.Web.UI/config/applications.config
+++ b/src/Umbraco.Web.UI/config/applications.config
@@ -3,9 +3,9 @@
-
+
-
\ No newline at end of file
+
diff --git a/src/Umbraco.Web.UI/config/trees.config b/src/Umbraco.Web.UI/config/trees.config
index c445e92807..cf546ed6f5 100644
--- a/src/Umbraco.Web.UI/config/trees.config
+++ b/src/Umbraco.Web.UI/config/trees.config
@@ -8,33 +8,29 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
-
-
+
-
-
-
+
-
diff --git a/src/Umbraco.Web/Editors/DataTypeController.cs b/src/Umbraco.Web/Editors/DataTypeController.cs
index 78775de2cc..e11ea7cbef 100644
--- a/src/Umbraco.Web/Editors/DataTypeController.cs
+++ b/src/Umbraco.Web/Editors/DataTypeController.cs
@@ -290,7 +290,7 @@ namespace Umbraco.Web.Editors
///
[UmbracoApplicationAuthorize(
Constants.Applications.Content, Constants.Applications.Media, Constants.Applications.Members,
- Constants.Applications.Settings, Constants.Applications.Developer)]
+ Constants.Applications.Settings, Constants.Applications.Packages)]
public IEnumerable GetAll()
{
return Services.DataTypeService
@@ -307,7 +307,7 @@ namespace Umbraco.Web.Editors
///
[UmbracoTreeAuthorize(
Constants.Applications.Content, Constants.Applications.Media, Constants.Applications.Members,
- Constants.Applications.Settings, Constants.Applications.Developer)]
+ Constants.Applications.Settings, Constants.Applications.Packages)]
public IDictionary> GetGroupedDataTypes()
{
var dataTypes = Services.DataTypeService
@@ -340,7 +340,7 @@ namespace Umbraco.Web.Editors
///
[UmbracoTreeAuthorize(
Constants.Applications.Content, Constants.Applications.Media, Constants.Applications.Members,
- Constants.Applications.Settings, Constants.Applications.Developer)]
+ Constants.Applications.Settings, Constants.Applications.Packages)]
public IDictionary> GetGroupedPropertyEditors()
{
var datatypes = new List();
@@ -373,7 +373,7 @@ namespace Umbraco.Web.Editors
///
[UmbracoTreeAuthorize(
Constants.Applications.Content, Constants.Applications.Media, Constants.Applications.Members,
- Constants.Applications.Settings, Constants.Applications.Developer)]
+ Constants.Applications.Settings, Constants.Applications.Packages)]
public IEnumerable GetAllPropertyEditors()
{
return Current.PropertyEditors
diff --git a/src/Umbraco.Web/Editors/PackageInstallController.cs b/src/Umbraco.Web/Editors/PackageInstallController.cs
index 1c3bddb115..6111a931e3 100644
--- a/src/Umbraco.Web/Editors/PackageInstallController.cs
+++ b/src/Umbraco.Web/Editors/PackageInstallController.cs
@@ -37,7 +37,7 @@ namespace Umbraco.Web.Editors
/// A controller used for installing packages and managing all of the data in the packages section in the back office
///
[PluginController("UmbracoApi")]
- [UmbracoApplicationAuthorize(Core.Constants.Applications.Developer)]
+ [UmbracoApplicationAuthorize(Core.Constants.Applications.Packages)]
public class PackageInstallController : UmbracoAuthorizedJsonController
{
///
diff --git a/src/Umbraco.Web/Models/Trees/ApplicationDefinitions.cs b/src/Umbraco.Web/Models/Trees/ApplicationDefinitions.cs
index 002b96bc64..67b542e840 100644
--- a/src/Umbraco.Web/Models/Trees/ApplicationDefinitions.cs
+++ b/src/Umbraco.Web/Models/Trees/ApplicationDefinitions.cs
@@ -19,8 +19,8 @@ namespace Umbraco.Web.Models.Trees
public class SettingsApplicationDefinition : IApplication
{ }
- [Application(Constants.Applications.Developer, "Developer", ".traydeveloper", sortOrder: 3)]
- public class DeveloperApplicationDefinition : IApplication
+ [Application(Constants.Applications.Packages, "Packages", ".traydeveloper", sortOrder: 3)]
+ public class PackagesApplicationDefinition : IApplication
{ }
[Application(Constants.Applications.Users, "Users", ".trayusers", sortOrder: 4)]
diff --git a/src/Umbraco.Web/Trees/ContentTreeController.cs b/src/Umbraco.Web/Trees/ContentTreeController.cs
index 13deec0aaa..e5b859b502 100644
--- a/src/Umbraco.Web/Trees/ContentTreeController.cs
+++ b/src/Umbraco.Web/Trees/ContentTreeController.cs
@@ -26,7 +26,7 @@ namespace Umbraco.Web.Trees
Constants.Applications.Media,
Constants.Applications.Users,
Constants.Applications.Settings,
- Constants.Applications.Developer,
+ Constants.Applications.Packages,
Constants.Applications.Members)]
[Tree(Constants.Applications.Content, Constants.Trees.Content)]
[PluginController("UmbracoTrees")]
diff --git a/src/Umbraco.Web/Trees/DictionaryTreeController.cs b/src/Umbraco.Web/Trees/DictionaryTreeController.cs
index c2491fefe0..dda14f5054 100644
--- a/src/Umbraco.Web/Trees/DictionaryTreeController.cs
+++ b/src/Umbraco.Web/Trees/DictionaryTreeController.cs
@@ -9,10 +9,11 @@ using Umbraco.Web.WebApi.Filters;
namespace Umbraco.Web.Trees
{
+
[UmbracoTreeAuthorize(Constants.Trees.Dictionary)]
[Mvc.PluginController("UmbracoTrees")]
[CoreTree]
- [Tree(Constants.Applications.Settings, Constants.Trees.Dictionary, null, sortOrder: 3)]
+ [Tree(Constants.Applications.Translation, Constants.Trees.Dictionary, null, sortOrder: 3)]
public class DictionaryTreeController : TreeController
{
protected override TreeNode CreateRootNode(FormDataCollection queryStrings)
@@ -21,7 +22,7 @@ namespace Umbraco.Web.Trees
// the default section is settings, falling back to this if we can't
// figure out where we are from the querystring parameters
- var section = Constants.Applications.Settings;
+ var section = Constants.Applications.Translation;
if (queryStrings["application"] != null)
section = queryStrings["application"];
diff --git a/src/Umbraco.Web/Trees/MacrosTreeController.cs b/src/Umbraco.Web/Trees/MacrosTreeController.cs
index 2968408bdb..e1d0e17acc 100644
--- a/src/Umbraco.Web/Trees/MacrosTreeController.cs
+++ b/src/Umbraco.Web/Trees/MacrosTreeController.cs
@@ -13,7 +13,7 @@ using Constants = Umbraco.Core.Constants;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.Macros)]
- [Tree(Constants.Applications.Developer, Constants.Trees.Macros, "Macros", sortOrder: 2)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.Macros, "Macros", sortOrder: 2)]
[PluginController("UmbracoTrees")]
[CoreTree]
public class MacrosTreeController : TreeController
diff --git a/src/Umbraco.Web/Trees/MediaTreeController.cs b/src/Umbraco.Web/Trees/MediaTreeController.cs
index 53f1b0a97e..8eb37e6224 100644
--- a/src/Umbraco.Web/Trees/MediaTreeController.cs
+++ b/src/Umbraco.Web/Trees/MediaTreeController.cs
@@ -24,7 +24,7 @@ namespace Umbraco.Web.Trees
Constants.Applications.Content,
Constants.Applications.Media,
Constants.Applications.Settings,
- Constants.Applications.Developer,
+ Constants.Applications.Packages,
Constants.Applications.Members)]
[Tree(Constants.Applications.Media, Constants.Trees.Media)]
[PluginController("UmbracoTrees")]
diff --git a/src/Umbraco.Web/Trees/PackagesTreeController.cs b/src/Umbraco.Web/Trees/PackagesTreeController.cs
index 235f249509..8e572139ca 100644
--- a/src/Umbraco.Web/Trees/PackagesTreeController.cs
+++ b/src/Umbraco.Web/Trees/PackagesTreeController.cs
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
using System.Linq;
using System.Net.Http.Formatting;
using Umbraco.Web.Models.Trees;
@@ -13,7 +14,7 @@ using Constants = Umbraco.Core.Constants;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.Packages)]
- [Tree(Constants.Applications.Developer, Constants.Trees.Packages, null, sortOrder: 0)]
+ [Tree(Constants.Applications.Packages, Constants.Trees.Packages, null, sortOrder: 0)]
[PluginController("UmbracoTrees")]
[CoreTree]
public class PackagesTreeController : TreeController
@@ -26,10 +27,10 @@ namespace Umbraco.Web.Trees
{
var root = base.CreateRootNode(queryStrings);
- root.RoutePath = string.Format("{0}/{1}/{2}", Constants.Applications.Developer, Constants.Trees.Packages, "overview");
+ root.RoutePath = $"{Constants.Applications.Packages}/{Constants.Trees.Packages}/{"overview"}";
root.Icon = "icon-box";
-
+
return root;
}
protected override TreeNodeCollection GetTreeNodes(string id, FormDataCollection queryStrings)
diff --git a/src/Umbraco.Web/Trees/PartialViewMacrosTreeController.cs b/src/Umbraco.Web/Trees/PartialViewMacrosTreeController.cs
index db97d5c3a4..43fe068334 100644
--- a/src/Umbraco.Web/Trees/PartialViewMacrosTreeController.cs
+++ b/src/Umbraco.Web/Trees/PartialViewMacrosTreeController.cs
@@ -10,7 +10,7 @@ namespace Umbraco.Web.Trees
///
/// Tree for displaying partial view macros in the developer app
///
- [Tree(Constants.Applications.Developer, Constants.Trees.PartialViewMacros, null, sortOrder: 6)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.PartialViewMacros, null, sortOrder: 6)]
[UmbracoTreeAuthorize(Constants.Trees.PartialViewMacros)]
[PluginController("UmbracoTrees")]
[CoreTree]
diff --git a/src/Umbraco.Web/Trees/RelationTypeTreeController.cs b/src/Umbraco.Web/Trees/RelationTypeTreeController.cs
index 14fd817a7c..0a70c446a0 100644
--- a/src/Umbraco.Web/Trees/RelationTypeTreeController.cs
+++ b/src/Umbraco.Web/Trees/RelationTypeTreeController.cs
@@ -12,7 +12,7 @@ using Umbraco.Core.Models.Entities;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.RelationTypes)]
- [Tree(Constants.Applications.Developer, Constants.Trees.RelationTypes, null, sortOrder: 4)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.RelationTypes, null, sortOrder: 4)]
[Mvc.PluginController("UmbracoTrees")]
[CoreTree]
public class RelationTypeTreeController : TreeController
diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/create/CreatedPackageTasks.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/create/CreatedPackageTasks.cs
index 3d0f768dae..64f2c94b0a 100644
--- a/src/Umbraco.Web/umbraco.presentation/umbraco/create/CreatedPackageTasks.cs
+++ b/src/Umbraco.Web/umbraco.presentation/umbraco/create/CreatedPackageTasks.cs
@@ -39,7 +39,7 @@ namespace Umbraco.Web
public override string AssignedApp
{
- get { return Constants.Applications.Developer.ToString(); }
+ get { return Constants.Applications.Packages.ToString(); }
}
}
}
diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/create/macroTasks.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/create/macroTasks.cs
index f71cd4e792..ad7ce68c32 100644
--- a/src/Umbraco.Web/umbraco.presentation/umbraco/create/macroTasks.cs
+++ b/src/Umbraco.Web/umbraco.presentation/umbraco/create/macroTasks.cs
@@ -36,7 +36,7 @@ namespace Umbraco.Web
public override string AssignedApp
{
- get { return Constants.Applications.Developer.ToString(); }
+ get { return Constants.Applications.Packages.ToString(); }
}
}
}
diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/editPackage.aspx.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/editPackage.aspx.cs
index 676f272e5b..22a9f4292f 100644
--- a/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/editPackage.aspx.cs
+++ b/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/editPackage.aspx.cs
@@ -20,7 +20,7 @@ namespace umbraco.presentation.developer.packages
public _Default()
{
- CurrentApp = Constants.Applications.Developer.ToString();
+ CurrentApp = Constants.Applications.Packages.ToString();
}
public Umbraco.Web._Legacy.Controls.TabPage packageInfo;
diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx.cs
index 52c021fc3c..d07251ea7a 100644
--- a/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx.cs
+++ b/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx.cs
@@ -26,7 +26,7 @@ namespace umbraco.presentation.developer.packages
public Installer()
{
- CurrentApp = Constants.Applications.Developer;
+ CurrentApp = Constants.Applications.Packages;
_installer = new cms.businesslogic.packager.Installer(Security.CurrentUser.Id);
}
From 373dfde730cc36e129b119c4db86dba9ea0d0722 Mon Sep 17 00:00:00 2001
From: elitsa
Date: Fri, 5 Oct 2018 11:28:43 +0200
Subject: [PATCH 02/10] don't show down arrow when no doc types
---
src/Umbraco.Web/Trees/ContentTypeTreeController.cs | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/Umbraco.Web/Trees/ContentTypeTreeController.cs b/src/Umbraco.Web/Trees/ContentTypeTreeController.cs
index da1eae7b2c..2ba11997e6 100644
--- a/src/Umbraco.Web/Trees/ContentTypeTreeController.cs
+++ b/src/Umbraco.Web/Trees/ContentTypeTreeController.cs
@@ -20,6 +20,14 @@ namespace Umbraco.Web.Trees
[CoreTree]
public class ContentTypeTreeController : TreeController, ISearchableTree
{
+ protected override TreeNode CreateRootNode(FormDataCollection queryStrings)
+ {
+ var root = base.CreateRootNode(queryStrings);
+ //check if there are any types
+ root.HasChildren = Services.ContentTypeService.GetAll().Any();
+ return root;
+ }
+
protected override TreeNodeCollection GetTreeNodes(string id, FormDataCollection queryStrings)
{
var intId = id.TryConvertTo();
From 99257f224536a14cb2fd5e8604f4a7ad966d33a0 Mon Sep 17 00:00:00 2001
From: elitsa
Date: Fri, 5 Oct 2018 11:51:34 +0200
Subject: [PATCH 03/10] Updated the sortOrder also in the respective
controllers, as well as updating to the new standards of string interpolation
in those controllers.
---
src/Umbraco.Web.UI/config/trees.config | 6 ++--
.../Trees/ContentBlueprintTreeController.cs | 11 ++++---
.../Trees/DataTypeTreeController.cs | 17 +++++-----
.../Trees/DictionaryTreeController.cs | 2 +-
.../Trees/LanguageTreeController.cs | 4 +--
src/Umbraco.Web/Trees/MacrosTreeController.cs | 5 +--
.../Trees/MediaTypeTreeController.cs | 31 ++++++++++---------
.../Trees/MemberGroupTreeController.cs | 2 +-
.../Trees/MemberTypeTreeController.cs | 2 +-
.../Trees/PackagesTreeController.cs | 12 +++----
.../Trees/PartialViewMacrosTreeController.cs | 2 +-
.../Trees/PartialViewsTreeController.cs | 2 +-
.../Trees/RelationTypeTreeController.cs | 2 +-
.../Trees/ScriptsTreeController.cs | 2 +-
.../Trees/StylesheetsTreeController.cs | 2 +-
.../Trees/TemplatesTreeController.cs | 4 +--
16 files changed, 55 insertions(+), 51 deletions(-)
diff --git a/src/Umbraco.Web.UI/config/trees.config b/src/Umbraco.Web.UI/config/trees.config
index cf546ed6f5..2b99f8751f 100644
--- a/src/Umbraco.Web.UI/config/trees.config
+++ b/src/Umbraco.Web.UI/config/trees.config
@@ -11,7 +11,6 @@
-
@@ -20,7 +19,8 @@
-
+
+
@@ -29,7 +29,7 @@
-
+
diff --git a/src/Umbraco.Web/Trees/ContentBlueprintTreeController.cs b/src/Umbraco.Web/Trees/ContentBlueprintTreeController.cs
index 145a0f5947..5cb63d7409 100644
--- a/src/Umbraco.Web/Trees/ContentBlueprintTreeController.cs
+++ b/src/Umbraco.Web/Trees/ContentBlueprintTreeController.cs
@@ -19,7 +19,7 @@ namespace Umbraco.Web.Trees
/// This authorizes based on access to the content section even though it exists in the settings
///
[UmbracoApplicationAuthorize(Constants.Applications.Content)]
- [Tree(Constants.Applications.Settings, Constants.Trees.ContentBlueprints, null, sortOrder: 10)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.ContentBlueprints, null, sortOrder: 12)]
[PluginController("UmbracoTrees")]
[CoreTree]
public class ContentBlueprintTreeController : TreeController
@@ -30,7 +30,7 @@ namespace Umbraco.Web.Trees
var root = base.CreateRootNode(queryStrings);
//this will load in a custom UI instead of the dashboard for the root node
- root.RoutePath = string.Format("{0}/{1}/{2}", Constants.Applications.Settings, Constants.Trees.ContentBlueprints, "intro");
+ root.RoutePath = $"{Constants.Applications.Settings}/{Constants.Trees.ContentBlueprints}/intro";
return root;
}
@@ -58,7 +58,7 @@ namespace Umbraco.Web.Trees
.Select(entity =>
{
var treeNode = CreateTreeNode(entity, Constants.ObjectTypes.DocumentBlueprint, id, queryStrings, "icon-item-arrangement", true);
- treeNode.Path = string.Format("-1,{0}", entity.Id);
+ treeNode.Path = $"-1,{entity.Id}";
treeNode.NodeType = "document-type-blueprints";
//TODO: This isn't the best way to ensure a noop process for clicking a node but it works for now.
treeNode.AdditionalData["jsClickCallback"] = "javascript:void(0);";
@@ -92,8 +92,9 @@ namespace Umbraco.Web.Trees
if (id == Constants.System.Root.ToInvariantString())
{
// root actions
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionNew.Instance.Alias)));
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionRefresh.Instance.Alias)), true);
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionNew.Instance.Alias}"));
+ menu.Items.Add(Services.TextService.Localize(
+ $"actions/{ActionRefresh.Instance.Alias}"), true);
return menu;
}
var cte = Services.EntityService.Get(int.Parse(id), UmbracoObjectTypes.DocumentType);
diff --git a/src/Umbraco.Web/Trees/DataTypeTreeController.cs b/src/Umbraco.Web/Trees/DataTypeTreeController.cs
index 99b94b544c..6544786d0e 100644
--- a/src/Umbraco.Web/Trees/DataTypeTreeController.cs
+++ b/src/Umbraco.Web/Trees/DataTypeTreeController.cs
@@ -17,7 +17,7 @@ using Constants = Umbraco.Core.Constants;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.DataTypes)]
- [Tree(Constants.Applications.Settings, Constants.Trees.DataTypes, null, sortOrder:7)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.DataTypes, null, sortOrder:3)]
[PluginController("UmbracoTrees")]
[CoreTree]
public class DataTypeTreeController : TreeController, ISearchableTree
@@ -87,7 +87,7 @@ namespace Umbraco.Web.Trees
menu.DefaultMenuAlias = ActionNew.Instance.Alias;
// root actions
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionNew.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionNew.Instance.Alias}"));
menu.Items.Add(Services.TextService.Localize("actions", ActionRefresh.Instance.Alias), true);
return menu;
}
@@ -98,9 +98,9 @@ namespace Umbraco.Web.Trees
//set the default to create
menu.DefaultMenuAlias = ActionNew.Instance.Alias;
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionNew.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionNew.Instance.Alias}"));
- menu.Items.Add(new MenuItem("rename", Services.TextService.Localize(String.Format("actions/{0}", "rename")))
+ menu.Items.Add(new MenuItem("rename", Services.TextService.Localize("actions/rename"))
{
Icon = "icon icon-edit"
});
@@ -108,9 +108,10 @@ namespace Umbraco.Web.Trees
if (container.HasChildren == false)
{
//can delete data type
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionDelete.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionDelete.Instance.Alias}"));
}
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionRefresh.Instance.Alias)), hasSeparator: true);
+ menu.Items.Add(Services.TextService.Localize(
+ $"actions/{ActionRefresh.Instance.Alias}"), hasSeparator: true);
}
else
{
@@ -118,10 +119,10 @@ namespace Umbraco.Web.Trees
if (sysIds.Contains(int.Parse(id)) == false)
{
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionDelete.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionDelete.Instance.Alias}"));
}
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionMove.Instance.Alias)), hasSeparator: true);
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionMove.Instance.Alias}"), hasSeparator: true);
}
return menu;
diff --git a/src/Umbraco.Web/Trees/DictionaryTreeController.cs b/src/Umbraco.Web/Trees/DictionaryTreeController.cs
index dda14f5054..27039832c9 100644
--- a/src/Umbraco.Web/Trees/DictionaryTreeController.cs
+++ b/src/Umbraco.Web/Trees/DictionaryTreeController.cs
@@ -13,7 +13,7 @@ namespace Umbraco.Web.Trees
[UmbracoTreeAuthorize(Constants.Trees.Dictionary)]
[Mvc.PluginController("UmbracoTrees")]
[CoreTree]
- [Tree(Constants.Applications.Translation, Constants.Trees.Dictionary, null, sortOrder: 3)]
+ [Tree(Constants.Applications.Translation, Constants.Trees.Dictionary, null, sortOrder: 0)]
public class DictionaryTreeController : TreeController
{
protected override TreeNode CreateRootNode(FormDataCollection queryStrings)
diff --git a/src/Umbraco.Web/Trees/LanguageTreeController.cs b/src/Umbraco.Web/Trees/LanguageTreeController.cs
index eadb5c50d0..b65906d152 100644
--- a/src/Umbraco.Web/Trees/LanguageTreeController.cs
+++ b/src/Umbraco.Web/Trees/LanguageTreeController.cs
@@ -7,7 +7,7 @@ using Constants = Umbraco.Core.Constants;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.Languages)]
- [Tree(Constants.Applications.Settings, Constants.Trees.Languages, null, sortOrder: 5)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.Languages, null, sortOrder: 11)]
[PluginController("UmbracoTrees")]
[CoreTree]
public class LanguageTreeController : TreeController
@@ -33,7 +33,7 @@ namespace Umbraco.Web.Trees
var root = base.CreateRootNode(queryStrings);
//this will load in a custom UI instead of the dashboard for the root node
- root.RoutePath = string.Format("{0}/{1}/{2}", Constants.Applications.Settings, Constants.Trees.Languages, "overview");
+ root.RoutePath = $"{Constants.Applications.Settings}/{Constants.Trees.Languages}/overview";
root.Icon = "icon-globe";
root.HasChildren = false;
root.MenuUrl = null;
diff --git a/src/Umbraco.Web/Trees/MacrosTreeController.cs b/src/Umbraco.Web/Trees/MacrosTreeController.cs
index e1d0e17acc..66f92ffdc0 100644
--- a/src/Umbraco.Web/Trees/MacrosTreeController.cs
+++ b/src/Umbraco.Web/Trees/MacrosTreeController.cs
@@ -13,10 +13,11 @@ using Constants = Umbraco.Core.Constants;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.Macros)]
- [Tree(Constants.Applications.Settings, Constants.Trees.Macros, "Macros", sortOrder: 2)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.Macros, "Macros", sortOrder: 4)]
[PluginController("UmbracoTrees")]
[CoreTree]
- public class MacrosTreeController : TreeController
+ public class
+ MacrosTreeController : TreeController
{
protected override TreeNodeCollection GetTreeNodes(string id, FormDataCollection queryStrings)
{
diff --git a/src/Umbraco.Web/Trees/MediaTypeTreeController.cs b/src/Umbraco.Web/Trees/MediaTypeTreeController.cs
index 086c1a5194..55a15b683c 100644
--- a/src/Umbraco.Web/Trees/MediaTypeTreeController.cs
+++ b/src/Umbraco.Web/Trees/MediaTypeTreeController.cs
@@ -16,7 +16,7 @@ using Umbraco.Web.Search;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.MediaTypes)]
- [Tree(Constants.Applications.Settings, Constants.Trees.MediaTypes, null, sortOrder:9)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.MediaTypes, null, sortOrder:1)]
[Mvc.PluginController("UmbracoTrees")]
[CoreTree]
public class MediaTypeTreeController : TreeController, ISearchableTree
@@ -73,8 +73,9 @@ namespace Umbraco.Web.Trees
menu.DefaultMenuAlias = ActionNew.Instance.Alias;
// root actions
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionNew.Instance.Alias)));
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionRefresh.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionNew.Instance.Alias}"));
+ menu.Items.Add(Services.TextService.Localize(
+ $"actions/{ActionRefresh.Instance.Alias}"));
return menu;
}
@@ -84,9 +85,9 @@ namespace Umbraco.Web.Trees
//set the default to create
menu.DefaultMenuAlias = ActionNew.Instance.Alias;
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionNew.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionNew.Instance.Alias}"));
- menu.Items.Add(new MenuItem("rename", Services.TextService.Localize(String.Format("actions/{0}", "rename")))
+ menu.Items.Add(new MenuItem("rename", Services.TextService.Localize("actions/rename"))
{
Icon = "icon icon-edit"
});
@@ -94,9 +95,10 @@ namespace Umbraco.Web.Trees
if (container.HasChildren == false)
{
//can delete doc type
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionDelete.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionDelete.Instance.Alias}"));
}
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionRefresh.Instance.Alias)), hasSeparator: true);
+ menu.Items.Add(Services.TextService.Localize(
+ $"actions/{ActionRefresh.Instance.Alias}"), hasSeparator: true);
}
else
{
@@ -105,28 +107,29 @@ namespace Umbraco.Web.Trees
if (enableInheritedMediaTypes)
{
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionNew.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionNew.Instance.Alias}"));
//no move action if this is a child doc type
if (parent == null)
{
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionMove.Instance.Alias)), true);
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionMove.Instance.Alias}"), true);
}
}
else
{
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionMove.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionMove.Instance.Alias}"));
//no move action if this is a child doc type
if (parent == null)
{
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionMove.Instance.Alias)), true);
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionMove.Instance.Alias}"), true);
}
}
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionCopy.Instance.Alias)));
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionDelete.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionCopy.Instance.Alias}"));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionDelete.Instance.Alias}"));
if (enableInheritedMediaTypes)
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionRefresh.Instance.Alias)), true);
+ menu.Items.Add(Services.TextService.Localize(
+ $"actions/{ActionRefresh.Instance.Alias}"), true);
}
return menu;
diff --git a/src/Umbraco.Web/Trees/MemberGroupTreeController.cs b/src/Umbraco.Web/Trees/MemberGroupTreeController.cs
index d1a0d2c318..b9910c7b31 100644
--- a/src/Umbraco.Web/Trees/MemberGroupTreeController.cs
+++ b/src/Umbraco.Web/Trees/MemberGroupTreeController.cs
@@ -8,7 +8,7 @@ using Umbraco.Web.WebApi.Filters;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.MemberGroups)]
- [Tree(Constants.Applications.Members, Constants.Trees.MemberGroups, null, sortOrder: 2)]
+ [Tree(Constants.Applications.Members, Constants.Trees.MemberGroups, null, sortOrder: 1)]
[Mvc.PluginController("UmbracoTrees")]
[CoreTree]
public class MemberGroupTreeController : MemberTypeAndGroupTreeControllerBase
diff --git a/src/Umbraco.Web/Trees/MemberTypeTreeController.cs b/src/Umbraco.Web/Trees/MemberTypeTreeController.cs
index 10b5d35b6e..56b836ce8a 100644
--- a/src/Umbraco.Web/Trees/MemberTypeTreeController.cs
+++ b/src/Umbraco.Web/Trees/MemberTypeTreeController.cs
@@ -8,7 +8,7 @@ using Umbraco.Web.WebApi.Filters;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.MemberTypes)]
- [Tree(Constants.Applications.Settings, Constants.Trees.MemberTypes, null, sortOrder: 1)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.MemberTypes, null, sortOrder: 2)]
public class MemberTypeTreeController : MemberTypeAndGroupTreeControllerBase
{
protected override IEnumerable GetTreeNodesFromService(string id, FormDataCollection queryStrings)
diff --git a/src/Umbraco.Web/Trees/PackagesTreeController.cs b/src/Umbraco.Web/Trees/PackagesTreeController.cs
index 8e572139ca..31f577ad85 100644
--- a/src/Umbraco.Web/Trees/PackagesTreeController.cs
+++ b/src/Umbraco.Web/Trees/PackagesTreeController.cs
@@ -27,7 +27,7 @@ namespace Umbraco.Web.Trees
{
var root = base.CreateRootNode(queryStrings);
- root.RoutePath = $"{Constants.Applications.Packages}/{Constants.Trees.Packages}/{"overview"}";
+ root.RoutePath = $"{Constants.Applications.Packages}/{Constants.Trees.Packages}/overview";
root.Icon = "icon-box";
@@ -47,9 +47,7 @@ namespace Umbraco.Web.Trees
.Select(dt =>
{
var node = CreateTreeNode(dt.Data.Id.ToString(), id, queryStrings, dt.Data.Name, "icon-inbox", false,
- string.Format("/{0}/framed/{1}",
- queryStrings.GetValue("application"),
- Uri.EscapeDataString("developer/Packages/EditPackage.aspx?id=" + dt.Data.Id)));
+ $"/{queryStrings.GetValue("application")}/framed/{Uri.EscapeDataString("developer/Packages/EditPackage.aspx?id=" + dt.Data.Id)}");
return node;
}));
}
@@ -85,16 +83,16 @@ namespace Umbraco.Web.Trees
// Root actions
if (id == "-1")
{
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionNew.Instance.Alias)))
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionNew.Instance.Alias}"))
.ConvertLegacyMenuItem(null, Constants.Trees.Packages, queryStrings.GetValue("application"));
}
else if (id == "created")
{
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionNew.Instance.Alias)))
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionNew.Instance.Alias}"))
.ConvertLegacyMenuItem(null, Constants.Trees.Packages, queryStrings.GetValue("application"));
menu.Items.Add(
- Services.TextService.Localize(string.Format("actions/{0}", ActionRefresh.Instance.Alias)), true);
+ Services.TextService.Localize($"actions/{ActionRefresh.Instance.Alias}"), true);
}
else
{
diff --git a/src/Umbraco.Web/Trees/PartialViewMacrosTreeController.cs b/src/Umbraco.Web/Trees/PartialViewMacrosTreeController.cs
index 43fe068334..882cfb2c9f 100644
--- a/src/Umbraco.Web/Trees/PartialViewMacrosTreeController.cs
+++ b/src/Umbraco.Web/Trees/PartialViewMacrosTreeController.cs
@@ -10,7 +10,7 @@ namespace Umbraco.Web.Trees
///
/// Tree for displaying partial view macros in the developer app
///
- [Tree(Constants.Applications.Settings, Constants.Trees.PartialViewMacros, null, sortOrder: 6)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.PartialViewMacros, null, sortOrder: 8)]
[UmbracoTreeAuthorize(Constants.Trees.PartialViewMacros)]
[PluginController("UmbracoTrees")]
[CoreTree]
diff --git a/src/Umbraco.Web/Trees/PartialViewsTreeController.cs b/src/Umbraco.Web/Trees/PartialViewsTreeController.cs
index aaaeb2d175..41c53fdc99 100644
--- a/src/Umbraco.Web/Trees/PartialViewsTreeController.cs
+++ b/src/Umbraco.Web/Trees/PartialViewsTreeController.cs
@@ -11,7 +11,7 @@ namespace Umbraco.Web.Trees
///
/// Tree for displaying partial views in the settings app
///
- [Tree(Constants.Applications.Settings, Constants.Trees.PartialViews, null, sortOrder: 2)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.PartialViews, null, sortOrder: 7)]
[UmbracoTreeAuthorize(Constants.Trees.PartialViews)]
[PluginController("UmbracoTrees")]
[CoreTree]
diff --git a/src/Umbraco.Web/Trees/RelationTypeTreeController.cs b/src/Umbraco.Web/Trees/RelationTypeTreeController.cs
index 0a70c446a0..e35a9a23b6 100644
--- a/src/Umbraco.Web/Trees/RelationTypeTreeController.cs
+++ b/src/Umbraco.Web/Trees/RelationTypeTreeController.cs
@@ -12,7 +12,7 @@ using Umbraco.Core.Models.Entities;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.RelationTypes)]
- [Tree(Constants.Applications.Settings, Constants.Trees.RelationTypes, null, sortOrder: 4)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.RelationTypes, null, sortOrder: 5)]
[Mvc.PluginController("UmbracoTrees")]
[CoreTree]
public class RelationTypeTreeController : TreeController
diff --git a/src/Umbraco.Web/Trees/ScriptsTreeController.cs b/src/Umbraco.Web/Trees/ScriptsTreeController.cs
index 57a50cde5d..97053993b4 100644
--- a/src/Umbraco.Web/Trees/ScriptsTreeController.cs
+++ b/src/Umbraco.Web/Trees/ScriptsTreeController.cs
@@ -6,7 +6,7 @@ using Umbraco.Web.Models.Trees;
namespace Umbraco.Web.Trees
{
- [Tree(Constants.Applications.Settings, Constants.Trees.Scripts, "Scripts", "icon-folder", "icon-folder", sortOrder: 4)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.Scripts, "Scripts", "icon-folder", "icon-folder", sortOrder: 10)]
public class ScriptsTreeController : FileSystemTreeController
{
protected override IFileSystem FileSystem => Current.FileSystems.ScriptsFileSystem; // fixme inject
diff --git a/src/Umbraco.Web/Trees/StylesheetsTreeController.cs b/src/Umbraco.Web/Trees/StylesheetsTreeController.cs
index 650407296e..365f427e18 100644
--- a/src/Umbraco.Web/Trees/StylesheetsTreeController.cs
+++ b/src/Umbraco.Web/Trees/StylesheetsTreeController.cs
@@ -4,7 +4,7 @@ using Umbraco.Web.Composing;
namespace Umbraco.Web.Trees
{
- [Tree(Constants.Applications.Settings, Constants.Trees.Stylesheets, "Stylesheets", "icon-folder", "icon-folder", sortOrder: 3)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.Stylesheets, "Stylesheets", "icon-folder", "icon-folder", sortOrder: 9)]
public class StylesheetsTreeController : FileSystemTreeController
{
protected override IFileSystem FileSystem => Current.FileSystems.StylesheetsFileSystem; // fixme inject
diff --git a/src/Umbraco.Web/Trees/TemplatesTreeController.cs b/src/Umbraco.Web/Trees/TemplatesTreeController.cs
index d9aa0f21a0..521475413c 100644
--- a/src/Umbraco.Web/Trees/TemplatesTreeController.cs
+++ b/src/Umbraco.Web/Trees/TemplatesTreeController.cs
@@ -19,7 +19,7 @@ using Constants = Umbraco.Core.Constants;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.Templates)]
- [Tree(Constants.Applications.Settings, Constants.Trees.Templates, null, sortOrder:1)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.Templates, null, sortOrder:6)]
[PluginController("UmbracoTrees")]
[CoreTree]
public class TemplatesTreeController : TreeController, ISearchableTree
@@ -70,7 +70,7 @@ namespace Umbraco.Web.Trees
//Create the normal create action
var item = menu.Items.Add(Services.TextService.Localize("actions", ActionNew.Instance.Alias));
- item.NavigateToRoute(string.Format("{0}/templates/edit/{1}?create=true", queryStrings.GetValue("application"), id));
+ item.NavigateToRoute($"{queryStrings.GetValue("application")}/templates/edit/{id}?create=true");
if (id == Constants.System.Root.ToInvariantString())
{
From 8fdee9af85a628d886f061a999665398a9797e8c Mon Sep 17 00:00:00 2001
From: elitsa
Date: Mon, 8 Oct 2018 09:58:19 +0200
Subject: [PATCH 04/10] Update trees.Release.config
---
.../config/trees.Release.config | 41 +++++++++----------
1 file changed, 20 insertions(+), 21 deletions(-)
diff --git a/src/Umbraco.Web.UI/config/trees.Release.config b/src/Umbraco.Web.UI/config/trees.Release.config
index c5a56be290..7b5a9e5e2a 100644
--- a/src/Umbraco.Web.UI/config/trees.Release.config
+++ b/src/Umbraco.Web.UI/config/trees.Release.config
@@ -8,32 +8,31 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
-
-
-
+
-
-
-
+
-
+
+
+
+
From e2acc8b44709daf492db4e04199d3460e249b1b7 Mon Sep 17 00:00:00 2001
From: elitsa
Date: Mon, 8 Oct 2018 10:00:52 +0200
Subject: [PATCH 05/10] Remove sections icons - not needed anymore
---
.../tools/applications.config.install.xdt | 18 +++++++++---------
src/Umbraco.Core/Models/Section.cs | 4 +---
.../config/applications.Release.config | 18 +++++++++---------
src/Umbraco.Web.UI/config/applications.config | 16 ++++++++--------
.../Models/Trees/ApplicationAttribute.cs | 4 ----
.../Models/Trees/ApplicationDefinitions.cs | 14 +++++++-------
src/Umbraco.Web/Services/SectionService.cs | 6 ++----
7 files changed, 36 insertions(+), 44 deletions(-)
diff --git a/build/NuSpecs/tools/applications.config.install.xdt b/build/NuSpecs/tools/applications.config.install.xdt
index f4a0060150..5c05b2b4e9 100644
--- a/build/NuSpecs/tools/applications.config.install.xdt
+++ b/build/NuSpecs/tools/applications.config.install.xdt
@@ -1,11 +1,11 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
diff --git a/src/Umbraco.Core/Models/Section.cs b/src/Umbraco.Core/Models/Section.cs
index cbd9dfe7dc..b9eda285b0 100644
--- a/src/Umbraco.Core/Models/Section.cs
+++ b/src/Umbraco.Core/Models/Section.cs
@@ -5,11 +5,10 @@
///
public class Section
{
- public Section(string name, string @alias, string icon, int sortOrder)
+ public Section(string name, string @alias, int sortOrder)
{
Name = name;
Alias = alias;
- Icon = icon;
SortOrder = sortOrder;
}
@@ -20,7 +19,6 @@
public string Name { get; set; }
public string Alias { get; set; }
- public string Icon { get; set; }
public int SortOrder { get; set; }
}
}
diff --git a/src/Umbraco.Web.UI/config/applications.Release.config b/src/Umbraco.Web.UI/config/applications.Release.config
index 7f88f58801..5c8dee3b8a 100644
--- a/src/Umbraco.Web.UI/config/applications.Release.config
+++ b/src/Umbraco.Web.UI/config/applications.Release.config
@@ -1,11 +1,11 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
diff --git a/src/Umbraco.Web.UI/config/applications.config b/src/Umbraco.Web.UI/config/applications.config
index 268d94a255..5c8dee3b8a 100644
--- a/src/Umbraco.Web.UI/config/applications.config
+++ b/src/Umbraco.Web.UI/config/applications.config
@@ -1,11 +1,11 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/src/Umbraco.Web/Models/Trees/ApplicationAttribute.cs b/src/Umbraco.Web/Models/Trees/ApplicationAttribute.cs
index 221346cd23..65fc4ed6f3 100644
--- a/src/Umbraco.Web/Models/Trees/ApplicationAttribute.cs
+++ b/src/Umbraco.Web/Models/Trees/ApplicationAttribute.cs
@@ -13,22 +13,18 @@ namespace Umbraco.Web.Models.Trees
///
/// The alias.
/// The name.
- /// The icon.
/// The sort order.
public ApplicationAttribute(string alias,
string name,
- string icon,
int sortOrder = 0)
{
Alias = alias;
Name = name;
- Icon = icon;
SortOrder = sortOrder;
}
public string Alias { get; private set; }
public string Name { get; private set; }
- public string Icon { get; private set; }
public int SortOrder { get; private set; }
}
}
diff --git a/src/Umbraco.Web/Models/Trees/ApplicationDefinitions.cs b/src/Umbraco.Web/Models/Trees/ApplicationDefinitions.cs
index 67b542e840..aa8e0cfda6 100644
--- a/src/Umbraco.Web/Models/Trees/ApplicationDefinitions.cs
+++ b/src/Umbraco.Web/Models/Trees/ApplicationDefinitions.cs
@@ -7,31 +7,31 @@ namespace Umbraco.Web.Models.Trees
// the application.config. On app startup, Umbraco will look for any
// unregistered classes with an ApplicationAttribute and add them to the cache
- [Application(Constants.Applications.Content, "Content", ".traycontent")]
+ [Application(Constants.Applications.Content, "Content")]
public class ContentApplicationDefinition : IApplication
{ }
- [Application(Constants.Applications.Media, "Media", ".traymedia", sortOrder: 1)]
+ [Application(Constants.Applications.Media, "Media", sortOrder: 1)]
public class MediaApplicationDefinition : IApplication
{ }
- [Application(Constants.Applications.Settings, "Settings", ".traysettings", sortOrder: 2)]
+ [Application(Constants.Applications.Settings, "Settings", sortOrder: 2)]
public class SettingsApplicationDefinition : IApplication
{ }
- [Application(Constants.Applications.Packages, "Packages", ".traydeveloper", sortOrder: 3)]
+ [Application(Constants.Applications.Packages, "Packages", sortOrder: 3)]
public class PackagesApplicationDefinition : IApplication
{ }
- [Application(Constants.Applications.Users, "Users", ".trayusers", sortOrder: 4)]
+ [Application(Constants.Applications.Users, "Users", sortOrder: 4)]
public class UsersApplicationDefinition : IApplication
{ }
- [Application(Constants.Applications.Members, "Members", ".traymember", sortOrder: 5)]
+ [Application(Constants.Applications.Members, "Members", sortOrder: 5)]
public class MembersApplicationDefinition : IApplication
{ }
- [Application(Constants.Applications.Translation, "Translation", ".traytranslation", sortOrder: 6)]
+ [Application(Constants.Applications.Translation, "Translation", sortOrder: 6)]
public class TranslationApplicationDefinition : IApplication
{ }
}
diff --git a/src/Umbraco.Web/Services/SectionService.cs b/src/Umbraco.Web/Services/SectionService.cs
index 411d122d49..ff8279a411 100644
--- a/src/Umbraco.Web/Services/SectionService.cs
+++ b/src/Umbraco.Web/Services/SectionService.cs
@@ -92,7 +92,6 @@ namespace Umbraco.Web.Services
doc.Root.Add(new XElement("add",
new XAttribute("alias", attr.Alias),
new XAttribute("name", attr.Name),
- new XAttribute("icon", attr.Icon),
new XAttribute("sortOrder", attr.SortOrder)));
count++;
}
@@ -201,7 +200,7 @@ namespace Umbraco.Web.Services
}, true);
//raise event
- OnNew(new Section(name, alias, icon, sortOrder), new EventArgs());
+ OnNew(new Section(name, alias, sortOrder), new EventArgs());
}
}
@@ -255,7 +254,6 @@ namespace Umbraco.Web.Services
var sortOrderAttr = addElement.Attribute("sortOrder");
tmp.Add(new Section(addElement.Attribute("name").Value,
addElement.Attribute("alias").Value,
- addElement.Attribute("icon").Value,
sortOrderAttr != null ? Convert.ToInt32(sortOrderAttr.Value) : 0));
}
return false;
@@ -300,7 +298,7 @@ namespace Umbraco.Web.Services
//we need to interrogate the attributes for the data. Would be better to have a base class that contains
//metadata populated by the attribute. Oh well i guess.
var attrs = types.Select(x => x.GetCustomAttributes(false).Single());
- return Enumerable.ToArray(attrs.Select(x => new Section(x.Name, x.Alias, x.Icon, x.SortOrder)));
+ return Enumerable.ToArray(attrs.Select(x => new Section(x.Name, x.Alias, x.SortOrder)));
});
}
From 9ad65e5fa8c799cf2d93979f8d6a345d3d363edd Mon Sep 17 00:00:00 2001
From: elitsa
Date: Mon, 8 Oct 2018 10:08:04 +0200
Subject: [PATCH 06/10] Deleting 'Task' related references and implementations
---
.../CompositionRoots/RepositoryCompositionRoot.cs | 2 --
.../CompositionRoots/ServicesCompositionRoot.cs | 1 -
.../Migrations/Install/DatabaseDataCreator.cs | 10 +---------
.../Migrations/Install/DatabaseSchemaCreator.cs | 2 --
.../Migrations/Upgrade/V_8_0_0/VariantsMigration.cs | 4 +---
.../Persistence/Constants-DatabaseSchema.cs | 5 +----
.../Persistence/Mappers/MapperCollectionBuilder.cs | 1 -
.../Repositories/Implement/DocumentRepository.cs | 1 -
.../Repositories/Implement/MediaRepository.cs | 1 -
src/Umbraco.Core/Services/ServiceContext.cs | 13 ++-----------
src/Umbraco.Tests/TestHelpers/TestObjects-Mocks.cs | 1 -
src/Umbraco.Tests/TestHelpers/TestObjects.cs | 2 --
12 files changed, 5 insertions(+), 38 deletions(-)
diff --git a/src/Umbraco.Core/Composing/CompositionRoots/RepositoryCompositionRoot.cs b/src/Umbraco.Core/Composing/CompositionRoots/RepositoryCompositionRoot.cs
index 26a95af801..9c36bf5cec 100644
--- a/src/Umbraco.Core/Composing/CompositionRoots/RepositoryCompositionRoot.cs
+++ b/src/Umbraco.Core/Composing/CompositionRoots/RepositoryCompositionRoot.cs
@@ -63,8 +63,6 @@ namespace Umbraco.Core.Composing.CompositionRoots
container.RegisterSingleton();
container.RegisterSingleton();
container.RegisterSingleton();
- container.RegisterSingleton();
- container.RegisterSingleton();
container.RegisterSingleton();
container.RegisterSingleton();
container.RegisterSingleton();
diff --git a/src/Umbraco.Core/Composing/CompositionRoots/ServicesCompositionRoot.cs b/src/Umbraco.Core/Composing/CompositionRoots/ServicesCompositionRoot.cs
index d126cd6aa3..92b8139a04 100644
--- a/src/Umbraco.Core/Composing/CompositionRoots/ServicesCompositionRoot.cs
+++ b/src/Umbraco.Core/Composing/CompositionRoots/ServicesCompositionRoot.cs
@@ -28,7 +28,6 @@ namespace Umbraco.Core.Composing.CompositionRoots
// register the services
container.RegisterSingleton();
container.RegisterSingleton();
- container.RegisterSingleton();
container.RegisterSingleton();
container.RegisterSingleton();
container.RegisterSingleton();
diff --git a/src/Umbraco.Core/Migrations/Install/DatabaseDataCreator.cs b/src/Umbraco.Core/Migrations/Install/DatabaseDataCreator.cs
index 4f929ae718..a16e80ecdc 100644
--- a/src/Umbraco.Core/Migrations/Install/DatabaseDataCreator.cs
+++ b/src/Umbraco.Core/Migrations/Install/DatabaseDataCreator.cs
@@ -69,10 +69,7 @@ namespace Umbraco.Core.Migrations.Install
if (tableName.Equals(Constants.DatabaseSchema.Tables.RelationType))
CreateRelationTypeData();
-
- if (tableName.Equals(Constants.DatabaseSchema.Tables.TaskType))
- CreateTaskTypeData();
-
+
if (tableName.Equals(Constants.DatabaseSchema.Tables.KeyValue))
CreateKeyValueData();
@@ -319,11 +316,6 @@ namespace Umbraco.Core.Migrations.Install
_database.Insert(Constants.DatabaseSchema.Tables.RelationType, "id", false, relationType);
}
- private void CreateTaskTypeData()
- {
- _database.Insert(Constants.DatabaseSchema.Tables.TaskType, "id", false, new TaskTypeDto { Id = 1, Alias = "toTranslate" });
- }
-
private void CreateKeyValueData()
{
// on install, initialize the umbraco migration plan with the final state
diff --git a/src/Umbraco.Core/Migrations/Install/DatabaseSchemaCreator.cs b/src/Umbraco.Core/Migrations/Install/DatabaseSchemaCreator.cs
index ae3f95ec4d..d45126f07f 100644
--- a/src/Umbraco.Core/Migrations/Install/DatabaseSchemaCreator.cs
+++ b/src/Umbraco.Core/Migrations/Install/DatabaseSchemaCreator.cs
@@ -59,8 +59,6 @@ namespace Umbraco.Core.Migrations.Install
typeof (RelationDto),
typeof (TagDto),
typeof (TagRelationshipDto),
- typeof (TaskTypeDto),
- typeof (TaskDto),
typeof (ContentType2ContentTypeDto),
typeof (ContentTypeAllowedContentTypeDto),
typeof (User2NodeNotifyDto),
diff --git a/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/VariantsMigration.cs b/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/VariantsMigration.cs
index 174404b1b9..9e223e7beb 100644
--- a/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/VariantsMigration.cs
+++ b/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/VariantsMigration.cs
@@ -324,9 +324,7 @@ WHERE v1.propertyTypeId=v2.propertyTypeId AND v1.languageId=v2.languageId AND v1
public const string Tag = "cmsTags";
public const string TagRelationship = "cmsTagRelationship";
-
- public const string Task = "cmsTask";
- public const string TaskType = "cmsTaskType";
+
// ReSharper restore UnusedMember.Local
}
}
diff --git a/src/Umbraco.Core/Persistence/Constants-DatabaseSchema.cs b/src/Umbraco.Core/Persistence/Constants-DatabaseSchema.cs
index 79dd45b73b..523d09c1f7 100644
--- a/src/Umbraco.Core/Persistence/Constants-DatabaseSchema.cs
+++ b/src/Umbraco.Core/Persistence/Constants-DatabaseSchema.cs
@@ -69,10 +69,7 @@ namespace Umbraco.Core
public const string Tag = /*TableNamePrefix*/ "cms" + "Tags";
public const string TagRelationship = /*TableNamePrefix*/ "cms" + "TagRelationship";
-
- public const string Task = /*TableNamePrefix*/ "cms" + "Task";
- public const string TaskType = /*TableNamePrefix*/ "cms" + "TaskType";
-
+
public const string KeyValue = TableNamePrefix + "KeyValue";
public const string AuditEntry = /*TableNamePrefix*/ "umbraco" + "Audit";
diff --git a/src/Umbraco.Core/Persistence/Mappers/MapperCollectionBuilder.cs b/src/Umbraco.Core/Persistence/Mappers/MapperCollectionBuilder.cs
index 82085027ab..6d641cab3d 100644
--- a/src/Umbraco.Core/Persistence/Mappers/MapperCollectionBuilder.cs
+++ b/src/Umbraco.Core/Persistence/Mappers/MapperCollectionBuilder.cs
@@ -48,7 +48,6 @@ namespace Umbraco.Core.Persistence.Mappers
Add();
Add();
Add();
- Add();
Add();
Add();
Add();
diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentRepository.cs
index fb1a33eb62..bf41cd1ad1 100644
--- a/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentRepository.cs
@@ -167,7 +167,6 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
var list = new List
{
"DELETE FROM " + Constants.DatabaseSchema.Tables.RedirectUrl + " WHERE contentKey IN (SELECT uniqueId FROM " + Constants.DatabaseSchema.Tables.Node + " WHERE id = @id)",
- "DELETE FROM " + Constants.DatabaseSchema.Tables.Task + " WHERE nodeId = @id",
"DELETE FROM " + Constants.DatabaseSchema.Tables.User2NodeNotify + " WHERE nodeId = @id",
"DELETE FROM " + Constants.DatabaseSchema.Tables.UserGroup2NodePermission + " WHERE nodeId = @id",
"DELETE FROM " + Constants.DatabaseSchema.Tables.UserStartNode + " WHERE startNode = @id",
diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/MediaRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/MediaRepository.cs
index f289547b10..2390ce9a7b 100644
--- a/src/Umbraco.Core/Persistence/Repositories/Implement/MediaRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/Implement/MediaRepository.cs
@@ -137,7 +137,6 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
{
var list = new List
{
- "DELETE FROM " + Constants.DatabaseSchema.Tables.Task + " WHERE nodeId = @id",
"DELETE FROM " + Constants.DatabaseSchema.Tables.User2NodeNotify + " WHERE nodeId = @id",
"DELETE FROM " + Constants.DatabaseSchema.Tables.UserGroup2NodePermission + " WHERE nodeId = @id",
"DELETE FROM " + Constants.DatabaseSchema.Tables.UserStartNode + " WHERE startNode = @id",
diff --git a/src/Umbraco.Core/Services/ServiceContext.cs b/src/Umbraco.Core/Services/ServiceContext.cs
index aa618e7927..f90b1d8d64 100644
--- a/src/Umbraco.Core/Services/ServiceContext.cs
+++ b/src/Umbraco.Core/Services/ServiceContext.cs
@@ -8,7 +8,6 @@ namespace Umbraco.Core.Services
public class ServiceContext
{
private readonly Lazy _publicAccessService;
- private readonly Lazy _taskService;
private readonly Lazy _domainService;
private readonly Lazy _auditService;
private readonly Lazy _localizedTextService;
@@ -40,10 +39,9 @@ namespace Umbraco.Core.Services
/// Initializes a new instance of the class with lazy services.
///
/// Used by IoC. Note that LightInject will favor lazy args when picking a constructor.
- public ServiceContext(Lazy publicAccessService, Lazy taskService, Lazy domainService, Lazy auditService, Lazy localizedTextService, Lazy tagService, Lazy contentService, Lazy userService, Lazy memberService, Lazy mediaService, Lazy contentTypeService, Lazy mediaTypeService, Lazy dataTypeService, Lazy fileService, Lazy localizationService, Lazy packagingService, Lazy serverRegistrationService, Lazy entityService, Lazy relationService, Lazy treeService, Lazy sectionService, Lazy macroService, Lazy memberTypeService, Lazy memberGroupService, Lazy notificationService, Lazy externalLoginService, Lazy redirectUrlService, Lazy consentService)
+ public ServiceContext(Lazy publicAccessService, Lazy domainService, Lazy auditService, Lazy localizedTextService, Lazy tagService, Lazy contentService, Lazy userService, Lazy memberService, Lazy mediaService, Lazy contentTypeService, Lazy mediaTypeService, Lazy dataTypeService, Lazy fileService, Lazy localizationService, Lazy packagingService, Lazy serverRegistrationService, Lazy entityService, Lazy relationService, Lazy treeService, Lazy sectionService, Lazy macroService, Lazy memberTypeService, Lazy memberGroupService, Lazy notificationService, Lazy externalLoginService, Lazy redirectUrlService, Lazy consentService)
{
_publicAccessService = publicAccessService;
- _taskService = taskService;
_domainService = domainService;
_auditService = auditService;
_localizedTextService = localizedTextService;
@@ -97,7 +95,6 @@ namespace Umbraco.Core.Services
ILocalizedTextService localizedTextService = null,
IAuditService auditService = null,
IDomainService domainService = null,
- ITaskService taskService = null,
IMacroService macroService = null,
IPublicAccessService publicAccessService = null,
IExternalLoginService externalLoginService = null,
@@ -128,7 +125,6 @@ namespace Umbraco.Core.Services
if (userService != null) _userService = new Lazy(() => userService);
if (notificationService != null) _notificationService = new Lazy(() => notificationService);
if (domainService != null) _domainService = new Lazy(() => domainService);
- if (taskService != null) _taskService = new Lazy(() => taskService);
if (macroService != null) _macroService = new Lazy(() => macroService);
if (publicAccessService != null) _publicAccessService = new Lazy(() => publicAccessService);
if (redirectUrlService != null) _redirectUrlService = new Lazy(() => redirectUrlService);
@@ -139,12 +135,7 @@ namespace Umbraco.Core.Services
/// Gets the
///
public IPublicAccessService PublicAccessService => _publicAccessService.Value;
-
- ///
- /// Gets the
- ///
- public ITaskService TaskService => _taskService.Value;
-
+
///
/// Gets the
///
diff --git a/src/Umbraco.Tests/TestHelpers/TestObjects-Mocks.cs b/src/Umbraco.Tests/TestHelpers/TestObjects-Mocks.cs
index 6750ad9792..167d6730ed 100644
--- a/src/Umbraco.Tests/TestHelpers/TestObjects-Mocks.cs
+++ b/src/Umbraco.Tests/TestHelpers/TestObjects-Mocks.cs
@@ -77,7 +77,6 @@ namespace Umbraco.Tests.TestHelpers
MockService(),
MockService(),
MockService(),
- MockService(),
MockService());
}
diff --git a/src/Umbraco.Tests/TestHelpers/TestObjects.cs b/src/Umbraco.Tests/TestHelpers/TestObjects.cs
index 485cce4c0a..2707c73607 100644
--- a/src/Umbraco.Tests/TestHelpers/TestObjects.cs
+++ b/src/Umbraco.Tests/TestHelpers/TestObjects.cs
@@ -120,7 +120,6 @@ namespace Umbraco.Tests.TestHelpers
var externalLoginService = GetLazyService(container, c => new ExternalLoginService(scopeProvider, logger, eventMessagesFactory, GetRepo(c)));
var publicAccessService = GetLazyService(container, c => new PublicAccessService(scopeProvider, logger, eventMessagesFactory, GetRepo(c)));
- var taskService = GetLazyService(container, c => new TaskService(scopeProvider, logger, eventMessagesFactory, GetRepo(c), GetRepo(c)));
var domainService = GetLazyService(container, c => new DomainService(scopeProvider, logger, eventMessagesFactory, GetRepo(c)));
var auditService = GetLazyService(container, c => new AuditService(scopeProvider, logger, eventMessagesFactory, GetRepo(c), GetRepo(c)));
@@ -190,7 +189,6 @@ namespace Umbraco.Tests.TestHelpers
return new ServiceContext(
publicAccessService,
- taskService,
domainService,
auditService,
localizedTextService,
From 4bde59ed66ad672128bb094e002a768306878f9b Mon Sep 17 00:00:00 2001
From: elitsa
Date: Mon, 8 Oct 2018 10:13:36 +0200
Subject: [PATCH 07/10] Translation clean up
---
src/Umbraco.Core/Models/Task.cs | 100 -------
src/Umbraco.Core/Models/TaskType.cs | 39 ---
src/Umbraco.Core/Persistence/Dtos/TaskDto.cs | 50 ----
.../Persistence/Dtos/TaskTypeDto.cs | 19 --
.../Persistence/Factories/TaskFactory.cs | 54 ----
.../Persistence/Factories/TaskTypeFactory.cs | 26 --
.../Persistence/Mappers/TaskTypeMapper.cs | 24 --
.../Repositories/ITaskRepository.cs | 10 -
.../Repositories/ITaskTypeRepository.cs | 7 -
.../Repositories/Implement/TaskRepository.cs | 163 -----------
.../Implement/TaskTypeRepository.cs | 113 --------
src/Umbraco.Core/Services/ITaskService.cs | 27 --
.../Services/Implement/TaskService.cs | 105 -------
src/Umbraco.Core/Umbraco.Core.csproj | 15 +-
src/Umbraco.Tests/Models/TaskTests.cs | 78 ------
src/Umbraco.Tests/Models/TaskTypeTests.cs | 62 ----
.../Repositories/TaskRepositoryTest.cs | 229 ---------------
.../Repositories/TaskTypeRepositoryTest.cs | 50 ----
.../Persistence/SqlCeTableByTableTest.cs | 29 --
src/Umbraco.Tests/Umbraco.Tests.csproj | 4 -
.../Umbraco/translation/default.aspx | 55 ----
.../Umbraco/translation/details.aspx | 43 ---
.../Umbraco/translation/preview.aspx | 40 ---
.../Umbraco/translation/translationTasks.dtd | 39 ---
.../Umbraco/translation/xml.aspx | 2 -
src/Umbraco.Web/Umbraco.Web.csproj | 47 +---
src/Umbraco.Web/_Legacy/BusinessLogic/Task.cs | 264 ------------------
.../_Legacy/BusinessLogic/TaskType.cs | 107 -------
.../_Legacy/BusinessLogic/Tasks.cs | 28 --
.../umbraco/Trees/loadTranslationTasks.cs | 120 --------
.../umbraco/dialogs/sendToTranslation.aspx | 36 ---
.../umbraco/dialogs/sendToTranslation.aspx.cs | 209 --------------
.../sendToTranslation.aspx.designer.cs | 132 ---------
33 files changed, 2 insertions(+), 2324 deletions(-)
delete mode 100644 src/Umbraco.Core/Models/Task.cs
delete mode 100644 src/Umbraco.Core/Models/TaskType.cs
delete mode 100644 src/Umbraco.Core/Persistence/Dtos/TaskDto.cs
delete mode 100644 src/Umbraco.Core/Persistence/Dtos/TaskTypeDto.cs
delete mode 100644 src/Umbraco.Core/Persistence/Factories/TaskFactory.cs
delete mode 100644 src/Umbraco.Core/Persistence/Factories/TaskTypeFactory.cs
delete mode 100644 src/Umbraco.Core/Persistence/Mappers/TaskTypeMapper.cs
delete mode 100644 src/Umbraco.Core/Persistence/Repositories/ITaskRepository.cs
delete mode 100644 src/Umbraco.Core/Persistence/Repositories/ITaskTypeRepository.cs
delete mode 100644 src/Umbraco.Core/Persistence/Repositories/Implement/TaskRepository.cs
delete mode 100644 src/Umbraco.Core/Persistence/Repositories/Implement/TaskTypeRepository.cs
delete mode 100644 src/Umbraco.Core/Services/ITaskService.cs
delete mode 100644 src/Umbraco.Core/Services/Implement/TaskService.cs
delete mode 100644 src/Umbraco.Tests/Models/TaskTests.cs
delete mode 100644 src/Umbraco.Tests/Models/TaskTypeTests.cs
delete mode 100644 src/Umbraco.Tests/Persistence/Repositories/TaskRepositoryTest.cs
delete mode 100644 src/Umbraco.Tests/Persistence/Repositories/TaskTypeRepositoryTest.cs
delete mode 100644 src/Umbraco.Web.UI/Umbraco/translation/default.aspx
delete mode 100644 src/Umbraco.Web.UI/Umbraco/translation/details.aspx
delete mode 100644 src/Umbraco.Web.UI/Umbraco/translation/preview.aspx
delete mode 100644 src/Umbraco.Web.UI/Umbraco/translation/translationTasks.dtd
delete mode 100644 src/Umbraco.Web.UI/Umbraco/translation/xml.aspx
delete mode 100644 src/Umbraco.Web/_Legacy/BusinessLogic/Task.cs
delete mode 100644 src/Umbraco.Web/_Legacy/BusinessLogic/TaskType.cs
delete mode 100644 src/Umbraco.Web/_Legacy/BusinessLogic/Tasks.cs
delete mode 100644 src/Umbraco.Web/umbraco.presentation/umbraco/Trees/loadTranslationTasks.cs
delete mode 100644 src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/sendToTranslation.aspx
delete mode 100644 src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/sendToTranslation.aspx.cs
delete mode 100644 src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/sendToTranslation.aspx.designer.cs
diff --git a/src/Umbraco.Core/Models/Task.cs b/src/Umbraco.Core/Models/Task.cs
deleted file mode 100644
index cb35813619..0000000000
--- a/src/Umbraco.Core/Models/Task.cs
+++ /dev/null
@@ -1,100 +0,0 @@
-using System;
-using System.Reflection;
-using System.Runtime.Serialization;
-using Umbraco.Core.Models.Entities;
-
-namespace Umbraco.Core.Models
-{
- ///
- /// Represents a Task
- ///
- [Serializable]
- [DataContract(IsReference = true)]
- public class Task : EntityBase
- {
- private bool _closed;
- private TaskType _taskType;
- private int _entityId;
- private int _ownerUserId;
- private int _assigneeUserId;
- private string _comment;
-
- public Task(TaskType taskType)
- {
- _taskType = taskType;
- }
-
- private static readonly Lazy Ps = new Lazy();
-
- private class PropertySelectors
- {
- public readonly PropertyInfo ClosedSelector = ExpressionHelper.GetPropertyInfo(x => x.Closed);
- public readonly PropertyInfo TaskTypeSelector = ExpressionHelper.GetPropertyInfo(x => x.TaskType);
- public readonly PropertyInfo EntityIdSelector = ExpressionHelper.GetPropertyInfo(x => x.EntityId);
- public readonly PropertyInfo OwnerUserIdSelector = ExpressionHelper.GetPropertyInfo(x => x.OwnerUserId);
- public readonly PropertyInfo AssigneeUserIdSelector = ExpressionHelper.GetPropertyInfo(x => x.AssigneeUserId);
- public readonly PropertyInfo CommentSelector = ExpressionHelper.GetPropertyInfo(x => x.Comment);
- }
-
- ///
- /// Gets or sets a boolean indicating whether the task is closed
- ///
- [DataMember]
- public bool Closed
- {
- get { return _closed; }
- set { SetPropertyValueAndDetectChanges(value, ref _closed, Ps.Value.ClosedSelector); }
- }
-
- ///
- /// Gets or sets the TaskType of the Task
- ///
- [DataMember]
- public TaskType TaskType
- {
- get { return _taskType; }
- set { SetPropertyValueAndDetectChanges(value, ref _taskType, Ps.Value.TaskTypeSelector); }
- }
-
- ///
- /// Gets or sets the Id of the entity, which this task is associated to
- ///
- [DataMember]
- public int EntityId
- {
- get { return _entityId; }
- set { SetPropertyValueAndDetectChanges(value, ref _entityId, Ps.Value.EntityIdSelector); }
- }
-
- ///
- /// Gets or sets the Id of the user, who owns this task
- ///
- [DataMember]
- public int OwnerUserId
- {
- get { return _ownerUserId; }
- set { SetPropertyValueAndDetectChanges(value, ref _ownerUserId, Ps.Value.OwnerUserIdSelector); }
- }
-
- ///
- /// Gets or sets the Id of the user, who is assigned to this task
- ///
- [DataMember]
- public int AssigneeUserId
- {
- get { return _assigneeUserId; }
- set { SetPropertyValueAndDetectChanges(value, ref _assigneeUserId, Ps.Value.AssigneeUserIdSelector); }
- }
-
- ///
- /// Gets or sets the Comment for the Task
- ///
- [DataMember]
- public string Comment
- {
- get { return _comment; }
- set { SetPropertyValueAndDetectChanges(value, ref _comment, Ps.Value.CommentSelector); }
- }
-
- }
-}
diff --git a/src/Umbraco.Core/Models/TaskType.cs b/src/Umbraco.Core/Models/TaskType.cs
deleted file mode 100644
index f5e6621239..0000000000
--- a/src/Umbraco.Core/Models/TaskType.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using System;
-using System.Reflection;
-using System.Runtime.Serialization;
-using Umbraco.Core.Models.Entities;
-
-namespace Umbraco.Core.Models
-{
- ///
- /// Represents a Task Type
- ///
- [Serializable]
- [DataContract(IsReference = true)]
- public class TaskType : EntityBase
- {
- private string _alias;
-
- public TaskType(string @alias)
- {
- _alias = alias;
- }
-
- private static readonly Lazy Ps = new Lazy();
-
- private class PropertySelectors
- {
- public readonly PropertyInfo AliasSelector = ExpressionHelper.GetPropertyInfo(x => x.Alias);
- }
-
- ///
- /// Gets or sets the Alias of the TaskType
- ///
- [DataMember]
- public string Alias
- {
- get { return _alias; }
- set { SetPropertyValueAndDetectChanges(value, ref _alias, Ps.Value.AliasSelector); }
- }
- }
-}
diff --git a/src/Umbraco.Core/Persistence/Dtos/TaskDto.cs b/src/Umbraco.Core/Persistence/Dtos/TaskDto.cs
deleted file mode 100644
index 9531ffb7b9..0000000000
--- a/src/Umbraco.Core/Persistence/Dtos/TaskDto.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-using System;
-using NPoco;
-using Umbraco.Core.Persistence.DatabaseAnnotations;
-using Umbraco.Core.Persistence.DatabaseModelDefinitions;
-
-namespace Umbraco.Core.Persistence.Dtos
-{
- [TableName(Constants.DatabaseSchema.Tables.Task)]
- [PrimaryKey("id")]
- [ExplicitColumns]
- internal class TaskDto
- {
- [Column("closed")]
- [Constraint(Default = "0")]
- public bool Closed { get; set; }
-
- [Column("id")]
- [PrimaryKeyColumn]
- public int Id { get; set; }
-
- [Column("taskTypeId")]
- [ForeignKey(typeof(TaskTypeDto))]
- public byte TaskTypeId { get; set; }
-
- [Column("nodeId")]
- [ForeignKey(typeof(NodeDto))]
- public int NodeId { get; set; }
-
- [Column("parentUserId")]
- [ForeignKey(typeof(UserDto), Name = "FK_cmsTask_umbracoUser")]
- public int ParentUserId { get; set; }
-
- [Column("userId")]
- [ForeignKey(typeof(UserDto), Name = "FK_cmsTask_umbracoUser1")]
- public int UserId { get; set; }
-
- [Column("DateTime")]
- [Constraint(Default = SystemMethods.CurrentDateTime)]
- public DateTime DateTime { get; set; }
-
- [Column("Comment")]
- [NullSetting(NullSetting = NullSettings.Null)]
- [Length(500)]
- public string Comment { get; set; }
-
- [ResultColumn]
- [Reference(ReferenceType.OneToOne, ColumnName = "TaskTypeId")]
- public TaskTypeDto TaskTypeDto { get; set; }
- }
-}
diff --git a/src/Umbraco.Core/Persistence/Dtos/TaskTypeDto.cs b/src/Umbraco.Core/Persistence/Dtos/TaskTypeDto.cs
deleted file mode 100644
index ca731c29c9..0000000000
--- a/src/Umbraco.Core/Persistence/Dtos/TaskTypeDto.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using NPoco;
-using Umbraco.Core.Persistence.DatabaseAnnotations;
-
-namespace Umbraco.Core.Persistence.Dtos
-{
- [TableName(Constants.DatabaseSchema.Tables.TaskType)]
- [PrimaryKey("id")]
- [ExplicitColumns]
- internal class TaskTypeDto
- {
- [Column("id")]
- [PrimaryKeyColumn(IdentitySeed = 2)]
- public byte Id { get; set; }
-
- [Column("alias")]
- [Index(IndexTypes.NonClustered)]
- public string Alias { get; set; }
- }
-}
diff --git a/src/Umbraco.Core/Persistence/Factories/TaskFactory.cs b/src/Umbraco.Core/Persistence/Factories/TaskFactory.cs
deleted file mode 100644
index 49bcbd4262..0000000000
--- a/src/Umbraco.Core/Persistence/Factories/TaskFactory.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-using Umbraco.Core.Models;
-using Umbraco.Core.Persistence.Dtos;
-
-namespace Umbraco.Core.Persistence.Factories
-{
- ///
- /// Creates the model mappings for Tasks
- ///
- internal static class TaskFactory
- {
- public static Task BuildEntity(TaskDto dto)
- {
- var entity = new Task(new TaskType(dto.TaskTypeDto.Alias) { Id = dto.TaskTypeDto.Id });
-
- try
- {
- entity.DisableChangeTracking();
-
- entity.Closed = dto.Closed;
- entity.AssigneeUserId = dto.UserId;
- entity.Comment = dto.Comment;
- entity.CreateDate = dto.DateTime;
- entity.EntityId = dto.NodeId;
- entity.Id = dto.Id;
- entity.OwnerUserId = dto.ParentUserId;
-
- // reset dirty initial properties (U4-1946)
- entity.ResetDirtyProperties(false);
- return entity;
- }
- finally
- {
- entity.EnableChangeTracking();
- }
- }
-
- public static TaskDto BuildDto(Task entity)
- {
- var dto = new TaskDto
- {
- Closed = entity.Closed,
- Comment = entity.Comment,
- DateTime = entity.CreateDate,
- Id = entity.Id,
- NodeId = entity.EntityId,
- ParentUserId = entity.OwnerUserId,
- TaskTypeId = (byte)entity.TaskType.Id,
- UserId = entity.AssigneeUserId
- };
-
- return dto;
- }
- }
-}
diff --git a/src/Umbraco.Core/Persistence/Factories/TaskTypeFactory.cs b/src/Umbraco.Core/Persistence/Factories/TaskTypeFactory.cs
deleted file mode 100644
index 01a25ff852..0000000000
--- a/src/Umbraco.Core/Persistence/Factories/TaskTypeFactory.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using Umbraco.Core.Models;
-using Umbraco.Core.Persistence.Dtos;
-
-namespace Umbraco.Core.Persistence.Factories
-{
- internal static class TaskTypeFactory
- {
- public static TaskType BuildEntity(TaskTypeDto dto)
- {
- var entity = new TaskType(dto.Alias) {Id = dto.Id};
- // reset dirty initial properties (U4-1946)
- entity.ResetDirtyProperties(false);
- return entity;
- }
-
- public static TaskTypeDto BuildDto(TaskType entity)
- {
- var dto = new TaskTypeDto
- {
- Id = (byte)entity.Id,
- Alias = entity.Alias
- };
- return dto;
- }
- }
-}
diff --git a/src/Umbraco.Core/Persistence/Mappers/TaskTypeMapper.cs b/src/Umbraco.Core/Persistence/Mappers/TaskTypeMapper.cs
deleted file mode 100644
index f503fc1684..0000000000
--- a/src/Umbraco.Core/Persistence/Mappers/TaskTypeMapper.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System.Collections.Concurrent;
-using Umbraco.Core.Models;
-using Umbraco.Core.Persistence.Dtos;
-
-namespace Umbraco.Core.Persistence.Mappers
-{
- ///
- /// Represents a to DTO mapper used to translate the properties of the public api
- /// implementation to that of the database's DTO as sql: [tableName].[columnName].
- ///
- [MapperFor(typeof(TaskType))]
- public sealed class TaskTypeMapper : BaseMapper
- {
- private static readonly ConcurrentDictionary PropertyInfoCacheInstance = new ConcurrentDictionary();
-
- internal override ConcurrentDictionary PropertyInfoCache => PropertyInfoCacheInstance;
-
- protected override void BuildMap()
- {
- CacheMap(src => src.Id, dto => dto.Id);
- CacheMap(src => src.Alias, dto => dto.Alias);
- }
- }
-}
diff --git a/src/Umbraco.Core/Persistence/Repositories/ITaskRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ITaskRepository.cs
deleted file mode 100644
index 10c517fa72..0000000000
--- a/src/Umbraco.Core/Persistence/Repositories/ITaskRepository.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using System.Collections.Generic;
-using Umbraco.Core.Models;
-
-namespace Umbraco.Core.Persistence.Repositories
-{
- public interface ITaskRepository : IReadWriteQueryRepository
- {
- IEnumerable GetTasks(int? itemId = null, int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false);
- }
-}
diff --git a/src/Umbraco.Core/Persistence/Repositories/ITaskTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ITaskTypeRepository.cs
deleted file mode 100644
index 9fe483b462..0000000000
--- a/src/Umbraco.Core/Persistence/Repositories/ITaskTypeRepository.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-using Umbraco.Core.Models;
-
-namespace Umbraco.Core.Persistence.Repositories
-{
- public interface ITaskTypeRepository : IReadWriteQueryRepository
- { }
-}
diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/TaskRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/TaskRepository.cs
deleted file mode 100644
index 656c97a1e9..0000000000
--- a/src/Umbraco.Core/Persistence/Repositories/Implement/TaskRepository.cs
+++ /dev/null
@@ -1,163 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using LightInject;
-using NPoco;
-using Umbraco.Core.Cache;
-using Umbraco.Core.Composing.CompositionRoots;
-using Umbraco.Core.Exceptions;
-using Umbraco.Core.Logging;
-using Umbraco.Core.Models;
-using Umbraco.Core.Persistence.Dtos;
-using Umbraco.Core.Persistence.Factories;
-using Umbraco.Core.Persistence.Querying;
-using Umbraco.Core.Scoping;
-
-namespace Umbraco.Core.Persistence.Repositories.Implement
-{
- internal class TaskRepository : NPocoRepositoryBase, ITaskRepository
- {
- public TaskRepository(IScopeAccessor scopeAccessor, [Inject(RepositoryCompositionRoot.DisabledCache)] CacheHelper cache, ILogger logger)
- : base(scopeAccessor, cache, logger)
- { }
-
- protected override Task PerformGet(int id)
- {
- var sql = GetBaseQuery(false);
- sql.Where(GetBaseWhereClause(), new { id = id });
-
- var taskDto = Database.Fetch(SqlContext.SqlSyntax.SelectTop(sql, 1)).FirstOrDefault();
- if (taskDto == null)
- return null;
-
- var entity = TaskFactory.BuildEntity(taskDto);
- return entity;
- }
-
- protected override IEnumerable PerformGetAll(params int[] ids)
- {
- var sql = GetBaseQuery(false);
-
- if (ids.Any())
- {
- sql.Where("cmsTask.id IN (@ids)", new { ids = ids });
- }
-
- var dtos = Database.Fetch(sql);
- return dtos.Select(TaskFactory.BuildEntity);
- }
-
- protected override IEnumerable PerformGetByQuery(IQuery query)
- {
- var sqlClause = GetBaseQuery(false);
- var translator = new SqlTranslator(sqlClause, query);
- var sql = translator.Translate();
-
- var dtos = Database.Fetch(sql);
- return dtos.Select(TaskFactory.BuildEntity);
- }
-
- protected override Sql GetBaseQuery(bool isCount)
- {
- return isCount ? SqlContext.Sql().SelectCount().From() : GetBaseQuery();
- }
-
- private Sql GetBaseQuery()
- {
- return SqlContext.Sql()
- .Select("cmsTask.closed,cmsTask.id,cmsTask.taskTypeId,cmsTask.nodeId,cmsTask.parentUserId,cmsTask.userId,cmsTask." + SqlContext.SqlSyntax.GetQuotedColumnName("DateTime") + ",cmsTask.Comment,cmsTaskType.id, cmsTaskType.alias")
- .From()
- .InnerJoin()
- .On(left => left.TaskTypeId, right => right.Id)
- .InnerJoin()
- .On(left => left.NodeId, right => right.NodeId);
- }
-
- protected override string GetBaseWhereClause()
- {
- return "cmsTask.id = @id";
- }
-
- protected override IEnumerable GetDeleteClauses()
- {
- var list = new List
- {
- "DELETE FROM cmsTask WHERE id = @id"
- };
- return list;
- }
-
- protected override Guid NodeObjectTypeId => throw new WontImplementException();
-
- protected override void PersistNewItem(Task entity)
- {
- entity.AddingEntity();
-
- //ensure the task type exists
- var taskType = Database.SingleOrDefault("Where alias = @alias", new { alias = entity.TaskType.Alias });
- if (taskType == null)
- {
- var taskTypeId = Convert.ToInt32(Database.Insert(new TaskTypeDto { Alias = entity.TaskType.Alias }));
- entity.TaskType.Id = taskTypeId;
- }
- else
- {
- entity.TaskType.Id = taskType.Id;
- }
-
- var dto = TaskFactory.BuildDto(entity);
-
- var id = Convert.ToInt32(Database.Insert(dto));
- entity.Id = id;
-
- entity.ResetDirtyProperties();
- }
-
- protected override void PersistUpdatedItem(Task entity)
- {
- entity.UpdatingEntity();
-
- var dto = TaskFactory.BuildDto(entity);
-
- Database.Update(dto);
-
- entity.ResetDirtyProperties();
- }
-
- public IEnumerable GetTasks(int? itemId = null, int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false)
- {
- var sql = GetGetTasksQuery(assignedUser, ownerUser, taskTypeAlias, includeClosed);
- if (itemId.HasValue)
- {
- sql.Where(dto => dto.NodeId == itemId.Value);
- }
-
- var dtos = Database.Fetch(sql);
-
- return dtos.Select(TaskFactory.BuildEntity);
- }
-
- private Sql GetGetTasksQuery(int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false)
- {
- var sql = GetBaseQuery(false);
-
- if (includeClosed == false)
- {
- sql.Where(dto => dto.Closed == false);
- }
- if (taskTypeAlias.IsNullOrWhiteSpace() == false)
- {
- sql.Where("cmsTaskType.alias = @alias", new { alias = taskTypeAlias });
- }
- if (ownerUser.HasValue)
- {
- sql.Where(dto => dto.ParentUserId == ownerUser.Value);
- }
- if (assignedUser.HasValue)
- {
- sql.Where(dto => dto.UserId == assignedUser.Value);
- }
- return sql;
- }
- }
-}
diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/TaskTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/TaskTypeRepository.cs
deleted file mode 100644
index 8669e7a9dc..0000000000
--- a/src/Umbraco.Core/Persistence/Repositories/Implement/TaskTypeRepository.cs
+++ /dev/null
@@ -1,113 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using LightInject;
-using NPoco;
-using Umbraco.Core.Cache;
-using Umbraco.Core.Composing.CompositionRoots;
-using Umbraco.Core.Logging;
-using Umbraco.Core.Models;
-using Umbraco.Core.Persistence.Dtos;
-using Umbraco.Core.Persistence.Factories;
-using Umbraco.Core.Persistence.Querying;
-using Umbraco.Core.Scoping;
-
-namespace Umbraco.Core.Persistence.Repositories.Implement
-{
- internal class TaskTypeRepository : NPocoRepositoryBase, ITaskTypeRepository
- {
- public TaskTypeRepository(IScopeAccessor scopeAccessor, [Inject(RepositoryCompositionRoot.DisabledCache)] CacheHelper cache, ILogger logger)
- : base(scopeAccessor, cache, logger)
- { }
-
- protected override TaskType PerformGet(int id)
- {
- var sql = GetBaseQuery(false);
- sql.Where(GetBaseWhereClause(), new { Id = id });
-
- var taskDto = Database.Fetch(SqlContext.SqlSyntax.SelectTop(sql, 1)).FirstOrDefault();
- if (taskDto == null)
- return null;
-
- var entity = TaskTypeFactory.BuildEntity(taskDto);
- return entity;
- }
-
- protected override IEnumerable PerformGetAll(params int[] ids)
- {
- var sql = GetBaseQuery(false);
-
- if (ids.Any())
- {
- sql.Where("cmsTaskType.id IN (@ids)", new { ids });
- }
-
- var dtos = Database.Fetch(sql);
- return dtos.Select(TaskTypeFactory.BuildEntity);
- }
-
- protected override IEnumerable PerformGetByQuery(IQuery query)
- {
- var sqlClause = GetBaseQuery(false);
- var translator = new SqlTranslator(sqlClause, query);
- var sql = translator.Translate();
-
- var dtos = Database.Fetch(sql);
- return dtos.Select(TaskTypeFactory.BuildEntity);
- }
-
- protected override Sql GetBaseQuery(bool isCount)
- {
- return SqlContext.Sql().SelectAll().From();
- }
-
- protected override string GetBaseWhereClause()
- {
- return "cmsTaskType.id = @id";
- }
-
- protected override IEnumerable GetDeleteClauses()
- {
- var list = new List
- {
- "DELETE FROM cmsTask WHERE taskTypeId = @id",
- "DELETE FROM cmsTaskType WHERE id = @id"
- };
- return list;
- }
-
- protected override Guid NodeObjectTypeId => throw new NotImplementedException();
-
- protected override void PersistNewItem(TaskType entity)
- {
- entity.AddingEntity();
-
- //TODO: Just remove the task type db table or add a unique index to the alias
-
- //ensure the task type exists
- var taskType = Database.SingleOrDefault("Where alias = @alias", new { alias = entity.Alias });
- if (taskType != null)
- {
- throw new InvalidOperationException("A task type already exists with the given alias " + entity.Alias);
- }
-
- var dto = TaskTypeFactory.BuildDto(entity);
-
- var id = Convert.ToInt32(Database.Insert(dto));
- entity.Id = id;
-
- entity.ResetDirtyProperties();
- }
-
- protected override void PersistUpdatedItem(TaskType entity)
- {
- entity.UpdatingEntity();
-
- var dto = TaskTypeFactory.BuildDto(entity);
-
- Database.Update(dto);
-
- entity.ResetDirtyProperties();
- }
- }
-}
diff --git a/src/Umbraco.Core/Services/ITaskService.cs b/src/Umbraco.Core/Services/ITaskService.cs
deleted file mode 100644
index 2fd37777ad..0000000000
--- a/src/Umbraco.Core/Services/ITaskService.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System;
-using System.Collections.Generic;
-using Umbraco.Core.Models;
-
-namespace Umbraco.Core.Services
-{
- public interface ITaskService : IService
- {
- TaskType GetTaskTypeByAlias(string taskTypeAlias);
- TaskType GetTaskTypeById(int id);
- void Save(TaskType taskType);
- void Delete(TaskType taskTypeEntity);
-
- //IEnumerable GetTasks(Guid? itemId = null, int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false);
- IEnumerable GetTasks(int? itemId = null, int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false);
-
- ///
- /// Saves a task
- ///
- ///
- void Save(Task task);
- void Delete(Task task);
-
- IEnumerable GetAllTaskTypes();
- Task GetTaskById(int id);
- }
-}
diff --git a/src/Umbraco.Core/Services/Implement/TaskService.cs b/src/Umbraco.Core/Services/Implement/TaskService.cs
deleted file mode 100644
index 74fdddedfa..0000000000
--- a/src/Umbraco.Core/Services/Implement/TaskService.cs
+++ /dev/null
@@ -1,105 +0,0 @@
-using System.Collections.Generic;
-using System.Linq;
-using Umbraco.Core.Events;
-using Umbraco.Core.Logging;
-using Umbraco.Core.Models;
-using Umbraco.Core.Persistence.Repositories;
-using Umbraco.Core.Scoping;
-
-namespace Umbraco.Core.Services.Implement
-{
- public class TaskService : RepositoryService, ITaskService
- {
- private readonly ITaskTypeRepository _taskTypeRepository;
- private readonly ITaskRepository _taskRepository;
-
- public TaskService(IScopeProvider provider, ILogger logger, IEventMessagesFactory eventMessagesFactory,
- ITaskTypeRepository taskTypeRepository, ITaskRepository taskRepository)
- : base(provider, logger, eventMessagesFactory)
- {
- _taskTypeRepository = taskTypeRepository;
- _taskRepository = taskRepository;
- }
-
- public TaskType GetTaskTypeByAlias(string taskTypeAlias)
- {
- using (var scope = ScopeProvider.CreateScope(autoComplete: true))
- {
- return _taskTypeRepository.Get(Query().Where(x => x.Alias == taskTypeAlias)).FirstOrDefault();
- }
- }
-
- public TaskType GetTaskTypeById(int id)
- {
- using (var scope = ScopeProvider.CreateScope(autoComplete: true))
- {
- return _taskTypeRepository.Get(id);
- }
- }
-
- public void Save(TaskType taskType)
- {
- using (var scope = ScopeProvider.CreateScope())
- {
- _taskTypeRepository.Save(taskType);
- scope.Complete();
- }
- }
-
- public void Delete(TaskType taskTypeEntity)
- {
- using (var scope = ScopeProvider.CreateScope())
- {
- _taskTypeRepository.Delete(taskTypeEntity);
- scope.Complete();
- }
- }
-
- public IEnumerable GetAllTaskTypes()
- {
- using (var scope = ScopeProvider.CreateScope(autoComplete: true))
- {
- return _taskTypeRepository.GetMany();
- }
- }
-
-
- public IEnumerable GetTasks(int? itemId = null, int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false)
- {
- using (var scope = ScopeProvider.CreateScope(autoComplete: true))
- {
- return _taskRepository.GetTasks(itemId, assignedUser, ownerUser, taskTypeAlias);
- }
- }
-
- ///
- /// Saves a task
- ///
- ///
- public void Save(Task task)
- {
- using (var scope = ScopeProvider.CreateScope())
- {
- _taskRepository.Save(task);
- scope.Complete();
- }
- }
-
- public void Delete(Task task)
- {
- using (var scope = ScopeProvider.CreateScope())
- {
- _taskRepository.Delete(task);
- scope.Complete();
- }
- }
-
- public Task GetTaskById(int id)
- {
- using (var scope = ScopeProvider.CreateScope(autoComplete: true))
- {
- return _taskRepository.Get(id);
- }
- }
- }
-}
diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj
index d1303c37e5..30e5f70eab 100644
--- a/src/Umbraco.Core/Umbraco.Core.csproj
+++ b/src/Umbraco.Core/Umbraco.Core.csproj
@@ -71,7 +71,7 @@
-
+
2.7.1
@@ -801,8 +801,6 @@
-
-
@@ -824,8 +822,6 @@
-
-
@@ -900,8 +896,6 @@
-
-
@@ -951,7 +945,6 @@
-
@@ -1160,8 +1153,6 @@
-
-
@@ -1192,8 +1183,6 @@
-
-
@@ -1379,7 +1368,6 @@
-
@@ -1409,7 +1397,6 @@
-
diff --git a/src/Umbraco.Tests/Models/TaskTests.cs b/src/Umbraco.Tests/Models/TaskTests.cs
deleted file mode 100644
index 808c2884b7..0000000000
--- a/src/Umbraco.Tests/Models/TaskTests.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-using System;
-using System.Diagnostics;
-using NUnit.Framework;
-using Umbraco.Core.Models;
-using Umbraco.Core.Serialization;
-
-namespace Umbraco.Tests.Models
-{
- [TestFixture]
- public class TaskTests
- {
- [Test]
- public void Can_Deep_Clone()
- {
- var item = new Task(new TaskType("test") {Id = 3})
- {
- AssigneeUserId = 4,
- Closed = true,
- Comment = "blah",
- CreateDate = DateTime.Now,
- EntityId = 99,
- Id = 2,
- Key = Guid.NewGuid(),
- OwnerUserId = 89,
- TaskType = new TaskType("asdf") {Id = 99},
- UpdateDate = DateTime.Now
- };
-
- var clone = (Task) item.DeepClone();
-
- Assert.AreNotSame(clone, item);
- Assert.AreEqual(clone, item);
- Assert.AreEqual(clone.CreateDate, item.CreateDate);
- Assert.AreEqual(clone.UpdateDate, item.UpdateDate);
- Assert.AreEqual(clone.AssigneeUserId, item.AssigneeUserId);
- Assert.AreEqual(clone.Closed, item.Closed);
- Assert.AreEqual(clone.Comment, item.Comment);
- Assert.AreEqual(clone.EntityId, item.EntityId);
- Assert.AreEqual(clone.Id, item.Id);
- Assert.AreEqual(clone.Key, item.Key);
- Assert.AreEqual(clone.OwnerUserId, item.OwnerUserId);
- Assert.AreNotSame(clone.TaskType, item.TaskType);
- Assert.AreEqual(clone.TaskType, item.TaskType);
-
- //This double verifies by reflection
- var allProps = clone.GetType().GetProperties();
- foreach (var propertyInfo in allProps)
- {
- Assert.AreEqual(propertyInfo.GetValue(clone, null), propertyInfo.GetValue(item, null));
- }
- }
-
- [Test]
- public void Can_Serialize_Without_Error()
- {
- var ss = new SerializationService(new JsonNetSerializer());
-
- var item = new Task(new TaskType("test") { Id = 3 })
- {
- AssigneeUserId = 4,
- Closed = true,
- Comment = "blah",
- CreateDate = DateTime.Now,
- EntityId = 99,
- Id = 2,
- Key = Guid.NewGuid(),
- OwnerUserId = 89,
- TaskType = new TaskType("asdf") { Id = 99 },
- UpdateDate = DateTime.Now
- };
-
- var result = ss.ToStream(item);
- var json = result.ResultStream.ToJsonString();
- Debug.Print(json);
- }
-
- }
-}
diff --git a/src/Umbraco.Tests/Models/TaskTypeTests.cs b/src/Umbraco.Tests/Models/TaskTypeTests.cs
deleted file mode 100644
index 5e31e8a1d8..0000000000
--- a/src/Umbraco.Tests/Models/TaskTypeTests.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-using System;
-using System.Diagnostics;
-using NUnit.Framework;
-using Umbraco.Core.Models;
-using Umbraco.Core.Serialization;
-
-namespace Umbraco.Tests.Models
-{
- [TestFixture]
- public class TaskTypeTests
- {
- [Test]
- public void Can_Deep_Clone()
- {
- var item = new TaskType("test")
- {
- Id = 3,
- Alias = "test",
- CreateDate = DateTime.Now,
- Key = Guid.NewGuid(),
- UpdateDate = DateTime.Now
- };
-
- var clone = (TaskType)item.DeepClone();
-
- Assert.AreNotSame(clone, item);
- Assert.AreEqual(clone, item);
- Assert.AreEqual(clone.CreateDate, item.CreateDate);
- Assert.AreEqual(clone.Id, item.Id);
- Assert.AreEqual(clone.Key, item.Key);
- Assert.AreEqual(clone.Alias, item.Alias);
- Assert.AreEqual(clone.UpdateDate, item.UpdateDate);
-
- //This double verifies by reflection
- var allProps = clone.GetType().GetProperties();
- foreach (var propertyInfo in allProps)
- {
- Assert.AreEqual(propertyInfo.GetValue(clone, null), propertyInfo.GetValue(item, null));
- }
-
- }
-
- [Test]
- public void Can_Serialize_Without_Error()
- {
- var ss = new SerializationService(new JsonNetSerializer());
-
- var item = new TaskType("test")
- {
- Id = 3,
- Alias = "test",
- CreateDate = DateTime.Now,
- Key = Guid.NewGuid(),
- UpdateDate = DateTime.Now
- };
-
- var result = ss.ToStream(item);
- var json = result.ResultStream.ToJsonString();
- Debug.Print(json);
- }
- }
-}
diff --git a/src/Umbraco.Tests/Persistence/Repositories/TaskRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/TaskRepositoryTest.cs
deleted file mode 100644
index 1434fa6cea..0000000000
--- a/src/Umbraco.Tests/Persistence/Repositories/TaskRepositoryTest.cs
+++ /dev/null
@@ -1,229 +0,0 @@
-using System;
-using System.Linq;
-using NUnit.Framework;
-using Umbraco.Core;
-using Umbraco.Core.Models;
-using Umbraco.Core.Persistence.Repositories;
-using Umbraco.Core.Persistence.Repositories.Implement;
-using Umbraco.Core.Scoping;
-using Umbraco.Tests.TestHelpers;
-using Umbraco.Tests.Testing;
-
-namespace Umbraco.Tests.Persistence.Repositories
-{
- [TestFixture]
- [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
- public class TaskRepositoryTest : TestWithDatabaseBase
- {
- [Test]
- public void Can_Delete()
- {
- var provider = TestObjects.GetScopeProvider(Logger);
- using (var scope = ScopeProvider.CreateScope())
- {
- var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
-
- var created = DateTime.Now;
- var task = new Task(new TaskType("asdfasdf"))
- {
- AssigneeUserId = Constants.Security.SuperUserId,
- Closed = false,
- Comment = "hello world",
- EntityId = -1,
- OwnerUserId = Constants.Security.SuperUserId
- };
- repo.Save(task);
-
-
- repo.Delete(task);
-
-
- task = repo.Get(task.Id);
- Assert.IsNull(task);
- }
- }
-
- [Test]
- public void Can_Add()
- {
- var provider = TestObjects.GetScopeProvider(Logger);
- using (var scope = ScopeProvider.CreateScope())
- {
- var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
-
- var created = DateTime.Now;
- repo.Save(new Task(new TaskType("asdfasdf"))
- {
- AssigneeUserId = Constants.Security.SuperUserId,
- Closed = false,
- Comment = "hello world",
- EntityId = -1,
- OwnerUserId = Constants.Security.SuperUserId
- });
-
-
- var found = repo.GetMany().ToArray();
-
- Assert.AreEqual(1, found.Length);
- Assert.AreEqual(Constants.Security.SuperUserId, found.First().AssigneeUserId);
- Assert.AreEqual(false, found.First().Closed);
- Assert.AreEqual("hello world", found.First().Comment);
- Assert.GreaterOrEqual(found.First().CreateDate.TruncateTo(DateTimeExtensions.DateTruncate.Second), created.TruncateTo(DateTimeExtensions.DateTruncate.Second));
- Assert.AreEqual(-1, found.First().EntityId);
- Assert.AreEqual(Constants.Security.SuperUserId, found.First().OwnerUserId);
- Assert.AreEqual(true, found.First().HasIdentity);
- Assert.AreEqual(true, found.First().TaskType.HasIdentity);
- }
- }
-
- [Test]
- public void Can_Update()
- {
- var provider = TestObjects.GetScopeProvider(Logger);
- using (var scope = ScopeProvider.CreateScope())
- {
- var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
-
- var task = new Task(new TaskType("asdfasdf"))
- {
- AssigneeUserId = Constants.Security.SuperUserId,
- Closed = false,
- Comment = "hello world",
- EntityId = -1,
- OwnerUserId = Constants.Security.SuperUserId
- };
-
- repo.Save(task);
-
-
- //re-get
- task = repo.Get(task.Id);
-
- task.Comment = "blah";
- task.Closed = true;
-
- repo.Save(task);
-
-
- //re-get
- task = repo.Get(task.Id);
-
- Assert.AreEqual(true, task.Closed);
- Assert.AreEqual("blah", task.Comment);
- }
- }
-
- [Test]
- public void Get_By_Id()
- {
- var provider = TestObjects.GetScopeProvider(Logger);
- using (var scope = ScopeProvider.CreateScope())
- {
- var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
-
- var task = new Task(new TaskType("asdfasdf"))
- {
- AssigneeUserId = Constants.Security.SuperUserId,
- Closed = false,
- Comment = "hello world",
- EntityId = -1,
- OwnerUserId = Constants.Security.SuperUserId
- };
-
- repo.Save(task);
-
-
- //re-get
- task = repo.Get(task.Id);
-
- Assert.IsNotNull(task);
- }
- }
-
- [Test]
- public void Get_All()
- {
- CreateTestData(false, 20);
-
- var provider = TestObjects.GetScopeProvider(Logger);
- using (var scope = ScopeProvider.CreateScope())
- {
- var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
-
- var found = repo.GetMany().ToArray();
- Assert.AreEqual(20, found.Count());
- }
- }
-
- [Test]
- public void Get_All_With_Closed()
- {
- CreateTestData(false, 10);
- CreateTestData(true, 5);
-
- var provider = TestObjects.GetScopeProvider(Logger);
- using (var scope = ScopeProvider.CreateScope())
- {
- var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
-
- var found = repo.GetTasks(includeClosed: true).ToArray();
- Assert.AreEqual(15, found.Count());
- }
- }
-
- [Test]
- public void Get_All_With_Node_Id()
- {
- CreateTestData(false, 10, -20);
- CreateTestData(false, 5, -21);
-
- var provider = TestObjects.GetScopeProvider(Logger);
- using (var scope = ScopeProvider.CreateScope())
- {
- var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
-
- var found = repo.GetTasks(itemId:-20).ToArray();
- Assert.AreEqual(10, found.Count());
- }
- }
-
- [Test]
- public void Get_All_Without_Closed()
- {
- CreateTestData(false, 10);
- CreateTestData(true, 5);
-
- var provider = TestObjects.GetScopeProvider(Logger);
- using (var scope = ScopeProvider.CreateScope())
- {
- var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
-
- var found = repo.GetTasks(includeClosed: false);
- Assert.AreEqual(10, found.Count());
- }
- }
-
- private void CreateTestData(bool closed, int count, int entityId = -1)
- {
- var provider = TestObjects.GetScopeProvider(Logger);
- using (var scope = ScopeProvider.CreateScope())
- {
- var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
-
- for (int i = 0; i < count; i++)
- {
- repo.Save(new Task(new TaskType("asdfasdf"))
- {
- AssigneeUserId = Constants.Security.SuperUserId,
- Closed = closed,
- Comment = "hello world " + i,
- EntityId = entityId,
- OwnerUserId = Constants.Security.SuperUserId
- });
- }
-
- scope.Complete();
- }
- }
- }
-}
diff --git a/src/Umbraco.Tests/Persistence/Repositories/TaskTypeRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/TaskTypeRepositoryTest.cs
deleted file mode 100644
index f37fa37dca..0000000000
--- a/src/Umbraco.Tests/Persistence/Repositories/TaskTypeRepositoryTest.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-using System;
-using System.Linq;
-using NUnit.Framework;
-using Umbraco.Core;
-using Umbraco.Core.Models;
-using Umbraco.Core.Persistence.Repositories;
-using Umbraco.Core.Persistence.Repositories.Implement;
-using Umbraco.Core.Scoping;
-using Umbraco.Tests.TestHelpers;
-using Umbraco.Tests.Testing;
-
-namespace Umbraco.Tests.Persistence.Repositories
-{
- [TestFixture]
- [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
- public class TaskTypeRepositoryTest : TestWithDatabaseBase
- {
- [Test]
- public void Can_Delete()
- {
- var provider = TestObjects.GetScopeProvider(Logger);
- using (var scope = ScopeProvider.CreateScope())
- {
- var taskType = new TaskType("asdfasdf");
- var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
- var taskTypeRepo = new TaskTypeRepository((IScopeAccessor) provider, CacheHelper, Logger);
-
- var created = DateTime.Now;
- var task = new Task(taskType)
- {
- AssigneeUserId = Constants.Security.SuperUserId,
- Closed = false,
- Comment = "hello world",
- EntityId = -1,
- OwnerUserId = Constants.Security.SuperUserId
- };
- repo.Save(task);
-
- var alltasktypes = taskTypeRepo.GetMany();
-
- taskTypeRepo.Delete(taskType);
-
- Assert.AreEqual(alltasktypes.Count() - 1, taskTypeRepo.GetMany().Count());
- Assert.AreEqual(0, repo.GetMany().Count());
- }
-
-
- }
- }
-}
diff --git a/src/Umbraco.Tests/Persistence/SqlCeTableByTableTest.cs b/src/Umbraco.Tests/Persistence/SqlCeTableByTableTest.cs
index ba9a6b219c..38daa2c1a7 100644
--- a/src/Umbraco.Tests/Persistence/SqlCeTableByTableTest.cs
+++ b/src/Umbraco.Tests/Persistence/SqlCeTableByTableTest.cs
@@ -450,35 +450,6 @@ namespace Umbraco.Tests.Persistence
}
}
- [Test]
- public void Can_Create_cmsTask_Table()
- {
- using (var scope = ScopeProvider.CreateScope())
- {
- var helper = new DatabaseSchemaCreator(scope.Database, Mock.Of());
-
- helper.CreateTable();
- helper.CreateTable();
- helper.CreateTable();
- helper.CreateTable();
-
- scope.Complete();
- }
- }
-
- [Test]
- public void Can_Create_cmsTaskType_Table()
- {
- using (var scope = ScopeProvider.CreateScope())
- {
- var helper = new DatabaseSchemaCreator(scope.Database, Mock.Of());
-
- helper.CreateTable();
-
- scope.Complete();
- }
- }
-
[Test]
public void Can_Create_umbracoUser_Table()
{
diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj
index 8938d5a409..afd90f9762 100644
--- a/src/Umbraco.Tests/Umbraco.Tests.csproj
+++ b/src/Umbraco.Tests/Umbraco.Tests.csproj
@@ -222,8 +222,6 @@
-
-
@@ -258,8 +256,6 @@
-
-
diff --git a/src/Umbraco.Web.UI/Umbraco/translation/default.aspx b/src/Umbraco.Web.UI/Umbraco/translation/default.aspx
deleted file mode 100644
index a725ec0a24..0000000000
--- a/src/Umbraco.Web.UI/Umbraco/translation/default.aspx
+++ /dev/null
@@ -1,55 +0,0 @@
-<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="../masterpages/umbracoPage.Master" CodeBehind="default.aspx.cs" Inherits="umbraco.presentation.translation._default" %>
-<%@ Register TagPrefix="cc1" Namespace="Umbraco.Web._Legacy.Controls" Assembly="Umbraco.Web" %>
-
-
-
-
-
-
-
-
-
-
-
-
- When you have completed the translation. Upload the edited XML file here. The related translation tasks will automatically be closed when a file is uploaded.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <%= Services.TextService.Localize("translation/downloadAllAsXml") %>
-
- <%= Services.TextService.Localize("translation/DownloadXmlDTD")%>
-
-
-
-
-
- "><%#Eval("NodeName") %>
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Umbraco.Web.UI/Umbraco/translation/details.aspx b/src/Umbraco.Web.UI/Umbraco/translation/details.aspx
deleted file mode 100644
index 412557c420..0000000000
--- a/src/Umbraco.Web.UI/Umbraco/translation/details.aspx
+++ /dev/null
@@ -1,43 +0,0 @@
-<%@ Page Title="" Language="C#" MasterPageFile="../masterpages/umbracoPage.Master" AutoEventWireup="true" CodeBehind="details.aspx.cs" Inherits="umbraco.presentation.umbraco.translation.details" %>
-<%@ Register TagPrefix="ui" Namespace="Umbraco.Web._Legacy.Controls" Assembly="Umbraco.Web" %>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Umbraco.Web.UI/Umbraco/translation/preview.aspx b/src/Umbraco.Web.UI/Umbraco/translation/preview.aspx
deleted file mode 100644
index 904b58e56f..0000000000
--- a/src/Umbraco.Web.UI/Umbraco/translation/preview.aspx
+++ /dev/null
@@ -1,40 +0,0 @@
-<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="../masterpages/umbracoPage.Master" CodeBehind="preview.aspx.cs" Inherits="umbraco.presentation.translation.preview" %>
-
-
-
-
-
-Translated version
-Original
-
-
-
-
-
- Please notice that due to templating and unpublished content, the 2 pages can have differences in layout.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/Umbraco.Web.UI/Umbraco/translation/translationTasks.dtd b/src/Umbraco.Web.UI/Umbraco/translation/translationTasks.dtd
deleted file mode 100644
index 5cad15ceba..0000000000
--- a/src/Umbraco.Web.UI/Umbraco/translation/translationTasks.dtd
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Umbraco.Web.UI/Umbraco/translation/xml.aspx b/src/Umbraco.Web.UI/Umbraco/translation/xml.aspx
deleted file mode 100644
index 90c37b758e..0000000000
--- a/src/Umbraco.Web.UI/Umbraco/translation/xml.aspx
+++ /dev/null
@@ -1,2 +0,0 @@
-<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="xml.aspx.cs" Inherits="umbraco.presentation.translation.xml" %>
-
\ No newline at end of file
diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj
index c2a420b3d6..d55ff328ee 100644
--- a/src/Umbraco.Web/Umbraco.Web.csproj
+++ b/src/Umbraco.Web/Umbraco.Web.csproj
@@ -1133,9 +1133,6 @@
-
-
-
@@ -1343,13 +1340,6 @@
rollBack.aspx
-
- sendToTranslation.aspx
- ASPXCodeBehind
-
-
- sendToTranslation.aspx
-
Code
@@ -1361,36 +1351,7 @@
-
- default.aspx
- ASPXCodeBehind
-
-
- default.aspx
-
-
- details.aspx
- ASPXCodeBehind
-
-
- details.aspx
-
-
- preview.aspx
- ASPXCodeBehind
-
-
- preview.aspx
-
-
- xml.aspx
- ASPXCodeBehind
-
-
- xml.aspx
-
-
@@ -1450,11 +1411,6 @@
-
- ASPXCodeBehind
-
-
-
@@ -1479,14 +1435,12 @@
ASPXCodeBehind
-
ASPXCodeBehind
ASPXCodeBehind
-
@@ -1542,6 +1496,7 @@
+
+ Submit
+
Typ
Pro hledání pište...
Nahoru
@@ -548,7 +537,6 @@
Obnovte nyní pro uložení práce
- Šťastnou super neděli
Šťastné šílené pondělí
Šťastné husté úterý
Šťastnou překrásnou středu
@@ -680,11 +668,9 @@
Jestliže chcete nastavit jenom jednoduchou ochranu prostřednictvím uživatelského jména a hesla
-
-
-
+ ]]>
@@ -807,10 +793,6 @@
Soubor byl uložen
Soubor byl uložen bez chyb
Jazyk byl uložen
- Skript python nebyl uložen
- Skript python nemohl být uložen kvůli chybě
- Skript python byl uložen
- Ve skriptu python nejsou žádné chyby
Šablona nebyla uložena
Ujistěte se, prosím, že nemáte 2 šablony se stejným aliasem
Šablona byla uložena
@@ -841,27 +823,20 @@
Šablona
- Rich Text Editor
Image
Macro
- Embed
- Headline
- Quote
Choose type of content
Choose a layout
Add a row
Add content
Drop content
Settings applied
-
This content is not allowed here
This content is allowed here
-
Click to embed
Click to insert image
Image caption...
Write here...
-
Grid Layouts
Layouts are the overall work area for the grid editor, usually you only need one or two different layouts
Add Grid Layout
@@ -876,7 +851,6 @@
Configure what settings editors can change
Styles
Configure what styling editors can change
- Settings will only save if the entered json configuration is valid
Allow all editors
Allow all row configurations
@@ -909,15 +883,7 @@
Ano, s časem. Oddělovač:
- Úlohy přidělené Vám
- přidělené Vám. Chcete-li vidět podrobné zobrazení včetně komentářů, klikněte na "Podrobnosti" nebo pouze na název stránky.
- Můžete také přímo stáhnout stránku jako XML kliknutím na odkaz "Stáhnout Xml".
- Pro zavření překladatelské úlohy přejděte, prosím, na zobrazení Podrobnosti a klikněte na tlačítko "Zavřít".
- ]]>
- zavřít úlohu
Podrobnosti překladu
- Stáhnout všechny překladatelské úlohy jako xml
- Stáhnout xml
Stáhnout xml DTD
Pole
Zahrnout podstránky
@@ -936,16 +902,9 @@
Zdraví umbraco robot
]]>
- [%0%] Překladatelská úloha pro %1%
Žádní uživatelé překladatelé nebyli nalezeni. Vytvořte, prosím, překladatele před tím, než začnete posílat obsah k překladu
- Úlohy vytvořené Vámi
- vytvořené Vámi. Chcete-li vidět podrobné zobrazení včetně komentářů, klikněte na "Podrobnosti" nebo pouze na název stránky. Můžete také přímo stáhnout stránku jako XML kliknutím na odkaz "Stáhnout Xml".
- Pro zavření překladatelské úlohy přejděte, prosím, na zobrazení Podrobnosti a klikněte na tlačítko "Zavřít".
- ]]>
Stránka '%0%' byla poslána k překladu
Poslat stránku '%0%' k překladu
- Přiděleno uživatelem
- Otevřené úlohy
Slov celkem
Přeložit do
Překlad hotov.
@@ -975,7 +934,6 @@
Typy dokumentů
Balíčky
Balíčky
- Soubory python
Instalovat z úložiště
Instalovat Runway
Moduly Runway
@@ -1033,4 +991,4 @@
Vaše nedávná historie
Relace vyprší za
-
+
\ No newline at end of file
diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/da.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/da.xml
index e0dd0973f6..2f31f2d24e 100644
--- a/src/Umbraco.Web.UI/Umbraco/config/lang/da.xml
+++ b/src/Umbraco.Web.UI/Umbraco/config/lang/da.xml
@@ -91,16 +91,13 @@
f.eks. ditdomaene.com, www.ditdomaene.com
Nedarv
Sprog
-
- eller nedarv sprog fra forældre noder. Gælder også
- for den aktuelle node, medmindre et domæne nedenfor også indstiller et sprog.]]>
-
+ eller nedarv sprog fra forældre noder. Gælder også
+ for den aktuelle node, medmindre et domæne nedenfor også indstiller et sprog.]]>
Domæner
Ryd valg
Vælg
- Vælg nuværende mappe
Gør noget andet
Fed
Fortryd indryk afsnit
@@ -130,7 +127,6 @@
Vælg formattering
Vis koder
Indsæt tabel
- Generer modeller
Gem og generer modeller
Fortryd
Genskab
@@ -217,7 +213,6 @@
Udgiv
Udgivet
Udgivet (Ventede ændringer)
- Udgivet
Udgivelsesstatus
Udgivelsesdato
Afpubliceringsdato
@@ -248,21 +243,18 @@
Indholdsrod
- Opret en ny indholdsskabelon fra '%0%'
- Blank
- Vælg en indholdsskabelon
- Indholdsskabelon oprettet
- En indholdsskabelon blev oprettet fra '%0%'
- En anden indholdsskabelon med samme navn eksisterer allerede
- En indholdskabelon er foruddefineret indhold, som en redaktør kan vælge at bruge som grundlag for at oprette nyt indhold
+ Opret en ny indholdsskabelon fra '%0%'
+ Blank
+ Vælg en indholdsskabelon
+ Indholdsskabelon oprettet
+ En indholdsskabelon blev oprettet fra '%0%'
+ En anden indholdsskabelon med samme navn eksisterer allerede
+ En indholdskabelon er foruddefineret indhold, som en redaktør kan vælge at bruge som grundlag for at oprette nyt indhold
Klik for at uploade
- Slip filerne her...
- Link til medie
eller klik her for at vælge filer
Du kan trække filer herind for at uploade
- Tilladte filtyper er kun
Kan ikke uploade denne fil, den har ikke en godkendt filtype
Maks filstørrelse er
Medie rod
@@ -283,10 +275,8 @@
Ny datatype
Ny JavaScript-fil
Ny tom partial view
- Ny mappe
Ny partial view makro
Ny partial view fra snippet
- Ny tom partial view makro
Ny partial view makro fra snippet
Ny partial view makro (uden makro)
@@ -307,27 +297,22 @@
Færdig
-
Slettede %0% element
Slettede %0% elementer
Slettede %0% ud af %1% element
Slettede %0% ud af %1% elementer
-
Udgav %0% element
Udgav %0% elementer
Udgav %0% ud af %1% element
Udgav %0% ud af %1% elementer
-
Fjernede %0% element fra udgivelse
Fjernede %0% elementer fra udgivelse
Fjernede %0% ud af %1% element fra udgivelse
Fjernede %0% ud af %1% elementer fra udgivelse
-
Flyttede %0% element
Flyttede %0% elementer
Flyttede %0% ud af %1% element
Flyttede %0% ud af %1% elementer
-
Kopierede %0% element
Kopierede %0% elementer
Kopierede %0% ud af %1% element
@@ -383,13 +368,11 @@
Klik på billedet for at se den fulde størrelse
Vælg
Se cache element
- Opret mappe...
Relatér til original
Inkludér undersider
Link til side
Åben linket i et nyt vindue eller fane
Link til medie
- Link til fil
Vælg indhold startnode
Vælg medie
Vælg ikon
@@ -413,19 +396,14 @@
Vælg snippet
-
- Du tilføjer flere sprog under 'sprog' i menuen til venstre
- ]]>
-
+ ]]>
Kulturnavn
- Rediger navnet på ordbogselementet.
-
-
-
- Ordbog
+ ]]>
+ Ordbog
Indtast dit brugernavn
@@ -445,20 +423,13 @@
Dit brugernavn er typisk din e-mailadresse
- Tillad på rodniveau
- Kun dokumenttyper med denne indstilling aktiveret oprettes i rodniveau under Inhold og Mediearkiv
Tilladte typer
- Sammensætning af dokumenttyper
Opret
Slet fane
Beskrivelse
Ny fane
Fane
Thumbnail
- Aktiver listevisning
- Viser undersider i en søgbar liste, undersider vises ikke i indholdstræet
- Nuværende listevisning
- Den aktive listevisningsdatatype
Opret brugerdefineret listevisning
Fjern brugerdefineret listevisning
@@ -509,14 +480,11 @@
Skriv venligst en titel
Du skal vælge en type
Du er ved at gøre billedet større end originalen. Det vil forringe kvaliteten af billedet. Ønsker du at fortsætte?
- Fejl i Python-script
- Python-scriptet er ikke blevet gemt, fordi det indeholder fejl
Startnode er slettet, kontakt systemadministrator
Du skal markere noget indhold, før du kan ændre stylen
Der er ingen aktive styles eller formatteringer på denne side
Du skal stå til venstre for de 2 celler du ønsker at samle!
Du kan ikke opdele en celle, som ikke allerede er delt.
- Der er et problem med den datatype, der bruges til denn egenskab. Kontroller konfigurationen og prøv igen.
Om
@@ -580,7 +548,6 @@
Påkrævet
Besked
Flyt
- Mere
Navn
Ny
Næste
@@ -643,19 +610,11 @@
Gemmer...
nuværende
Indlejring
- Hent
valgt
-
- Sort
- Grøn
- Gul
- Orange
Blå
- Rød
-
Tilføj fane
Tilføj egenskab
@@ -663,28 +622,21 @@
Tilføj skabelon
Tilføj child node
Tilføj child
-
Rediger datatype
-
Naviger sektioner
-
Genveje
Vis genveje
-
Brug listevisning
Tillad på rodniveau
-
Comment/Uncomment lines
Remove line
Copy Lines Up
Copy Lines Down
Move Lines Up
Move Lines Down
-
General
Editor
-
Baggrundsfarve
Fed
@@ -700,17 +652,12 @@
Kunne ikke gemme web.config filen. Du bedes venligst manuelt ændre database forbindelses strengen.
Din database er blevet fundet og identificeret som
Database konfiguration
-
- installér knappen for at installere Umbraco %0% databasen
- ]]>
-
- installér knappen for at installere Umbraco %0% databasen]]>
+ ]]>
Næste for at fortsætte.]]>
-
- Databasen er ikke fundet. Kontrollér venligst at informationen i database forbindelsesstrengen i "web.config" filen er korrekt.
-For at fortsætte bedes du venligst rette "web.config" filen (ved at bruge Visual Studio eller dit favoritprogram), scroll til bunden, tilføj forbindelsesstrengen til din database i feltet som hedder "umbracoDbDSN" og gem filen.
Klik på Forsøg igen knappen når du er færdig.Mere information om at redigere web.config her.
]]>
-
+ Databasen er ikke fundet. Kontrollér venligst at informationen i database forbindelsesstrengen i "web.config" filen er korrekt.
+For at fortsætte bedes du venligst rette "web.config" filen (ved at bruge Visual Studio eller dit favoritprogram), scroll til bunden, tilføj forbindelsesstrengen til din database i feltet som hedder "umbracoDbDSN" og gem filen.
Klik på Forsøg igen knappen når du er færdig.Mere information om at redigere web.config her.
]]>
Kontakt venligst din ISP hvis det er nødvendigt. Hvis du installerer på en lokal maskine eller server kan du muligvis få informationerne fra din systemadministrator.]]>
Tryk på Opgradér knappen for at opgradere din database til Umbraco %0%Bare rolig - intet indhold vil blive slettet og alt vil stadig fungere bagefter!
]]>
Tryk på Næste for at fortsætte.]]>
@@ -755,10 +702,8 @@
Yderligere hjælpe og informationer Få hjælp fra vores prisvindende fællesskab, gennemse dokumentationen eller se nogle gratis videoer om hvordan du opsætter et simpelt site, hvordan du bruger pakker og en 'quick guide' til Umbraco terminologier]]>
Umbraco %0% er installeret og klar til brug
/web.config filen og opdatére 'AppSetting' feltet UmbracoConfigurationStatus i bunden til '%0%' .]]>
-
- komme igang med det samme ved at klikke på "Start Umbraco" knappen nedenfor. Hvis du er ny med Umbraco , kan du finde masser af ressourcer på vores 'getting started' sider.
-]]>
-
+ komme igang med det samme ved at klikke på "Start Umbraco" knappen nedenfor. Hvis du er ny med Umbraco , kan du finde masser af ressourcer på vores 'getting started' sider.
+]]>
Start UmbracoFor at administrere dit website skal du blot åbne Umbraco administrationen og begynde at tilføje indhold, opdatere skabelonerne og stylesheets'ene eller tilføje ny funktionalitet.]]>
Forbindelse til databasen fejlede.
Umbraco Version 3
@@ -775,7 +720,6 @@
Forny for at gemme dine ændringer
- Så er det søndag!
Smil, det er mandag!
Hurra, det er tirsdag!
Hvilken herlig onsdag!
@@ -783,7 +727,6 @@
Endelig fredag!
Glædelig lørdag
Log ind nedenfor
- indtast brugernavn og kodeord
Log ind med
Din session er udløbet
© 2001 - %0% umbraco.com ]]>
@@ -797,9 +740,7 @@
Din adgangskode er blevet opdateret
Det link, du har klikket på, er ugyldigt eller udløbet
Umbraco: Nulstil adgangskode
-
- Dit brugernavn til at logge på Umbraco backoffice er: %0% Klik her for at nulstille din adgangskode eller kopier/indsæt denne URL i din browser:
%1%
]]>
-
+ Dit brugernavn til at logge på Umbraco backoffice er: %0% Klik her for at nulstille din adgangskode eller kopier/indsæt denne URL i din browser:
%1%
]]>
Skrivebord
@@ -822,8 +763,7 @@
Rediger dine notificeringer for %0%
-
-
-
-
- Hej %0%
+ ]]>
+ Hej %0%
Dette er en automatisk mail for at informere dig om at opgaven '%1%'
er blevet udførtpå siden '%2%' af brugeren '%3%'
Opdateringssammendrag: Hav en fortsat god dag! De bedste hilsner fra umbraco robotten
]]>
-
+ RET
Opdateringssammendrag: Hav en fortsat god dag! De bedste hilsner fra umbraco robotten
]]>
[%0%] Notificering om %1% udført på %2%
Notificeringer
@@ -897,10 +834,8 @@ Mange hilsner fra Umbraco robotten
Pakken blev fjernet
Pakken er på succesfuld vis blevet fjernet
Afinstallér pakke
-
-
-Bemærk: at dokumenter og medier som afhænger af denne pakke vil muligvis holde op med at virke, så vær forsigtig. Hvis i tvivl, kontakt personen som har udviklet pakken.]]>
-
+
+Bemærk: at dokumenter og medier som afhænger af denne pakke vil muligvis holde op med at virke, så vær forsigtig. Hvis i tvivl, kontakt personen som har udviklet pakken.]]>
Download opdatering fra opbevaringsbasen
Opdatér pakke
Opdateringsinstrukser
@@ -945,18 +880,12 @@ Mange hilsner fra Umbraco robotten
Udgivelsen kunne ikke udgives da publiceringsdato er sat
-
-
-
-
-
+
-
- Udgivelsen fejlede fordi en overordnet side ikke er publiceret
-
+ ]]>
%0% kunne ikke udgives, fordi et 3. parts modul annullerede handlingen
Medtag ikke-udgivede undersider
Publicerer - vent venligst...
@@ -976,7 +905,6 @@ Mange hilsner fra Umbraco robotten
Du har valgt et medie som er slettet eller lagt i papirkurven
Du har valgt medier som er slettede eller lagt i papirkurven
- Slettet medie
indtast eksternt link
@@ -990,8 +918,6 @@ Mange hilsner fra Umbraco robotten
Nulstil
-
-
Nuværende version
Rød tekst vil ikke blive vist i den valgte version. Grøn betyder tilføjet ]]>
@@ -1019,12 +945,8 @@ Mange hilsner fra Umbraco robotten
Brugere
Hjælp
Formularer
- Analytics
- gå til
- Hjælpeemner for
- Videokapitler for
De bedste Umbraco video tutorials
@@ -1040,8 +962,6 @@ Mange hilsner fra Umbraco robotten
Faneblad
Titel på faneblad
Faneblade
- Master Dokumenttype
- Opret matchende skabelon
Sorteringsrækkefølge
@@ -1088,10 +1008,6 @@ Mange hilsner fra Umbraco robotten
Sprog gemt
Medietype gemt
Medlemstype gemt
- Python script ikke gemt
- Python-script kunne ikke gemmes pga. fejl
- Python-script gemt
- Ingen fejl i Python-script
Skabelon ikke gemt
Undgå venligst at du har 2 templates med samme alias
Skabelon gemt
@@ -1102,28 +1018,15 @@ Mange hilsner fra Umbraco robotten
Partial view ikke gemt
Der opstod en fejl ved at gemme filen.
Rettigheder gemt for
- Script view gemt
- Script view gemt uden fejl!
- Script view ikke gemt
- An error occurred saving the file.
- An error occurred saving the file.
Slettede %0% brugergrupper
%0% blev slettet
Aktiverede %0% brugere
- Der opstod en fejl under aktivering af brugerne
Deaktiverede %0% brugere
- Der opstod en fejl under deaktivering af brugerne
%0% er nu aktiveret
- Der opstod en fejl under aktivering af brugeren
%0% er nu deaktiveret
- Der opstod en fejl under deaktivering af brugeren
Brugergrupper er blevet indstillet
- Slettede %0% brugergrupper
- %0% blev slettet
Låste %0% brugere op
- Der opstod en fejl under oplåsning af brugerne
%0% er nu låst op
- Der opstod en fejl under oplåsning af brugeren
Bruger CSS-syntaks f.eks. h1, .redheader, .blueTex
@@ -1133,90 +1036,64 @@ Mange hilsner fra Umbraco robotten
Forhåndsvisning
Styles
-
Rediger skabelon
-
Sektioner
Indsæt indholdsområde
Indsæt pladsholder for indholdsområde
-
Indsæt
Hvad vil du indsætte?
-
Oversættelse
Indsætter en oversætbar tekst, som skifter efter det sprog, som websitet vises i.
-
Makro
En makro er et element, som kan have forskellige indstillinger, når det indsættes.
Brug det som en genbrugelig del af dit design såsom gallerier, formularer og lister.
-
Sideværdi
Viser værdien af et felt fra den nuværende side. Kan indstilles til at bruge rekursive værdier eller
vise en standardværdi i tilfælde af, at feltet er tomt.
-
Partial view
Et Partial View er et skabelonelement, som kan indsættes i andre skabeloner og derved
genbruges og deles på tværs af sideskabelonerne.
-
Master skabelon
Lynguide til Umbracos skabelontags
- Ingen masterskabelon
Ingen master
-
Indsæt en underliggende skabelon
-
- @RenderBody() element.
- ]]>
-
-
-
+ ]]>
Definer en sektion
-
- @section { ... }. Herefter kan denne sektion flettes ind i
overliggende skabelon ved at indsætte et @RenderSection element.
- ]]>
-
-
+ ]]>
Indsæt en sektion
-
- @RenderSection(name) element. Den underliggende skabelon skal have
defineret en sektion via et @section [name]{ ... } element.
- ]]>
-
-
+ ]]>
Sektionsnavn
Sektionen er obligatorisk
-
Hvis obligatorisk, skal underskabelonen indeholde en @section -definition.
-
-
Query builder
sider returneret, på
-
Returner
alt indhold
- indhold af typen "%0%"
-
+ indhold af typen "%0%"
fra
mit website
hvor
og
-
er
ikke er
er før
@@ -1231,129 +1108,88 @@ Mange hilsner fra Umbraco robotten
er større end eller det samme som
er mindre end
er mindre end eller det samme som
-
Id
Navn
Oprettelsesdato
Sidste opdatering
-
Sortér efter
stigende rækkefølge
faldende rækkefølge
-
Skabelon
-
- Rich Text Editor
Billede
Macro
- Embed
- Overskrift
- Citat
Vælg indholdstype
Vælg layout
Tilføj række
Tilføj indhold
Slip indhold
Indstillinger tilføjet
-
Indholdet er ikke tilladt her
Indholdet er tilladt her
-
Klik for at indlejre
Klik for at indsætte et billede
Billedtekst...
Skriv her...
-
Grid layout
Et layout er det overordnede arbejdsområde til dit grid - du vil typisk kun behøve ét eller to
Tilføj grid layout
Juster dit layout ved at justere kolonnebredder og tilføj yderligere sektioner
-
Rækkekonfigurationer
Rækker er foruddefinerede celler, der arrangeres vandret
Tilføj rækkekonfiguration
Juster rækken ved at indstille cellebredder og tilføje yderligere celler
-
Kolonner
Det totale antal kolonner i dit grid
-
Indstillinger
Konfigurer, hvilket indstillinger, brugeren kan ændre
-
-
Typografi
Vælg hvilke typografiværdier en redaktør kan ændre
-
- Indstillinger gemmes kun, hvis den indtastede json-konfiguration er gyldig
-
Tillad alle editorer
Tillad alle rækkekonfigurationer
-
Sæt som standard
Vælg ekstra
Vælg standard
er tilføjet
-
Maksimalt emner
Efterlad blank eller sæt til 0 for ubegrænset
-
-
Kompositioner
Du har ikke tilføjet nogle faner
- Tilføj ny fane
- Tilføj endnu en fane
Nedarvet fra
Tilføj egenskab
Påkrævet label
-
Aktiver listevisning
Konfigurer indholdet til at blive vist i en sorterbar og søgbar liste, dens børn vil ikke blive vist i træet
-
Tilladte skabeloner
Vælg hvilke skabeloner der er tilladt at bruge på dette indhold
-
Tillad på rodniveau
Kun dokumenttyper med denne indstilling aktiveret oprettes i rodniveau under inhold og mediearkiv
- Ja – indhold af denne type er tilladt i roden
-
Tilladte typer
Tillad at oprette indhold af en specifik type under denne
-
Vælg child node
-
Nedarv faner og egenskaber fra en anden dokumenttype. Nye faner vil blive tilføjet den nuværende dokumenttype eller sammenflettet hvis fanenavnene er ens.
Indholdstypen bliver brugt i en komposition og kan derfor ikke blive anvendt som komposition
Der er ingen indholdstyper tilgængelige at bruge som komposition
-
Tilgængelige editors
Genbrug
Editor indstillinger
-
Konfiguration
-
Ja, slet
-
blev flyttet til
Vælg hvor
skal flyttes til
-
Alle dokumenttyper
Alle dokumenter
Alle medier
-
som benytter denne dokumenttype vil blive slettet permanent. Bekræft at du også vil slette dem.
som benytter denne medietype vil blive slettet permanent. Bekræft at du også vil slette dem.
som benytter denne medlemstype vil blive slettet permanent. Bekræft at du også vil slette dem.
-
og alle dokumenter, som benytter denne type
og alle medier, som benytter denne type
og alle medlemmer, som benytter denne type
-
- der bruger denne editor vil blive opdateret med de nye indstillinger
Medlem kan redigere
Vis på medlemsprofil
fane har ingen sorteringsrækkefølge
@@ -1387,24 +1223,14 @@ Mange hilsner fra Umbraco robotten
Ja, med klokkeslæt. Dato/tid separator:
- Opgaver tildelt dig
- tildelt dig. For at se en mere detaljeret visning, klik "Detaljer" eller blot sidenavnet. Du kan også hente siden direkte som XML ved at klikke på "Download XML"-linket. For at lukke en oversættelsesopgave, gå til detaljevisning og tryk på "Luk"-knappen.]]>
- Luk opgave
Oversættelsesdetaljer
- Download alle oversættelsesopgaver som XML
- Download XML
Download XML DTD
Felter
Inkluder undersider
Hej %0%. Dette er en automatisk mail sendt for at informere dig om at dokumentet '%1' har en forespørgsel omkring oversættelse til '%5%' af %2%. Gå til http://%3%/translation/details.aspx?id=%4% for at redigere. Eller log ind i Umbraco for at få en oversigt over dine oversættelsesopgaver: http://%3%/Umbraco Hav en god dag! Mange hilsner Umbraco-robotten
- [%0%] Oversættelsesopgave for %1%
Ingen oversættelsesbrugere er fundet. Opret venligst en oversættelsesbruger før du begynder at sende indhold til oversættelse
- Opgaver oprettet af dig
- oprettet af dig. For at se et detaljeret overblik indeholdende kommentarer, klik på "Detaljer" eller bare sidenavnet. Du kna også downloade siden som XML direkte ved at klikke på "Download XML"linket. Gå venligst til Detaljeoverblikket og klik på "Luk" knappen for at lukke en oversættelsesopgve.]]>
Siden '%0%' er blevet sent til oversættelse
Send siden '%0%' til oversættelse
- Tildelt af
- Opgave åbnet
Totalt antal ord
Oversæt til
Oversættelse gennemført.
@@ -1440,7 +1266,6 @@ Mange hilsner fra Umbraco robotten
Pakker
Partial Views
Partial View Makro Filer
- Python
Installer fra "repository"
Installer Runway
Runway-moduler
@@ -1448,7 +1273,6 @@ Mange hilsner fra Umbraco robotten
Scripts
Stylesheets
Skabeloner
- Analytics
Brugertilladelser
Bruger Typer
Brugere
@@ -1474,7 +1298,6 @@ Mange hilsner fra Umbraco robotten
Gentag dit nye kodeord
Du kan ændre dit kodeord, som giver dig adgang til Umbraco Back Office ved at udfylde formularen og klikke på knappen 'Skift dit kodeord'
Indholdskanal
- Skift billede
Opret nye brugere for at give dem adgang til Umbraco. Når en ny bruger oprettes, genereres der en adgangskode, som du kan dele med brugeren.
Beskrivelsesfelt
Deaktivér bruger
@@ -1520,21 +1343,10 @@ Mange hilsner fra Umbraco robotten
Profil
Søg alle 'børn'
Startnode
- Aktiv
- Alle
- Deaktiveret
- Låst ude
- Inviteret
- Navn (A-Å)
- Navn (Å-A)
- Nyeste
- Ældste
- Senest login
Tilføj sektioner for at give brugerne adgang
Vælg brugergrupper
Ingen startnode valgt
Ingen startnoder valgt
- Startnode
Begræns indholdstræet til en bestemt startnode
Indhold startnoder
Begræns indholdstræet til bestemte startnoder
@@ -1544,15 +1356,12 @@ Mange hilsner fra Umbraco robotten
Brugeradministration
Navn
Brugertilladelser
- Brugergruppe tilladelser
Brugergruppe
- Brugergrupper
er blevet inviteret
En invitation er blevet sendt til den nye bruger med oplysninger om, hvordan man logger ind i Umbraco.
Hej og velkommen til Umbraco! På bare 1 minut vil du være klar til at komme i gang, vi skal bare have dig til at oprette en adgangskode og tilføje et billede til din avatar.
Upload et billede for at gøre det nemt for andre brugere at genkende dig.
Forfatter
- Oversætter
Skift
Din profil
Din historik
@@ -1562,9 +1371,7 @@ Mange hilsner fra Umbraco robotten
Send invitation
Tilbage til brugere
Umbraco: Invitation
-
- Hej %0%, du er blevet inviteret af %1% til Umbraco backoffice.
Besked fra %1%: %2%
Klik på dette link for acceptere invitationen
Hvis du ikke kan klikke på linket, så kopier og indsæt denne URL i dit browservindue %3%