Merge branch 'v8/8.9' into v8/dev

# Conflicts:
#	src/Umbraco.Web.UI/Umbraco/config/lang/en.xml
This commit is contained in:
Sebastiaan Janssen
2020-10-05 20:58:47 +02:00
70 changed files with 1742 additions and 571 deletions

View File

@@ -346,9 +346,9 @@
<WebProjectProperties>
<UseIIS>False</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>8800</DevelopmentServerPort>
<DevelopmentServerPort>8900</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost:8800</IISUrl>
<IISUrl>http://localhost:8900</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>

View File

@@ -61,7 +61,7 @@
<script type="text/javascript">
document.angularReady = function (app) {
@Html.AngularValueExternalLoginInfoScript(ViewData.GetExternalSignInError())
@Html.AngularValueExternalLoginInfoScript(ViewData.GetExternalSignInProviderErrors())
@Html.AngularValueResetPasswordCodeInfoScript(ViewData["PasswordResetCode"])
}

View File

@@ -1,144 +1,144 @@
@using Umbraco.Core
@using ClientDependency.Core
@using ClientDependency.Core.Mvc
@using Umbraco.Core.Composing
@using Umbraco.Core.IO
@using Umbraco.Web
@inherits WebViewPage<Umbraco.Web.Editors.BackOfficeModel>
@{
var isDebug = false;
if (Request.RawUrl.IndexOf('?') >= 0)
{
var parsed = HttpUtility.ParseQueryString(Request.RawUrl.Split('?')[1]);
var attempt = parsed["umbDebug"].TryConvertTo<bool>();
if (attempt && attempt.Result)
{
isDebug = true;
}
}
Html
.RequiresCss("assets/css/umbraco.css", "Umbraco")
.RequiresCss("lib/bootstrap-social/bootstrap-social.css", "Umbraco")
.RequiresCss("lib/font-awesome/css/font-awesome.min.css", "Umbraco");
}
<!DOCTYPE html>
<html lang="en">
<head>
<base href="@Model.GlobalSettings.Path.EnsureEndsWith('/')" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="robots" content="noindex, nofollow">
<meta name="pinterest" content="nopin" />
<title ng-bind="$root.locationTitle">Umbraco</title>
@Html.RenderCssHere(
new BasicPath("Umbraco", IOHelper.ResolveUrl(SystemDirectories.Umbraco)))
</head>
<body ng-class="{'touch':touchDevice, 'emptySection':emptySection, 'umb-drawer-is-visible':drawer.show, 'umb-tour-is-visible': tour.show, 'tabbing-active':tabbingActive}" ng-controller="Umbraco.MainController" id="umbracoMainPageBody">
<noscript>
<div style="margin: 10px;">
<h3><img src="assets/img/application/logo.png" alt="Umbraco logo" style="vertical-align: text-bottom;" /> Umbraco</h3>
<p>For full functionality of Umbraco CMS it is necessary to enable JavaScript.</p>
<p>Here are the <a href="https://www.enable-javascript.com/" target="_blank" style="text-decoration: underline;">instructions how to enable JavaScript in your web browser</a>.</p>
</div>
</noscript>
<div ng-hide="!authenticated" ng-cloak>
<div style="display: none;" id="mainwrapper" class="clearfix">
<umb-app-header></umb-app-header>
<div class="umb-app-content">
<umb-navigation></umb-navigation>
<section id="contentwrapper">
<div id="contentcolumn">
<div class="umb-editor" ng-view></div>
</div>
</section>
</div>
<umb-notifications></umb-notifications>
</div>
<umb-tour
ng-if="tour.show"
model="tour">
</umb-tour>
<!-- help dialog controller by the help button - this also forces the backoffice UI to shift 400px -->
<umb-drawer data-element="drawer" ng-if="drawer.show" model="drawer.model" view="drawer.view"></umb-drawer>
<umb-search ng-if="search.show" on-close="closeSearch()"></umb-search>
</div>
<umb-backdrop ng-if="backdrop.show || infiniteMode"
backdrop-opacity="backdrop.opacity"
highlight-element="backdrop.element"
highlight-prevent-click="backdrop.elementPreventClick"
disable-events-on-click="backdrop.disableEventsOnClick">
</umb-backdrop>
<umb-overlay ng-if="overlay.show"
model="overlay"
position="{{overlay.position}}"
size="overlay.size"
view="overlay.view"
name="overlay.name"
parent-scope="overlay.parentScope">
</umb-overlay>
<umb-editors ng-show="infiniteMode"></umb-editors>
<umb-login
ng-if="login.show"
on-login="hideLoginScreen()">
</umb-login>
@Html.BareMinimumServerVariablesScript(Url, Url.Action("ExternalLogin", "BackOffice", new { area = ViewData.GetUmbracoPath() }), Model.Features, Current.Configs.Global())
<script>
document.angularReady = function(app) {
@Html.AngularValueExternalLoginInfoScript(ViewData.GetExternalSignInError())
@Html.AngularValueResetPasswordCodeInfoScript(ViewData["PasswordResetCode"])
@Html.AngularValueTinyMceAssets()
app.run(["iconHelper", function (iconHelper) {
@* We inject icons to the icon helper(service), since icons can only be loaded if user is authorized. By injecting these to the service they will not be requested as they will become cached. *@
iconHelper.defineIcon("icon-check", '@Html.Raw(Model.IconCheckData)');
iconHelper.defineIcon("icon-delete", '@Html.Raw(Model.IconDeleteData)');
}]);
//required for the noscript trick
document.getElementById("mainwrapper").style.display = "inherit";
}
</script>
<script src="lib/lazyload-js/lazyload.min.js"></script>
<script src="@Url.GetUrlWithCacheBust("Application", "BackOffice")"></script>
@if (isDebug)
{
@Html.RenderProfiler()
}
</body>
</html>
@using Umbraco.Core
@using ClientDependency.Core
@using ClientDependency.Core.Mvc
@using Umbraco.Core.Composing
@using Umbraco.Core.IO
@using Umbraco.Web
@inherits WebViewPage<Umbraco.Web.Editors.BackOfficeModel>
@{
var isDebug = false;
if (Request.RawUrl.IndexOf('?') >= 0)
{
var parsed = HttpUtility.ParseQueryString(Request.RawUrl.Split('?')[1]);
var attempt = parsed["umbDebug"].TryConvertTo<bool>();
if (attempt && attempt.Result)
{
isDebug = true;
}
}
Html
.RequiresCss("assets/css/umbraco.css", "Umbraco")
.RequiresCss("lib/bootstrap-social/bootstrap-social.css", "Umbraco")
.RequiresCss("lib/font-awesome/css/font-awesome.min.css", "Umbraco");
}
<!DOCTYPE html>
<html lang="en">
<head>
<base href="@Model.GlobalSettings.Path.EnsureEndsWith('/')" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="robots" content="noindex, nofollow">
<meta name="pinterest" content="nopin" />
<title ng-bind="$root.locationTitle">Umbraco</title>
@Html.RenderCssHere(
new BasicPath("Umbraco", IOHelper.ResolveUrl(SystemDirectories.Umbraco)))
</head>
<body ng-class="{'touch':touchDevice, 'emptySection':emptySection, 'umb-drawer-is-visible':drawer.show, 'umb-tour-is-visible': tour.show, 'tabbing-active':tabbingActive}" ng-controller="Umbraco.MainController" id="umbracoMainPageBody">
<noscript>
<div style="margin: 10px;">
<h3><img src="assets/img/application/logo.png" alt="Umbraco logo" style="vertical-align: text-bottom;" /> Umbraco</h3>
<p>For full functionality of Umbraco CMS it is necessary to enable JavaScript.</p>
<p>Here are the <a href="https://www.enable-javascript.com/" target="_blank" style="text-decoration: underline;">instructions how to enable JavaScript in your web browser</a>.</p>
</div>
</noscript>
<div ng-hide="!authenticated" ng-cloak>
<div style="display: none;" id="mainwrapper" class="clearfix">
<umb-app-header></umb-app-header>
<div class="umb-app-content">
<umb-navigation></umb-navigation>
<section id="contentwrapper">
<div id="contentcolumn">
<div class="umb-editor" ng-view></div>
</div>
</section>
</div>
<umb-notifications></umb-notifications>
</div>
<umb-tour
ng-if="tour.show"
model="tour">
</umb-tour>
<!-- help dialog controller by the help button - this also forces the backoffice UI to shift 400px -->
<umb-drawer data-element="drawer" ng-if="drawer.show" model="drawer.model" view="drawer.view"></umb-drawer>
<umb-search ng-if="search.show" on-close="closeSearch()"></umb-search>
</div>
<umb-backdrop ng-if="backdrop.show || infiniteMode"
backdrop-opacity="backdrop.opacity"
highlight-element="backdrop.element"
highlight-prevent-click="backdrop.elementPreventClick"
disable-events-on-click="backdrop.disableEventsOnClick">
</umb-backdrop>
<umb-overlay ng-if="overlay.show"
model="overlay"
position="{{overlay.position}}"
size="overlay.size"
view="overlay.view"
name="overlay.name"
parent-scope="overlay.parentScope">
</umb-overlay>
<umb-editors ng-show="infiniteMode"></umb-editors>
<umb-login
ng-if="login.show"
on-login="hideLoginScreen()">
</umb-login>
@Html.BareMinimumServerVariablesScript(Url, Url.Action("ExternalLogin", "BackOffice", new { area = ViewData.GetUmbracoPath() }), Model.Features, Current.Configs.Global())
<script>
document.angularReady = function(app) {
@Html.AngularValueExternalLoginInfoScript(ViewData.GetExternalSignInProviderErrors())
@Html.AngularValueResetPasswordCodeInfoScript(ViewData["PasswordResetCode"])
@Html.AngularValueTinyMceAssets()
app.run(["iconHelper", function (iconHelper) {
@* We inject icons to the icon helper(service), since icons can only be loaded if user is authorized. By injecting these to the service they will not be requested as they will become cached. *@
iconHelper.defineIcon("icon-check", '@Html.Raw(Model.IconCheckData)');
iconHelper.defineIcon("icon-delete", '@Html.Raw(Model.IconDeleteData)');
}]);
//required for the noscript trick
document.getElementById("mainwrapper").style.display = "inherit";
}
</script>
<script src="lib/lazyload-js/lazyload.min.js"></script>
<script src="@Url.GetUrlWithCacheBust("Application", "BackOffice")"></script>
@if (isDebug)
{
@Html.RenderProfiler()
}
</body>
</html>

View File

@@ -1848,7 +1848,7 @@ To manage your website, simply open the Umbraco back office and start adding con
<key alias="administrators">Administrator</key>
<key alias="categoryField">Category field</key>
<key alias="createDate">User created</key>
<key alias="changePassword">Change Your Password</key>
<key alias="changePassword">Change your password</key>
<key alias="changePhoto">Change photo</key>
<key alias="newPassword">New password</key>
<key alias="noLockouts">hasn't been locked out</key>

View File

@@ -1867,7 +1867,7 @@ To manage your website, simply open the Umbraco back office and start adding con
<key alias="administrators">Administrator</key>
<key alias="categoryField">Category field</key>
<key alias="createDate">User created</key>
<key alias="changePassword">Change Your Password</key>
<key alias="changePassword">Change your password</key>
<key alias="changePhoto">Change photo</key>
<key alias="newPassword">New password</key>
<key alias="noLockouts">hasn't been locked out</key>