Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/v13/dev' into v13/bugfix/16663
Browse files Browse the repository at this point in the history
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
  • Loading branch information
leekelleher committed Aug 13, 2024
2 parents 07fb3aa + 81f36df commit eb36086
Show file tree
Hide file tree
Showing 7 changed files with 138 additions and 31 deletions.
44 changes: 22 additions & 22 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,30 @@
</PropertyGroup>
<!-- Global packages (private, build-time packages for all projects) -->
<ItemGroup>
<GlobalPackageReference Include="Nerdbank.GitVersioning" Version="3.6.133" />
<GlobalPackageReference Include="Nerdbank.GitVersioning" Version="3.6.139" />
<GlobalPackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.507" />
<GlobalPackageReference Include="Umbraco.Code" Version="2.1.0" />
<GlobalPackageReference Include="Umbraco.Code" Version="2.2.0" />
<GlobalPackageReference Include="Umbraco.GitVersioning.Extensions" Version="0.2.0" />
</ItemGroup>
<!-- Microsoft packages -->
<ItemGroup>
<PackageVersion Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.6" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="8.0.6" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.8.0" />
<PackageVersion Include="Microsoft.Data.Sqlite" Version="8.0.6" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.6" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.6" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.6" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.7" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="8.0.7" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.10.0" />
<PackageVersion Include="Microsoft.Data.Sqlite" Version="8.0.7" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.7" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.7" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.7" />
<PackageVersion Include="Microsoft.Extensions.Caching.Abstractions" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.FileProviders.Embedded" Version="8.0.6" />
<PackageVersion Include="Microsoft.Extensions.FileProviders.Embedded" Version="8.0.7" />
<PackageVersion Include="Microsoft.Extensions.FileProviders.Physical" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Identity.Core" Version="8.0.6" />
<PackageVersion Include="Microsoft.Extensions.Identity.Stores" Version="8.0.6" />
<PackageVersion Include="Microsoft.Extensions.Identity.Core" Version="8.0.7" />
<PackageVersion Include="Microsoft.Extensions.Identity.Stores" Version="8.0.7" />
<PackageVersion Include="Microsoft.Extensions.Logging" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="8.0.2" />
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="8.0.0" />
Expand All @@ -45,13 +45,13 @@
<PackageVersion Include="Asp.Versioning.Mvc" Version="7.1.1" />
<PackageVersion Include="Asp.Versioning.Mvc.ApiExplorer" Version="7.1.0" />
<PackageVersion Include="Dazinator.Extensions.FileProviders" Version="2.0.0" />
<PackageVersion Include="Examine" Version="3.2.1" />
<PackageVersion Include="Examine.Core" Version="3.2.1" />
<PackageVersion Include="HtmlAgilityPack" Version="1.11.61" />
<PackageVersion Include="Examine" Version="3.3.0" />
<PackageVersion Include="Examine.Core" Version="3.3.0" />
<PackageVersion Include="HtmlAgilityPack" Version="1.11.62" />
<PackageVersion Include="K4os.Compression.LZ4" Version="1.3.8" />
<PackageVersion Include="MailKit" Version="4.6.0" />
<PackageVersion Include="MailKit" Version="4.7.1.1" />
<PackageVersion Include="Markdown" Version="2.2.1" />
<PackageVersion Include="MessagePack" Version="2.5.168" />
<PackageVersion Include="MessagePack" Version="2.5.172" />
<PackageVersion Include="MiniProfiler.AspNetCore.Mvc" Version="4.3.8" />
<PackageVersion Include="MiniProfiler.Shared" Version="4.3.8" />
<PackageVersion Include="ncrontab" Version="3.3.3" />
Expand All @@ -62,22 +62,22 @@
<PackageVersion Include="OpenIddict.AspNetCore" Version="4.10.1" />
<PackageVersion Include="OpenIddict.EntityFrameworkCore" Version="4.10.1" />
<PackageVersion Include="Serilog" Version="3.1.1" />
<PackageVersion Include="Serilog.AspNetCore" Version="8.0.1" />
<PackageVersion Include="Serilog.AspNetCore" Version="8.0.2" />
<PackageVersion Include="Serilog.Enrichers.Process" Version="2.0.2" />
<PackageVersion Include="Serilog.Enrichers.Thread" Version="3.1.0" />
<PackageVersion Include="Serilog.Expressions" Version="4.0.0" />
<PackageVersion Include="Serilog.Extensions.Hosting" Version="8.0.0" />
<PackageVersion Include="Serilog.Formatting.Compact" Version="2.0.0" />
<PackageVersion Include="Serilog.Formatting.Compact.Reader" Version="3.0.0" />
<PackageVersion Include="Serilog.Settings.Configuration" Version="8.0.0" />
<PackageVersion Include="Serilog.Settings.Configuration" Version="8.0.2" />
<PackageVersion Include="Serilog.Sinks.Async" Version="1.5.0" />
<PackageVersion Include="Serilog.Sinks.File" Version="5.0.0" />
<PackageVersion Include="Serilog.Sinks.Map" Version="1.0.2" />
<PackageVersion Include="SixLabors.ImageSharp" Version="3.1.4" />
<PackageVersion Include="SixLabors.ImageSharp.Web" Version="3.1.2" />
<PackageVersion Include="SixLabors.ImageSharp" Version="3.1.5" />
<PackageVersion Include="SixLabors.ImageSharp.Web" Version="3.1.3" />
<PackageVersion Include="Smidge.InMemory" Version="4.4.0" />
<PackageVersion Include="Smidge.Nuglify" Version="4.4.0" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.6.2" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.7.0" />
</ItemGroup>
<!-- Transitive pinned versions (only required because our direct dependencies have vulnerable versions of transitive dependencies) -->
<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,11 +160,12 @@ private async Task<IActionResult> SignInMember(MemberIdentityUser member, OpenId
claim.SetDestinations(OpenIddictConstants.Destinations.AccessToken);
}

