From dd0373b8559f978c7eeae06f8cd4c9216de3abd7 Mon Sep 17 00:00:00 2001 From: Alexander Bryukhov Date: Tue, 6 Sep 2016 11:36:00 +0700 Subject: [PATCH 01/19] Localizing URL tracker dashboard --- src/Umbraco.Web.UI/umbraco/config/lang/ru.xml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml b/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml index ff3c94b74d..f2ce5ded29 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml @@ -863,7 +863,6 @@ Вернуться к форме входа Пожалуйста укажите новый пароль Ваш пароль обновлен - Войти с помощью Ссылка, по которой Вы попали сюда, неверна или устарела Umbraco: сброс пароля @@ -1065,6 +1064,23 @@ Чтобы опубликовать ранее неопубликованные документы среди дочерних, отметьте опцию Включая неопубликованные дочерние документы. ]]> + + Остановить отслеживание URL + Запустить отслеживание URL + Первоначальный URL + Перенаправлен в + На данный момент нет ни одного перенаправления + Если опубликованный документ переименовывается или меняет свое расположение в дереве, а следовательно, меняется адрес (URL), автоматически создается перенаправление на новое местоположение этого документа. + Удалить + Вы уверены, что хотите удалить перенаправление с '%0%' на '%1%'? + Перенаправление удалено. + Ошибка удаления перенаправления. + Вы уверены, что хотите остановить отслеживание URL? + Отслеживание URL в настоящий момент остановлено. + Ошибка остановки отслеживания URL, более подробные сведения находятся в системном журнале. + Отслеживание URL в настоящий момент запущено. + Ошибка запуска отслеживания URL, более подробные сведения находятся в системном журнале. + Заголовок Укажите заголовок From 3bb991edd343786b525f777e5b161969f206a218 Mon Sep 17 00:00:00 2001 From: Alexander Bryukhov Date: Tue, 6 Sep 2016 11:52:19 +0700 Subject: [PATCH 02/19] Missing key 'signInWith' added --- src/Umbraco.Web.UI/umbraco/config/lang/ru.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml b/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml index f2ce5ded29..b6624f7025 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml @@ -863,6 +863,7 @@ Вернуться к форме входа Пожалуйста укажите новый пароль Ваш пароль обновлен + Войти с помощью Ссылка, по которой Вы попали сюда, неверна или устарела Umbraco: сброс пароля From 9da18d06970e5fd8b85112b5c0162017fcfe09ee Mon Sep 17 00:00:00 2001 From: AndyButland Date: Tue, 6 Sep 2016 08:42:53 +0200 Subject: [PATCH 03/19] Used configurable application URL when constructing password reset link --- .../Editors/AuthenticationController.cs | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/Umbraco.Web/Editors/AuthenticationController.cs b/src/Umbraco.Web/Editors/AuthenticationController.cs index 426adcf02f..14dbdac1d4 100644 --- a/src/Umbraco.Web/Editors/AuthenticationController.cs +++ b/src/Umbraco.Web/Editors/AuthenticationController.cs @@ -215,7 +215,7 @@ namespace Umbraco.Web.Editors if (user != null && user.IsLockedOut == false) { var code = await UserManager.GeneratePasswordResetTokenAsync(identityUser.Id); - var callbackUrl = ConstuctCallbackUrl(identityUser.Id, code); + var callbackUrl = ConstructCallbackUrl(identityUser.Id, code); var message = Services.TextService.Localize("resetPasswordEmailCopyFormat", //Ensure the culture of the found user is used for the email! @@ -233,12 +233,11 @@ namespace Umbraco.Web.Editors return Request.CreateResponse(HttpStatusCode.OK); } - private string ConstuctCallbackUrl(int userId, string code) + private string ConstructCallbackUrl(int userId, string code) { - //get an mvc helper to get the url + // Get an mvc helper to get the url var http = EnsureHttpContext(); var urlHelper = new UrlHelper(http.Request.RequestContext); - var action = urlHelper.Action("ValidatePasswordResetCode", "BackOffice", new { @@ -247,12 +246,10 @@ namespace Umbraco.Web.Editors r = code }); - //TODO: Virtual path? - - return string.Format("{0}://{1}{2}", - http.Request.Url.Scheme, - http.Request.Url.Host + (http.Request.Url.Port == 80 ? string.Empty : ":" + http.Request.Url.Port), - action); + // Construct full URL using configured application URL (which will fall back to request) + var applicationUri = new Uri(ApplicationContext.UmbracoApplicationUrl); + var callbackUri = new Uri(applicationUri, action); + return callbackUri.ToString(); } /// From e60d5c8f2c2ee4ee14509434412d4dee1c0eed48 Mon Sep 17 00:00:00 2001 From: Alexander Bryukhov Date: Tue, 20 Sep 2016 20:39:31 +0700 Subject: [PATCH 04/19] U4-8985 Label for row configurations in the grid editor --- src/Umbraco.Web.UI/umbraco/config/lang/ru.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml b/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml index ff3c94b74d..2b017bb4b1 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml @@ -499,6 +499,7 @@ Установить Неверно Выравнивание + Название Язык Макет Загрузка From b1e6559f4d837e7b07dd0ad8c568fc4a0a2928a1 Mon Sep 17 00:00:00 2001 From: bjarnef Date: Thu, 22 Sep 2016 19:29:32 +0200 Subject: [PATCH 05/19] Change color of remove button to red --- src/Umbraco.Web.UI.Client/src/less/healthcheck.less | 9 +++++++++ .../src/views/dashboard/developer/redirecturls.html | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/less/healthcheck.less b/src/Umbraco.Web.UI.Client/src/less/healthcheck.less index 96b8a611db..6e82d424bb 100644 --- a/src/Umbraco.Web.UI.Client/src/less/healthcheck.less +++ b/src/Umbraco.Web.UI.Client/src/less/healthcheck.less @@ -151,6 +151,15 @@ background-color: @blueDark; } +.umb-era-button.-red { + background: @btnDangerBackground; + color: white; +} + +.umb-era-button.-red:hover { + background-color: darken(@btnDangerBackground, 5%); +} + .umb-era-button.-link { padding: 0; background: transparent; diff --git a/src/Umbraco.Web.UI.Client/src/views/dashboard/developer/redirecturls.html b/src/Umbraco.Web.UI.Client/src/views/dashboard/developer/redirecturls.html index c63a444839..f23b8f5df9 100644 --- a/src/Umbraco.Web.UI.Client/src/views/dashboard/developer/redirecturls.html +++ b/src/Umbraco.Web.UI.Client/src/views/dashboard/developer/redirecturls.html @@ -77,7 +77,7 @@ {{redirectUrl.destinationUrl}} - + From f97123015abf8a5057985be574645b6b309eac40 Mon Sep 17 00:00:00 2001 From: bjarnef Date: Thu, 22 Sep 2016 19:55:32 +0200 Subject: [PATCH 06/19] Format package created date --- src/Umbraco.Web.UI.Client/src/views/packager/views/repo.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/packager/views/repo.html b/src/Umbraco.Web.UI.Client/src/views/packager/views/repo.html index b19eb63232..3975dc96d9 100644 --- a/src/Umbraco.Web.UI.Client/src/views/packager/views/repo.html +++ b/src/Umbraco.Web.UI.Client/src/views/packager/views/repo.html @@ -199,7 +199,7 @@
Created:
-
{{vm.package.created}}
+
{{vm.package.created | date:'yyyy-MM-dd HH:mm:ss'}}
From 78524398b77c9b62e38e9a8dfc269de91cd113f9 Mon Sep 17 00:00:00 2001 From: Darren Ferguson Date: Fri, 23 Sep 2016 18:43:55 +0100 Subject: [PATCH 07/19] U4-9012 The word "Oops" should probably be removed, because we can cancel publish by API, it may be deliberate. http://issues.umbraco.org/issue/U4-9012 --- .../Persistence/Factories/ContentTypeFactory.cs | 2 +- .../Persistence/Factories/MemberTypeReadOnlyFactory.cs | 2 +- .../src/common/mocks/services/localization.mocks.js | 2 +- src/Umbraco.Web.UI/umbraco/config/lang/en.xml | 6 +++--- src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml | 6 +++--- .../umbraco_client/FolderBrowser/Js/folderbrowser.js | 4 ++-- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/Umbraco.Core/Persistence/Factories/ContentTypeFactory.cs b/src/Umbraco.Core/Persistence/Factories/ContentTypeFactory.cs index 6fa13654ad..3672f80873 100644 --- a/src/Umbraco.Core/Persistence/Factories/ContentTypeFactory.cs +++ b/src/Umbraco.Core/Persistence/Factories/ContentTypeFactory.cs @@ -122,7 +122,7 @@ namespace Umbraco.Core.Persistence.Factories else if (entity is IMemberType) nodeObjectType = Constants.ObjectTypes.MemberTypeGuid; else - throw new Exception("oops: invalid entity."); + throw new Exception("Invalid entity."); var contentTypeDto = new ContentTypeDto { diff --git a/src/Umbraco.Core/Persistence/Factories/MemberTypeReadOnlyFactory.cs b/src/Umbraco.Core/Persistence/Factories/MemberTypeReadOnlyFactory.cs index 5e34fb8936..b4d5d2e566 100644 --- a/src/Umbraco.Core/Persistence/Factories/MemberTypeReadOnlyFactory.cs +++ b/src/Umbraco.Core/Persistence/Factories/MemberTypeReadOnlyFactory.cs @@ -79,7 +79,7 @@ namespace Umbraco.Core.Persistence.Factories { // note: no idea why Id is nullable here, but better check if (groupDto.Id.HasValue == false) - throw new Exception("oops: groupDto.Id has no value."); + throw new Exception("GroupDto.Id has no value."); group.Id = groupDto.Id.Value; } 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 6365606a5a..d4393dd20b 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 @@ -134,7 +134,7 @@ angular.module('umbraco.mocks'). "content_nodeName": "Page Title", "content_otherElements": "Properties", "content_parentNotPublished": "This document is published but is not visible because the parent '%0%' is unpublished", - "content_parentNotPublishedAnomaly": "Oops: this document is published but is not in the cache (internal error)", + "content_parentNotPublishedAnomaly": "This document is published but is not in the cache", "content_publish": "Publish", "content_publishStatus": "Publication Status", "content_releaseDate": "Publish at", diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/en.xml b/src/Umbraco.Web.UI/umbraco/config/lang/en.xml index 838bbbe8d6..5c09459b55 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/en.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/en.xml @@ -147,9 +147,9 @@ Page Title Properties This document is published but is not visible because the parent '%0%' is unpublished - Oops: this document is published but is not in the cache (internal error - see log) - Oops: could not get the url (internal error - see log) - Oops: this document is published but its url would collide with content %0% + This document is published but is not in the cache + Could not get the url + This document is published but its url would collide with content %0% Publish Publication Status Publish at 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 aeeb441281..b4c3170e35 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml @@ -148,9 +148,9 @@ Page Title Properties This document is published but is not visible because the parent '%0%' is unpublished - Oops: this document is published but is not in the cache (internal error - see log) - Oops: could not get the url (internal error - see log) - Oops: this document is published but its url would collide with content %0% + This document is published but is not in the cache + Could not get the url + This document is published but its url would collide with content %0% Publish Publication Status Publish at diff --git a/src/Umbraco.Web.UI/umbraco_client/FolderBrowser/Js/folderbrowser.js b/src/Umbraco.Web.UI/umbraco_client/FolderBrowser/Js/folderbrowser.js index 8c3d97c52b..d15c173632 100644 --- a/src/Umbraco.Web.UI/umbraco_client/FolderBrowser/Js/folderbrowser.js +++ b/src/Umbraco.Web.UI/umbraco_client/FolderBrowser/Js/folderbrowser.js @@ -389,12 +389,12 @@ Umbraco.Sys.registerNamespace("Umbraco.Controls"); processData: false, success: function (data, textStatus) { if (textStatus == "error") { - alert("Oops. Could not update sort order"); + alert("Could not update sort order"); self._getChildNodes(); } }, error: function(data) { - alert("Oops. Could not update sort order. Err: " + data.statusText); + alert("Could not update sort order. Err: " + data.statusText); self._getChildNodes(); } }); From 1ff5d171e3b738e59c596eb96db5bb2567a59363 Mon Sep 17 00:00:00 2001 From: Jason Thomas Date: Wed, 28 Sep 2016 17:22:08 -0600 Subject: [PATCH 08/19] Added title attribute to image tags for mediapicker.html and umb-media-grid.html. --- .../src/views/components/umb-media-grid.html | 4 ++-- .../src/views/propertyeditors/mediapicker/mediapicker.html | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/components/umb-media-grid.html b/src/Umbraco.Web.UI.Client/src/views/components/umb-media-grid.html index b680ec9daa..f30851e62e 100644 --- a/src/Umbraco.Web.UI.Client/src/views/components/umb-media-grid.html +++ b/src/Umbraco.Web.UI.Client/src/views/components/umb-media-grid.html @@ -12,10 +12,10 @@
- {{item.name}} + {{item.name}} - {{item.name}} + {{item.name}} {{item.name}} diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.html index 3cb01386ba..68d2fc6f4d 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.html @@ -4,10 +4,10 @@
  • - + - + From 927e9cf14a7e60e685991de0bf20f80abd706a12 Mon Sep 17 00:00:00 2001 From: bjarnef Date: Sun, 2 Oct 2016 21:09:52 +0200 Subject: [PATCH 09/19] Make increase/decrease buttons in grid layout and row configurations use same icons --- .../grid/dialogs/layoutconfig.html | 6 +++--- .../grid/dialogs/rowconfig.html | 18 ++++++++---------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/layoutconfig.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/layoutconfig.html index 9cbe74bae2..3fbf3a8761 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/layoutconfig.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/layoutconfig.html @@ -35,13 +35,13 @@
    -
    +
    - + {{currentSection.grid}} - +
    diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/rowconfig.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/rowconfig.html index f47a1958ae..ebeab59680 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/rowconfig.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/rowconfig.html @@ -44,17 +44,15 @@
    -
    -
    - - - +
    + + + {{currentCell.grid}} - - - -
    -
    + + + +
    From 7361d1f16fa7a0769e070264f86dd086c0db7107 Mon Sep 17 00:00:00 2001 From: Stephan Date: Mon, 10 Oct 2016 18:15:09 +0200 Subject: [PATCH 10/19] U4-8992 - update content and media xml caches when upgrading from before 7.3 --- src/Umbraco.Core/Events/MigrationEventArgs.cs | 6 +++ .../RebuildMediaXmlCacheAfterUpgrade.cs | 36 ------------- .../RebuildXmlCachesAfterUpgrade.cs | 52 +++++++++++++++++++ src/Umbraco.Web/Umbraco.Web.csproj | 2 +- 4 files changed, 59 insertions(+), 37 deletions(-) delete mode 100644 src/Umbraco.Web/Strategies/Migrations/RebuildMediaXmlCacheAfterUpgrade.cs create mode 100644 src/Umbraco.Web/Strategies/Migrations/RebuildXmlCachesAfterUpgrade.cs diff --git a/src/Umbraco.Core/Events/MigrationEventArgs.cs b/src/Umbraco.Core/Events/MigrationEventArgs.cs index 008e50d2ee..89dfe56294 100644 --- a/src/Umbraco.Core/Events/MigrationEventArgs.cs +++ b/src/Umbraco.Core/Events/MigrationEventArgs.cs @@ -128,8 +128,14 @@ namespace Umbraco.Core.Events get { return TargetSemVersion.GetVersion(); } } + /// + /// Gets the origin version of the migration, i.e. the one that is currently installed. + /// public SemVersion ConfiguredSemVersion { get; private set; } + /// + /// Gets the target version of the migration. + /// public SemVersion TargetSemVersion { get; private set; } public string ProductName { get; private set; } diff --git a/src/Umbraco.Web/Strategies/Migrations/RebuildMediaXmlCacheAfterUpgrade.cs b/src/Umbraco.Web/Strategies/Migrations/RebuildMediaXmlCacheAfterUpgrade.cs deleted file mode 100644 index c3920677c5..0000000000 --- a/src/Umbraco.Web/Strategies/Migrations/RebuildMediaXmlCacheAfterUpgrade.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System; -using Umbraco.Core; -using Umbraco.Core.Events; -using Umbraco.Core.Persistence.Migrations; -using Umbraco.Core.Services; -using umbraco.interfaces; -using Umbraco.Core.Configuration; - -namespace Umbraco.Web.Strategies.Migrations -{ - /// - /// This will execute after upgrading to rebuild the xml cache - /// - /// - /// This cannot execute as part of a db migration since we need access to the services/repos. - /// - /// This will execute for specific versions - - /// - /// * If current is less than or equal to 7.0.0 - /// - public class RebuildMediaXmlCacheAfterUpgrade : MigrationStartupHander - { - protected override void AfterMigration(MigrationRunner sender, MigrationEventArgs e) - { - if (e.ProductName != GlobalSettings.UmbracoMigrationName) return; - - var target70 = new Version(7, 0, 0); - - if (e.ConfiguredVersion <= target70) - { - var mediasvc = (MediaService)ApplicationContext.Current.Services.MediaService; - mediasvc.RebuildXmlStructures(); - } - } - } -} \ No newline at end of file diff --git a/src/Umbraco.Web/Strategies/Migrations/RebuildXmlCachesAfterUpgrade.cs b/src/Umbraco.Web/Strategies/Migrations/RebuildXmlCachesAfterUpgrade.cs new file mode 100644 index 0000000000..e62a738675 --- /dev/null +++ b/src/Umbraco.Web/Strategies/Migrations/RebuildXmlCachesAfterUpgrade.cs @@ -0,0 +1,52 @@ +using System; +using umbraco; +using Umbraco.Core; +using Umbraco.Core.Events; +using Umbraco.Core.Persistence.Migrations; +using Umbraco.Core.Services; +using GlobalSettings = Umbraco.Core.Configuration.GlobalSettings; + +namespace Umbraco.Web.Strategies.Migrations +{ + /// + /// Rebuilds the Xml caches after upgrading. + /// This will execute after upgrading to rebuild the xml cache + /// + /// + /// This cannot execute as part of a DB migration since it needs access to services and repositories. + /// Executes for: + /// - Media Xml : if current is less than, or equal to, 7.0.0 (superceeded by the next rule) + /// - Media & Content Xml : if current is less than, or equal to, 7.3.0 - because 7.3.0 adds .Key to cached items + /// + /// + public class RebuildXmlCachesAfterUpgrade : MigrationStartupHander + { + protected override void AfterMigration(MigrationRunner sender, MigrationEventArgs e) + { + if (e.ProductName != GlobalSettings.UmbracoMigrationName) return; + + var v730 = new Semver.SemVersion(new Version(7, 3, 0)); + + var doMedia = e.ConfiguredSemVersion < v730; + var doContent = e.ConfiguredSemVersion < v730; + + if (doMedia) + { + var mediaService = (MediaService) ApplicationContext.Current.Services.MediaService; + mediaService.RebuildXmlStructures(); + + // note: not re-indexing medias? + } + + if (doContent) + { + // rebuild Xml in database + var contentService = (ContentService) ApplicationContext.Current.Services.ContentService; + contentService.RebuildXmlStructures(); + + // refresh the Xml cache + content.Instance.RefreshContentFromDatabase(); + } + } + } +} \ No newline at end of file diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj index c86eb5cf04..4fccaab6f0 100644 --- a/src/Umbraco.Web/Umbraco.Web.csproj +++ b/src/Umbraco.Web/Umbraco.Web.csproj @@ -914,7 +914,7 @@ Resources.resx - + From c452d31f25d517d87ef84e9fd1fa545b602718b5 Mon Sep 17 00:00:00 2001 From: Stephan Date: Mon, 10 Oct 2016 19:18:49 +0200 Subject: [PATCH 11/19] Prevent tests from failing due to dates rounding --- src/Umbraco.Tests/TestHelpers/TestHelper.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Tests/TestHelpers/TestHelper.cs b/src/Umbraco.Tests/TestHelpers/TestHelper.cs index 5e362ee1f8..6c8fc9308d 100644 --- a/src/Umbraco.Tests/TestHelpers/TestHelper.cs +++ b/src/Umbraco.Tests/TestHelpers/TestHelper.cs @@ -142,7 +142,13 @@ namespace Umbraco.Tests.TestHelpers } else if (dateTimeFormat.IsNullOrWhiteSpace() == false && actualValue is DateTime) { - Assert.AreEqual(((DateTime) expectedValue).ToString(dateTimeFormat), ((DateTime)actualValue).ToString(dateTimeFormat), "Property {0}.{1} does not match. Expected: {2} but was: {3}", property.DeclaringType.Name, property.Name, expectedValue, actualValue); + // round to second else in some cases tests can fail ;-( + var expectedDateTime = (DateTime) expectedValue; + expectedDateTime = expectedDateTime.AddTicks(-(expectedDateTime.Ticks%TimeSpan.TicksPerSecond)); + var actualDateTime = (DateTime) actualValue; + actualDateTime = actualDateTime.AddTicks(-(actualDateTime.Ticks % TimeSpan.TicksPerSecond)); + + Assert.AreEqual(expectedDateTime.ToString(dateTimeFormat), actualDateTime.ToString(dateTimeFormat), "Property {0}.{1} does not match. Expected: {2} but was: {3}", property.DeclaringType.Name, property.Name, expectedValue, actualValue); } else { From 95b2ef0f3c47406574740fb29b728e5918fbfa37 Mon Sep 17 00:00:00 2001 From: Ivar Date: Mon, 10 Oct 2016 23:23:46 +0000 Subject: [PATCH 12/19] Styled toolbar buttons in ChangeDocType dialog --- .../umbraco/dialogs/ChangeDocType.aspx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/Umbraco.Web.UI/umbraco/dialogs/ChangeDocType.aspx b/src/Umbraco.Web.UI/umbraco/dialogs/ChangeDocType.aspx index 683299e5be..77deab2709 100644 --- a/src/Umbraco.Web.UI/umbraco/dialogs/ChangeDocType.aspx +++ b/src/Umbraco.Web.UI/umbraco/dialogs/ChangeDocType.aspx @@ -108,16 +108,14 @@
    - -
    -

    +

    + \ No newline at end of file From f1e5b3fcfac4d9d3c20ef3da754a98df6d006174 Mon Sep 17 00:00:00 2001 From: Stephan Date: Mon, 10 Oct 2016 19:18:49 +0200 Subject: [PATCH 13/19] Prevent tests from failing due to dates rounding --- src/Umbraco.Tests/TestHelpers/TestHelper.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Tests/TestHelpers/TestHelper.cs b/src/Umbraco.Tests/TestHelpers/TestHelper.cs index 5e362ee1f8..6c8fc9308d 100644 --- a/src/Umbraco.Tests/TestHelpers/TestHelper.cs +++ b/src/Umbraco.Tests/TestHelpers/TestHelper.cs @@ -142,7 +142,13 @@ namespace Umbraco.Tests.TestHelpers } else if (dateTimeFormat.IsNullOrWhiteSpace() == false && actualValue is DateTime) { - Assert.AreEqual(((DateTime) expectedValue).ToString(dateTimeFormat), ((DateTime)actualValue).ToString(dateTimeFormat), "Property {0}.{1} does not match. Expected: {2} but was: {3}", property.DeclaringType.Name, property.Name, expectedValue, actualValue); + // round to second else in some cases tests can fail ;-( + var expectedDateTime = (DateTime) expectedValue; + expectedDateTime = expectedDateTime.AddTicks(-(expectedDateTime.Ticks%TimeSpan.TicksPerSecond)); + var actualDateTime = (DateTime) actualValue; + actualDateTime = actualDateTime.AddTicks(-(actualDateTime.Ticks % TimeSpan.TicksPerSecond)); + + Assert.AreEqual(expectedDateTime.ToString(dateTimeFormat), actualDateTime.ToString(dateTimeFormat), "Property {0}.{1} does not match. Expected: {2} but was: {3}", property.DeclaringType.Name, property.Name, expectedValue, actualValue); } else { From 06132fcdafdf90a115db1b7609a4cf61a31ed900 Mon Sep 17 00:00:00 2001 From: Alexander Bryukhov Date: Wed, 12 Oct 2016 11:17:04 +0700 Subject: [PATCH 14/19] Update UI language ru.xml New key in healthCheck area added --- src/Umbraco.Web.UI/umbraco/config/lang/ru.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml b/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml index 54e3914c71..75c5630678 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml @@ -655,6 +655,7 @@ Медиа - всего в XML: %0%, всего: %1%Б с ошибками: %2% Содержимое - всего в XML: %0%, всего опубликовано: %1%, с ошибками: %2% + Сертификат Вашего сайта отмечен как проверенный. Ошибка проверки сертификата: '%0%' Ошибка проверки адреса URL %0% - '%1%' Сейчас Вы %0% просматриваете сайт, используя протокол HTTPS. From 8aa36a82c4ef023e9cac0d413f7c85955bb05fcb Mon Sep 17 00:00:00 2001 From: Seth Reeser Date: Wed, 12 Oct 2016 22:48:10 -0400 Subject: [PATCH 15/19] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3184d2024d..bce027090f 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ If you're interested in making changes to Belle without running Visual Studio ma Note that you can always [download a nightly build](http://nightly.umbraco.org/?container=umbraco-750) so you don't have to build the code yourself. -## Watch a introduction video ## +## Watch an introduction video ## [![ScreenShot](http://umbraco.com/images/whatisumbraco.png)](https://umbraco.tv/videos/umbraco-v7/content-editor/basics/introduction/cms-explanation/) From cf604255fcff62f3e916d74ad54e02a053703df2 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 13 Oct 2016 13:12:24 +0200 Subject: [PATCH 16/19] fixes: U4-8896 U7 (7.4.2) - Uploading images in media library fails --- .../dashboard/dashboard.tabs.controller.js | 54 ++++++++++++------- 1 file changed, 35 insertions(+), 19 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/dashboard/dashboard.tabs.controller.js b/src/Umbraco.Web.UI.Client/src/views/dashboard/dashboard.tabs.controller.js index 53c0e0419d..68d304198e 100644 --- a/src/Umbraco.Web.UI.Client/src/views/dashboard/dashboard.tabs.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/dashboard/dashboard.tabs.controller.js @@ -192,27 +192,43 @@ function startupLatestEditsController($scope) { } angular.module("umbraco").controller("Umbraco.Dashboard.StartupLatestEditsController", startupLatestEditsController); -function MediaFolderBrowserDashboardController($rootScope, $scope, contentTypeResource) { +function MediaFolderBrowserDashboardController($rootScope, $scope, $location, contentTypeResource, userService) { - //get the system media listview - contentTypeResource.getPropertyTypeScaffold(-96) - .then(function(dt) { + var currentUser = {}; - $scope.fakeProperty = { - alias: "contents", - config: dt.config, - description: "", - editor: dt.editor, - hideLabel: true, - id: 1, - label: "Contents:", - validation: { - mandatory: false, - pattern: null - }, - value: "", - view: dt.view - }; + userService.getCurrentUser().then(function (user) { + + currentUser = user; + + // check if the user start node is the dashboard + if(currentUser.startMediaId === -1) { + + //get the system media listview + contentTypeResource.getPropertyTypeScaffold(-96) + .then(function(dt) { + + $scope.fakeProperty = { + alias: "contents", + config: dt.config, + description: "", + editor: dt.editor, + hideLabel: true, + id: 1, + label: "Contents:", + validation: { + mandatory: false, + pattern: null + }, + value: "", + view: dt.view + }; + + }); + + } else { + // redirect to start node + $location.path("/media/media/edit/" + currentUser.startMediaId); + } }); From 74e6633f2a13d3c260327009dc1f05aead02d034 Mon Sep 17 00:00:00 2001 From: Jeffrey Schoemaker Date: Fri, 14 Oct 2016 10:31:12 +0200 Subject: [PATCH 17/19] Update imagecropper.html Remove ng-show="imageIsLoaded" so "Remove file" is always visible when there's an image or file uploaded, even if it can't be rendered because whether is .tif-file (correct image, but not rendered in modern browsers), .pdf-file (foolish action) or the image is removed from the server (staging with a production-environment-database). Related to http://issues.umbraco.org/issue/U4-8490 --- .../src/views/propertyeditors/imagecropper/imagecropper.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/imagecropper/imagecropper.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/imagecropper/imagecropper.html index e274249b42..e1c0118497 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/imagecropper/imagecropper.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/imagecropper/imagecropper.html @@ -44,7 +44,7 @@ center="model.value.focalPoint" on-image-loaded="imageLoaded"> - Remove file + Remove file
      From c839285f907688a724f6de065d6c78e9f6f3387d Mon Sep 17 00:00:00 2001 From: leekelleher Date: Fri, 14 Oct 2016 16:35:41 +0100 Subject: [PATCH 18/19] Grid: Quote editor - wrong CSS style rule for italic [Issue #U4-9073](http://issues.umbraco.org/issue/U4-9073) In `grid.editors.config.js`, the style config for the Quote editor has an incorrect CSS style rule for italic, it has... ```css font-variant: italic; ``` It should be... ```css font-style: italic; ``` I wasn't sure which `grid.editors.config.js` to change, so I did them all. --- .../src/common/mocks/editors/prevalues.mocks.js | 2 +- src/Umbraco.Web.UI.Client/src/config/grid.editors.config.js | 2 +- src/Umbraco.Web.UI/config/grid.editors.config.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/mocks/editors/prevalues.mocks.js b/src/Umbraco.Web.UI.Client/src/common/mocks/editors/prevalues.mocks.js index d181d3d25a..a2d0a6fa3b 100644 --- a/src/Umbraco.Web.UI.Client/src/common/mocks/editors/prevalues.mocks.js +++ b/src/Umbraco.Web.UI.Client/src/common/mocks/editors/prevalues.mocks.js @@ -58,7 +58,7 @@ angular.module('umbraco.mocks'). "view": "textstring", "icon": "icon-quote", "config": { - "style": "border-left: 3px solid #ccc; padding: 10px; color: #ccc; font-family: serif; font-variant: italic; font-size: 18px", + "style": "border-left: 3px solid #ccc; padding: 10px; color: #ccc; font-family: serif; font-style: italic; font-size: 18px", "markup": "
      #value#
      " } } diff --git a/src/Umbraco.Web.UI.Client/src/config/grid.editors.config.js b/src/Umbraco.Web.UI.Client/src/config/grid.editors.config.js index 3b1e2b7083..8301f15a14 100644 --- a/src/Umbraco.Web.UI.Client/src/config/grid.editors.config.js +++ b/src/Umbraco.Web.UI.Client/src/config/grid.editors.config.js @@ -39,7 +39,7 @@ "view": "textstring", "icon": "icon-quote", "config": { - "style": "border-left: 3px solid #ccc; padding: 10px; color: #ccc; font-family: serif; font-variant: italic; font-size: 18px", + "style": "border-left: 3px solid #ccc; padding: 10px; color: #ccc; font-family: serif; font-style: italic; font-size: 18px", "markup": "
      #value#
      " } } diff --git a/src/Umbraco.Web.UI/config/grid.editors.config.js b/src/Umbraco.Web.UI/config/grid.editors.config.js index 7686de5270..b904920566 100644 --- a/src/Umbraco.Web.UI/config/grid.editors.config.js +++ b/src/Umbraco.Web.UI/config/grid.editors.config.js @@ -39,7 +39,7 @@ "view": "textstring", "icon": "icon-quote", "config": { - "style": "border-left: 3px solid #ccc; padding: 10px; color: #ccc; font-family: serif; font-variant: italic; font-size: 18px", + "style": "border-left: 3px solid #ccc; padding: 10px; color: #ccc; font-family: serif; font-style: italic; font-size: 18px", "markup": "
      #value#
      " } } From 900f8970f0b1efb2333e1b3d1119b77938d153de Mon Sep 17 00:00:00 2001 From: Sebastiaan Janssen Date: Mon, 17 Oct 2016 09:56:50 +0200 Subject: [PATCH 19/19] Check for null orderBy argument earlier to avoid doing unnecessary work --- src/Umbraco.Core/Persistence/Repositories/UserRepository.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Core/Persistence/Repositories/UserRepository.cs b/src/Umbraco.Core/Persistence/Repositories/UserRepository.cs index cbaa92da21..4652ce47be 100644 --- a/src/Umbraco.Core/Persistence/Repositories/UserRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/UserRepository.cs @@ -320,13 +320,14 @@ namespace Umbraco.Core.Persistence.Repositories /// public IEnumerable GetPagedResultsByQuery(IQuery query, int pageIndex, int pageSize, out int totalRecords, Expression> orderBy) { + if (orderBy == null) + throw new ArgumentNullException("orderBy"); + // get the referenced column name and find the corresp mapped column name var expressionMember = ExpressionHelper.GetMemberInfo(orderBy); var mapper = MappingResolver.Current.ResolveMapperByType(typeof(IUser)); var mappedField = mapper.Map(expressionMember.Name); - if (orderBy == null) - throw new ArgumentNullException("orderBy"); if (mappedField.IsNullOrWhiteSpace()) throw new ArgumentException("Could not find a mapping for the column specified in the orderBy clause");