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/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/Constants-Applications.cs b/src/Umbraco.Core/Constants-Applications.cs
index 1bb7585aef..4aa1760a45 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 620c040bfe..ba491fb5e1 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();
@@ -186,7 +183,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 });
@@ -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/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.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/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/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/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/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/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/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/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.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj
index 6148162c18..f45c5e1ed4 100644
--- a/src/Umbraco.Core/Umbraco.Core.csproj
+++ b/src/Umbraco.Core/Umbraco.Core.csproj
@@ -803,8 +803,6 @@
-
-
@@ -826,8 +824,6 @@
-
-
@@ -902,8 +898,6 @@
-
-
@@ -953,7 +947,6 @@
-
@@ -1162,8 +1155,6 @@
-
-
@@ -1194,8 +1185,6 @@
-
-
@@ -1381,7 +1370,6 @@
-
@@ -1411,7 +1399,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/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,
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.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj
index a0822efc15..0d346f74dd 100644
--- a/src/Umbraco.Tests/Umbraco.Tests.csproj
+++ b/src/Umbraco.Tests/Umbraco.Tests.csproj
@@ -227,8 +227,6 @@
-
-
@@ -263,8 +261,6 @@
-
-
diff --git a/src/Umbraco.Web.UI.Client/src/common/mocks/services/localization.mocks.js b/src/Umbraco.Web.UI.Client/src/common/mocks/services/localization.mocks.js
index 409ec24d51..28aae834b3 100644
--- a/src/Umbraco.Web.UI.Client/src/common/mocks/services/localization.mocks.js
+++ b/src/Umbraco.Web.UI.Client/src/common/mocks/services/localization.mocks.js
@@ -644,24 +644,14 @@ angular.module('umbraco.mocks').
"templateEditor_usedIfAllEmpty": "Will only be used when the field values above are empty",
"templateEditor_usedIfEmpty": "This field will only be used if the primary field is empty",
"templateEditor_withTime": "Yes, with time. Seperator: ",
- "translation_assignedTasks": "Tasks assigned to you",
- "translation_assignedTasksHelp": " The list below shows translation tasks assigned to you. To see a detailed view including comments, click on 'Details' or just the page name. You can also download the page as XML directly by clicking the 'Download Xml' link.
To close a translation task, please go to the Details view and click the 'Close' button. ",
- "translation_closeTask": "close task",
"translation_details": "Translation details",
- "translation_downloadAllAsXml": "Download all translation tasks as xml",
- "translation_downloadTaskAsXml": "Download xml",
"translation_DownloadXmlDTD": "Download xml DTD",
"translation_fields": "Fields",
"translation_includeSubpages": "Include subpages",
"translation_mailBody": " Hi %0% This is an automated mail to inform you that the document '%1%' has been requested for translation into '%5%' by %2%. Go to http://%3%/translation/details.aspx?id=%4% to edit. Or log into Umbraco to get an overview of your translation tasks http://%3% Have a nice day! Cheers from the Umbraco robot ",
- "translation_mailSubject": "[%0%] Translation task for %1%",
"translation_noTranslators": "No translator users found. Please create a translator user before you start sending content to translation",
- "translation_ownedTasks": "Tasks created by you",
- "translation_ownedTasksHelp": " The list below shows pages created by you. To see a detailed view including comments, click on 'Details' or just the page name. You can also download the page as XML directly by clicking the 'Download Xml' link. To close a translation task, please go to the Details view and click the 'Close' button. ",
- "translation_pageHasBeenSendToTranslation": "The page '%0%' has been send to translation",
+ "translation_pageHasBeenSendToTranslation": "The page '%0%' has been send to translation",
"translation_sendToTranslate": "Send the page '%0%' to translation",
- "translation_taskAssignedBy": "Assigned by",
- "translation_taskOpened": "Task opened",
"translation_totalWords": "Total words",
"translation_translateTo": "Translate to",
"translation_translationDone": "Translation completed.",
diff --git a/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj b/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
index b76e88d316..cd6999ce42 100644
--- a/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
+++ b/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
@@ -80,6 +80,7 @@
+
@@ -341,7 +342,9 @@
-
+
+ Designer
+
@@ -352,7 +355,6 @@
-
@@ -405,7 +407,6 @@
-
Designer
@@ -436,9 +437,6 @@
-
-
-
diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/cs.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/cs.xml
index e554b45672..95a0a4d661 100644
--- a/src/Umbraco.Web.UI/Umbraco/config/lang/cs.xml
+++ b/src/Umbraco.Web.UI/Umbraco/config/lang/cs.xml
@@ -1,4 +1,4 @@
-
+
umbraco
@@ -62,7 +62,6 @@
Vybrat
- Vybrat aktuální složku
Dělat něco jiného
Tučně
Zrušit odsazení odstavce
@@ -159,7 +158,6 @@
Klikněte pro nahrání
- Upusťte soubory zde...
Kde chcete vytvořit nový %0%
@@ -185,27 +183,22 @@
Done
-
Deleted %0% item
Deleted %0% items
Deleted %0% out of %1% item
Deleted %0% out of %1% items
-
Published %0% item
Published %0% items
Published %0% out of %1% item
Published %0% out of %1% items
-
Unpublished %0% item
Unpublished %0% items
Unpublished %0% out of %1% item
Unpublished %0% out of %1% items
-
Moved %0% item
Moved %0% items
Moved %0% out of %1% item
Moved %0% out of %1% items
-
Copied %0% item
Copied %0% items
Copied %0% out of %1% item
@@ -278,7 +271,6 @@
Nová záložka
Záložka
Miniatura
- Povolit zobrazení jako seznam
Přidat předlohu
@@ -314,14 +306,11 @@
Uveďte, prosím, titulek
Vyberte, prosím, typ
Chystáte se obrázek zvětšit více, než je jeho původní rozměr. Opravdu chcete pokračovat?
- Chyba ve skriptu python
- Skript python nebyl ještě uložen, protože obsahuje chyby
Počáteční uzel je odstraněný, kontaktujte, prosím, administrátora
Před změnou stylu označte, prosím, obsah
Žádne aktivní styly nejsou dostupné
Umístěte, prosím, kurzor nalevo od těch dvou buňek, které chcete sloučit
Nemužete rozdělit buňku, která nebyla sloučená.
- V nastavení datového typu použitého pro tuto vlastnost je chyba, zkontrolujte, prosím, datový typ
O...
@@ -376,7 +365,6 @@
Odhlášení
Makro
Přesunout
- Více
Název
Nový
Následující
@@ -405,7 +393,8 @@
Zobrazit stránku při odeslání
Rozměr
Seřadit
- Submit
+ 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
@@ -1036,4 +994,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 f1ecff48aa..b526f1b47b 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
@@ -1477,7 +1301,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
@@ -1523,21 +1346,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
@@ -1547,15 +1359,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
@@ -1565,9 +1374,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%