if (request.GetScopes().Contains(OpenIddictConstants.Scopes.OfflineAccess))
{
// "offline_access" scope is required to use refresh tokens
memberPrincipal.SetScopes(OpenIddictConstants.Scopes.OfflineAccess);
}
// "openid" and "offline_access" are the only scopes allowed for members; explicitly ensure we only add those
// NOTE: the "offline_access" scope is required to use refresh tokens
IEnumerable<string> allowedScopes = request
.GetScopes()
.Intersect(new[] { OpenIddictConstants.Scopes.OpenId, OpenIddictConstants.Scopes.OfflineAccess });
memberPrincipal.SetScopes(allowedScopes);

return new SignInResult(OpenIddictServerAspNetCoreDefaults.AuthenticationScheme, memberPrincipal);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="SixLabors.ImageSharp" VersionOverride="[2.1.8, 3)" />
<PackageReference Include="SixLabors.ImageSharp" VersionOverride="[2.1.9, 3)" />
<PackageReference Include="SixLabors.ImageSharp.Web" VersionOverride="[2.0.2, 3)" />
</ItemGroup>

Expand Down
92 changes: 92 additions & 0 deletions src/Umbraco.Core/EmbeddedResources/Lang/sv.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,16 @@
<key alias="changeDocType">Ändra dokumenttyp</key>
<key alias="copy">Kopiera</key>
<key alias="create">Skapa</key>
<key alias="export">Exportera</key>
<key alias="createGroup">Skapa grupp</key>
<key alias="createPackage">Skapa paket</key>
<key alias="createblueprint">Skapa innehållsmall</key>
<key alias="defaultValue">Standardvärde</key>
<key alias="delete">Ta bort</key>
<key alias="disable">Avaktivera</key>
<key alias="editSettings">Ändra inställningar</key>
<key alias="emptyrecyclebin">Töm papperskorgen</key>
<key alias="enable">Aktivera</key>
<key alias="exportDocumentType">Exportera dokumenttyp</key>
<key alias="importdocumenttype">Importera dokumenttyp</key>
<key alias="importPackage">Importera paket</key>
Expand All @@ -40,13 +43,24 @@
<key alias="translate">Översätt</key>
<key alias="unpublish">Avpublicera</key>
<key alias="update">Uppdatera</key>
<key alias="setPermissions">Ändra rättigheter</key>
<key alias="unlock">Lås upp</key>
<key alias="createblueprint">Skapa innehållsmall</key>
<key alias="resendInvite">Skicka inbjudan igen</key>
<key alias="toggleHideUnavailable">Dölj otillgängliga alternativ</key>
<key alias="changeDataType">Ändra datatyp</key>
<key alias="editContent">Redigera innehåll</key>
</area>
<area alias="actionCategories">
<key alias="administration">Administration</key>
<key alias="structure">Struktur</key>
<key alias="other">Övrigt</key>
<key alias="content">Innehåll</key>
</area>
<area alias="apps">
<key alias="umbContent">Innehåll</key>
<key alias="umbInfo">Info</key>
</area>
<area alias="assignDomain">
<key alias="addNew">Lägg till nytt domännamn</key>
<key alias="domain">Domännamn</key>
Expand Down Expand Up @@ -113,8 +127,21 @@
<key alias="areaValidationEntriesExceed"><![CDATA[<strong>%0%</strong> måste maximalt finnas <strong>%3%</strong> time(s).]]></key>
</area>
<area alias="validation">
<key alias="invalidEmail">Ogiltig e-postadress</key>
<key alias="invalidNull">Värde får inte vara 'null'</key>
<key alias="invalidEmpty">Värde får inte vara tomt</key>
<key alias="invalidPattern">Värdet är ogiltigt och matchar inte det korrekta formatet</key>
<key alias="entriesShort"><![CDATA[Minsta %0% poster, kräver <strong>%1%</strong> mer.]]></key>
<key alias="entriesExceed"><![CDATA[Max %0% poster, <strong>%1%</strong> för många.]]></key>
<key alias="entriesAreasMismatch">Innehållskraven har ej godkänts på ett eller flera områden.</key>
<key alias="invalidMemberGroupName">Ogiltigt namn för medlemsgrupp</key>
<key alias="invalidUserGroupName">Ogiltigt namn för användargrupp</key>
<key alias="invalidToken">Ogiltig token</key>
<key alias="invalidUsername">Ogiltigt användarnamn</key>
<key alias="duplicateEmail">E-postadressen '%0%' är redan tagen</key>
<key alias="duplicateUserGroupName">Namnet '%0%' är redan taget</key>
<key alias="duplicateMemberGroupName">Namnet '%0%' är redan taget</key>
<key alias="duplicateUsername">Användarnamnet '%0%' är redan taget</key>
</area>
<area alias="blueprints">
<key alias="createBlueprintFrom"><![CDATA[Skapa en ny innehållsmall för <em>%0%</em>]]></key>
Expand Down Expand Up @@ -176,6 +203,7 @@
<key alias="clickToEdit">Klicka för att redigera detta objekt</key>
<key alias="createBy">Skapad av</key>
<key alias="createByDesc">Ursprunglig författare</key>
<key alias="updatedBy" version="7.0">Uppdaterad av</key>
<key alias="createDate">Skapad</key>
<key alias="createDateDesc">Datum/tid som dokumentet skapades</key>
<key alias="documentType">Dokumenttyp</key>
Expand Down Expand Up @@ -559,6 +587,29 @@
<key alias="retrieve">Hämta</key>
<key alias="selected">valda</key>
</area>
<area alias="colors">
<key alias="blue">Blå</key>
</area>
<area alias="shortcuts">
<key alias="addGroup">Lägg till grupp</key>
<key alias="addProperty">Lägg till egenskap</key>
<key alias="addEditor">Lägg till redigerare</key>
<key alias="addTemplate">Lägg till mall</key>
<key alias="editDataType">Ändra datatyp</key>
<key alias="shortcut">Genvägar</key>
<key alias="showShortcuts">visa genvägar</key>
<key alias="toggleListView">Toggle list view</key>
<key alias="toggleAllowAsRoot">Toggle allow as root</key>
<key alias="commentLine">Kommentera bort/återställ rader</key>
<key alias="removeLine">Radera rad</key>
<key alias="copyLineUp">Kopiera upp rader</key>
<key alias="copyLineDown">Kopiera ned rader</key>
<key alias="moveLineUp">Flytta upp rader</key>
<key alias="moveLineDown">Flytta ned rader</key>
<key alias="generalHeader">Allmänt</key>
<key alias="editorHeader">Redigerare</key>
<key alias="addTab">Lägg till tabb</key>
</area>
<area alias="graphicheadline">
<key alias="backgroundcolor">Bakgrundsfärg</key>
<key alias="bold">Fetstil</key>
Expand Down Expand Up @@ -661,6 +712,11 @@
<key alias="createNewMember">Skapa en ny medlem</key>
<key alias="allMembers">Alla medlemmar</key>
<key alias="memberGroupNoProperties">Medlemsgrupper har inga extra egenskaper för redigering.</key>
<key alias="duplicateMemberLogin">En medlem med detta inlogg existerar redan</key>
<key alias="memberHasGroup">Medlem finns redan i gruppen '%0%'</key>
<key alias="memberHasPassword">Medlem har redan ett lösenord</key>
<key alias="memberLockoutNotEnabled">Avstängning är inte aktiverat för denna medlem</key>
<key alias="memberNotInGroup">Medlem är inte med i gruppen '%0%'</key>
</area>
<area alias="moveOrCopy">
<key alias="choose">Välj sida ovan...</key>
Expand Down Expand Up @@ -1087,9 +1143,45 @@
<key alias="sortCreateDateAscending">Äldst</key>
<key alias="sortCreateDateDescending">Nyast</key>
<key alias="sortLastLoginDateDescending">Senaste login</key>
<key alias="duplicateLogin">En användare med detta inlogg existerar redan</key>
<key alias="passwordRequiresDigit">Lösenordet måste innehålla minst en siffra ('0'-'9')</key>
<key alias="passwordRequiresLower">Lösenordet måste innehålla minst en liten bokstav ('a'-'z')</key>
<key alias="passwordRequiresNonAlphanumeric">Lösenordet måste innehålla minst ett specialtecken</key>
<key alias="passwordRequiresUniqueChars">Lösenordet måste innehålla minst %0% unika tecken</key>
<key alias="passwordRequiresUpper">Lösenordet måste innehålla minst en stor bokstav ('A'-'Z')</key>
<key alias="passwordTooShort">Lösenordet måste vara minst %0% tecken</key>
<key alias="userHasPassword">Användaren har redan ett lösenord</key>
<key alias="userHasGroup">Användaren finns redan i gruppen '%0%'</key>
<key alias="userLockoutNotEnabled">Avstängning är inte aktiverat för denna användaren</key>
<key alias="userNotInGroup">Användaren finns inte i gruppen '%0%'</key>
</area>
<area alias="logViewer">
<key alias="selectAllLogLevelFilters">Välj alla</key>
<key alias="deselectAllLogLevelFilters">Avmarkera alla</key>
</area>
<area alias="preview">
<key alias="endLabel">Avsluta</key>
<key alias="endTitle">Avsluta förhandsvisning</key>
<key alias="openWebsiteLabel">Förhandsvisa webbplats</key>
<key alias="openWebsiteTitle">Öppna webbplats i förhandsvisningsläge</key>
<key alias="returnToPreviewHeadline">Förhandsvisa webbplats?</key>
<key alias="returnToPreviewDescription">Du har avslutat förhandsvisningsläge, vill du aktivera det igen för att se senast sparade version av webbplatsen?</key>
<key alias="returnToPreviewAcceptButton">Förhandsvisa senaste version</key>
<key alias="returnToPreviewDeclineButton">Visa publicerad version</key>
<key alias="viewPublishedContentHeadline">Visa publicerad version?</key>
<key alias="viewPublishedContentDescription">Du visar webbplats i förhandsvisningsläge, vill du avsluta förhandsvisning och visa senaste publicerad version av webbplatsen?
</key>
<key alias="viewPublishedContentAcceptButton">Visa publicerad version</key>
<key alias="viewPublishedContentDeclineButton">Fortsätt förhandsvisning</key>
</area>
<area alias="permissions">
<key alias="FolderCreation">Skapa kataloger</key>
<key alias="FileWritingForPackages">Skriva filer till paket</key>
<key alias="FileWriting">Skriva filer</key>
<key alias="MediaFolderCreation">Skapa media-kataloger</key>
</area>
<area alias="analytics">
<key alias="minimalLevelDescription">Vi kommer endast att skicka ett anonymt Id så att vi informeras om att webbplatsens finns.</key>
<key alias="basicLevelDescription">Vi kommer att skicka ett anonymt Id, Umbraco-version och installerade paket</key>
</area>
</language>
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@
else if(defaultFocusedElement === null ){
// If the first focusable elements are either items from the umb-sub-views-nav menu or the umb-button-ellipsis we most likely want to start the focus on the second item
// We don't want to focus the second button if it's in a tab otherwise the second tab is highlighted as well as the first tab
var avoidStartElm = focusableElements.findIndex(elm => elm.classList.contains('umb-button-ellipsis') || elm.classList.contains('umb-sub-views-nav-item__action') || (elm.classList.contains('umb-tab-button') && !elm.parent.classList.contains('umb-tab')));
var avoidStartElm = focusableElements.findIndex(elm => elm.classList.contains('umb-button-ellipsis') || elm.classList.contains('umb-sub-views-nav-item__action') || (elm.classList.contains('umb-tab-button') && !elm.parentElement.classList.contains('umb-tab')));

if(avoidStartElm === 0) {
focusableElements[1].focus();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1543,6 +1543,8 @@ function tinyMceService($rootScope, $q, imageHelper, $locale, $http, $timeout, s
blockEl.$index = block.index;
blockEl.$block = block;
blockEl.update();
} else {
console.error('Could not find block with content udi: ' + blockContentUdi);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@
},
culture: vm.umbProperty?.culture ?? null,
segment: vm.umbProperty?.segment ?? null,
blockEditorApi: vm.noBlocksMode ? undefined : vm.blockEditorApi,
blockEditorApi: vm.noBlocksMode ? undefined : vm.blockEditorApi,
parentForm: vm.propertyForm,
valFormManager: vm.valFormManager,
currentFormInput: $scope.rteForm.modelValue
Expand Down Expand Up @@ -948,7 +948,19 @@
return undefined;
}

return vm.layout[layoutIndex].$block;
var layoutEntry = vm.layout[layoutIndex];
if(layoutEntry.$block === undefined || layoutEntry.$block.config === undefined) {
// make block model
var blockObject = getBlockObject(layoutEntry);
if (blockObject === null) {
// Initialization of the Block Object didn't go well, therefor we will fail the paste action.
return false;
}

// set the BlockObject on our layout entry.
layoutEntry.$block = blockObject;
}
return layoutEntry.$block;
}

vm.blockEditorApi = {
Expand Down

0 comments on commit eb36086

Please sign in to comment.