Merge remote-tracking branch 'origin/v8/8.16' into v9/feature/merge_v8_11082021

# Conflicts:
#	.github/CONTRIBUTING.md
#	build/NuSpecs/UmbracoCms.Core.nuspec
#	build/NuSpecs/UmbracoCms.Web.nuspec
#	build/NuSpecs/UmbracoCms.nuspec
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Cache/AppCaches.cs
#	src/Umbraco.Core/Cache/AppPolicedCacheDictionary.cs
#	src/Umbraco.Core/Cache/DeepCloneAppCache.cs
#	src/Umbraco.Core/Cache/WebCachingAppCache.cs
#	src/Umbraco.Core/CompositionExtensions.cs
#	src/Umbraco.Core/Models/Identity/BackOfficeIdentityUser.cs
#	src/Umbraco.Core/Models/PropertyGroupCollection.cs
#	src/Umbraco.Core/Models/PropertyTypeCollection.cs
#	src/Umbraco.Core/Persistence/Repositories/Implement/ExternalLoginRepository.cs
#	src/Umbraco.Core/ReadLock.cs
#	src/Umbraco.Core/Routing/SiteDomainMapper.cs
#	src/Umbraco.Core/UpgradeableReadLock.cs
#	src/Umbraco.Core/WriteLock.cs
#	src/Umbraco.Examine/ExamineExtensions.cs
#	src/Umbraco.Infrastructure/Examine/UmbracoFieldDefinitionCollection.cs
#	src/Umbraco.Infrastructure/Persistence/Dtos/ContentTypeDto.cs
#	src/Umbraco.Infrastructure/Persistence/Dtos/DictionaryDto.cs
#	src/Umbraco.Infrastructure/Persistence/Repositories/Implement/MemberGroupRepository.cs
#	src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TemplateRepository.cs
#	src/Umbraco.Infrastructure/Persistence/Repositories/Implement/UserRepository.cs
#	src/Umbraco.Infrastructure/Services/IdKeyMap.cs
#	src/Umbraco.Infrastructure/Services/Implement/ContentService.cs
#	src/Umbraco.ModelsBuilder.Embedded/PureLiveModelFactory.cs
#	src/Umbraco.Tests/App.config
#	src/Umbraco.Web.BackOffice/Controllers/EntityController.cs
#	src/Umbraco.Web.UI.Client/package.json
#	src/Umbraco.Web.UI.NetCore/umbraco/config/lang/da.xml
#	src/Umbraco.Web.UI.NetCore/umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI.NetCore/umbraco/config/lang/en_us.xml
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
#	src/Umbraco.Web.UI/Umbraco/config/lang/cy.xml
#	src/Umbraco.Web.UI/web.Template.config
#	src/Umbraco.Web/CacheHelperExtensions.cs
#	src/Umbraco.Web/Editors/RelationTypeController.cs
#	src/Umbraco.Web/Logging/WebProfilerProvider.cs
#	src/Umbraco.Web/Models/Mapping/MemberMapDefinition.cs
#	src/Umbraco.Web/PublishedCache/NuCache/MemberCache.cs
#	src/Umbraco.Web/Routing/ContentFinderByConfigured404.cs
#	src/Umbraco.Web/Routing/NotFoundHandlerHelper.cs
#	src/Umbraco.Web/Security/BackOfficeUserManager.cs
#	src/Umbraco.Web/Umbraco.Web.csproj
This commit is contained in:
Bjarke Berg
2021-08-11 19:11:35 +02:00
138 changed files with 1210 additions and 1094 deletions

View File

