From b6d0b4633259aef9d72b73ccda6cfe7ed8be6a06 Mon Sep 17 00:00:00 2001 From: Shannon Date: Tue, 28 Oct 2014 09:28:53 +1000 Subject: [PATCH] Fixes: U4-5691 Search in backoffice pickers not working --- src/Umbraco.Web/Editors/EntityController.cs | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Web/Editors/EntityController.cs b/src/Umbraco.Web/Editors/EntityController.cs index fc34f4cc00..3d4c01eb26 100644 --- a/src/Umbraco.Web/Editors/EntityController.cs +++ b/src/Umbraco.Web/Editors/EntityController.cs @@ -305,20 +305,33 @@ namespace Umbraco.Web.Editors break; case UmbracoEntityTypes.Media: type = "media"; - if (Security.CurrentUser.StartMediaId > 0 || searchFrom != null) + + var mediaSearchFrom = int.MinValue; + + if (Security.CurrentUser.StartMediaId > 0 || + //if searchFrom is specified and it is greater than 0 + (searchFrom != null && int.TryParse(searchFrom, out mediaSearchFrom) && mediaSearchFrom > 0)) { sb.Append("+__Path: \\-1*\\,"); - sb.Append((searchFrom ?? Security.CurrentUser.StartMediaId.ToString(CultureInfo.InvariantCulture))); + sb.Append(mediaSearchFrom > 0 + ? mediaSearchFrom.ToString(CultureInfo.InvariantCulture) + : Security.CurrentUser.StartMediaId.ToString(CultureInfo.InvariantCulture)); sb.Append("\\,* "); } break; case UmbracoEntityTypes.Document: type = "content"; - if (Security.CurrentUser.StartMediaId > 0 || searchFrom != null) + var contentSearchFrom = int.MinValue; + + if (Security.CurrentUser.StartContentId > 0 || + //if searchFrom is specified and it is greater than 0 + (searchFrom != null && int.TryParse(searchFrom, out contentSearchFrom) && contentSearchFrom > 0)) { sb.Append("+__Path: \\-1*\\,"); - sb.Append((searchFrom ?? Security.CurrentUser.StartContentId.ToString(CultureInfo.InvariantCulture))); + sb.Append(contentSearchFrom > 0 + ? contentSearchFrom.ToString(CultureInfo.InvariantCulture) + : Security.CurrentUser.StartContentId.ToString(CultureInfo.InvariantCulture)); sb.Append("\\,* "); } break;