@@ -81,7 +81,7 @@ angular.mock.$Browser = function () {
self.defer.cancel = function (deferId) {
var fnIndex;
angular.forEach(self.deferredFns, function (fn, index) {
Utilities.forEach(self.deferredFns, function (fn, index) {
if (fn.id === deferId) fnIndex = index;
});
@@ -141,7 +141,7 @@ angular.mock.$Browser.prototype = {
* run all fns in pollFns
*/
poll: function poll() {
angular.forEach(this.pollFns, function (pollFn) {
Utilities.forEach(this.pollFns, function (pollFn) {
pollFn();
});
},
@@ -388,9 +388,9 @@ angular.mock.$LogProvider = function () {
*/
$log.assertEmpty = function () {
var errors = [];
angular.forEach(['error', 'warn', 'info', 'log'], function (logLevel) {
angular.forEach($log[logLevel].logs, function (log) {
angular.forEach(log, function (logItem) {
Utilities.forEach(['error', 'warn', 'info', 'log'], function (logLevel) {
Utilities.forEach($log[logLevel].logs, function (log) {
Utilities.forEach(log, function (logItem) {
errors.push('MOCK $log (' + logLevel + '): ' + String(logItem) + '\n' + (logItem.stack || ''));
});
});
@@ -598,7 +598,7 @@ angular.mock.$LogProvider = function () {
'setYear', 'toDateString', 'toGMTString', 'toJSON', 'toLocaleFormat', 'toLocaleString',
'toLocaleTimeString', 'toSource', 'toString', 'toTimeString', 'toUTCString', 'valueOf'];
angular.forEach(unimplementedMethods, function (methodName) {
Utilities.forEach(unimplementedMethods, function (methodName) {
self[methodName] = function () {
throw Error("Method '" + methodName + "' is not implemented in the TzDate mock");
};
@@ -688,13 +688,13 @@ angular.mock.dump = function (object) {
if (angular.isElement(object)) {
object = $(object);
out = $('<div></div>');
angular.forEach(object, function (element) {
Utilities.forEach(object, function (element) {
out.append($(element).clone());
});
out = out.html();
} else if (Utilities.isArray(object)) {
out = [];
angular.forEach(object, function (o) {
Utilities.forEach(object, function (o) {
out.push(serialize(o));
});
out = '[ ' + out.join(', ') + ' ]';
@@ -1343,13 +1343,13 @@ function createHttpBackendMock($rootScope, $delegate, $browser) {
function createShortMethods(prefix) {
angular.forEach(['GET', 'DELETE', 'JSONP'], function (method) {
Utilities.forEach(['GET', 'DELETE', 'JSONP'], function (method) {
$httpBackend[prefix + method] = function (url, headers) {
return $httpBackend[prefix](method, url, undefined, headers)
}
});
angular.forEach(['PUT', 'POST', 'PATCH'], function (method) {
Utilities.forEach(['PUT', 'POST', 'PATCH'], function (method) {
$httpBackend[prefix + method] = function (url, data, headers) {
return $httpBackend[prefix](method, url, data, headers)
}
@@ -1425,7 +1425,7 @@ function MockXhr() {
if (header) return header;
header = undefined;
angular.forEach(this.$$respHeaders, function (headerVal, headerName) {
Utilities.forEach(this.$$respHeaders, function (headerVal, headerName) {
if (!header && headerName.toLowerCase() == name) header = headerVal;
});
return header;
@@ -1434,7 +1434,7 @@ function MockXhr() {
this.getAllResponseHeaders = function () {
var lines = [];
angular.forEach(this.$$respHeaders, function (value, key) {
Utilities.forEach(this.$$respHeaders, function (value, key) {
lines.push(key + ': ' + value);
});
return lines.join('\n');
@@ -1723,7 +1723,7 @@ window.jstestdriver && (function (window) {
*/
window.dump = function () {
var args = [];
angular.forEach(arguments, function (arg) {
Utilities.forEach(arguments, function (arg) {
args.push(angular.mock.dump(arg));
});
jstestdriver.console.log.apply(jstestdriver.console, args);
@@ -1757,13 +1757,13 @@ window.jstestdriver && (function (window) {
angular.mock.clearDataCache();
// clean up jquery's fragment cache
angular.forEach(angular.element.fragments, function (val, key) {
Utilities.forEach(angular.element.fragments, function (val, key) {
delete angular.element.fragments[key];
});
MockXhr.$$lastInstance = null;
angular.forEach(angular.callbacks, function (val, key) {
Utilities.forEach(angular.callbacks, function (val, key) {
delete angular.callbacks[key];
});
angular.callbacks.counter = 0;
@@ -1798,7 +1798,7 @@ window.jstestdriver && (function (window) {
throw Error('Injector already created, can not register a module!');
} else {
var modules = currentSpec.$modules || (currentSpec.$modules = []);
angular.forEach(moduleFns, function (module) {
Utilities.forEach(moduleFns, function (module) {
modules.push(module);
});
}