Commit Graph

68026 Commits

Author SHA1 Message Date
Sven Geusens
f96ac32b2b Merge branch 'v14/dev' into v15/dev
# Conflicts:
#	Directory.Packages.props
#	src/Umbraco.Cms.Api.Common/DependencyInjection/UmbracoBuilderAuthExtensions.cs
#	src/Umbraco.Cms.Api.Delivery/DependencyInjection/UmbracoBuilderExtensions.cs
#	src/Umbraco.Cms.Api.Delivery/Querying/Selectors/AncestorsSelector.cs
#	src/Umbraco.Cms.Api.Management/OpenApi.json
#	src/Umbraco.Infrastructure/Examine/ExamineIndexRebuilder.cs
#	src/Umbraco.Infrastructure/PropertyEditors/MediaPicker3PropertyEditor.cs
#	src/Umbraco.PublishedCache.NuCache/ContentStore.cs
#	tests/Directory.Packages.props
2025-01-21 10:17:46 +01:00
Kenn Jacobsen
56c0aebd76 Add NoopCurrentMemberClaimsProvider so Umbraco can boot without the Delivery API enabled (#18049) 2025-01-21 09:12:20 +01:00
Kenn Jacobsen
2a73cfefbb Partial revert of #17854 (#18040) 2025-01-21 08:48:57 +01:00
Sven Geusens
4b9771c0eb Merge branch 'v13/dev' into v14/dev
# Conflicts:
#	Directory.Packages.props
#	build/azure-pipelines.yml
#	src/Umbraco.Cms.Api.Common/DependencyInjection/UmbracoBuilderAuthExtensions.cs
#	src/Umbraco.Cms.Persistence.EFCore/Locking/SqlServerEFCoreDistributedLockingMechanism.cs
#	src/Umbraco.Core/Configuration/Models/RichTextEditorSettings.cs
#	src/Umbraco.Core/EmbeddedResources/Lang/da.xml
#	src/Umbraco.Core/EmbeddedResources/Lang/en.xml
#	src/Umbraco.Core/EmbeddedResources/Lang/en_us.xml
#	src/Umbraco.Core/Services/ContentService.cs
#	src/Umbraco.Web.BackOffice/Authorization/ContentPermissionsQueryStringHandler.cs
#	src/Umbraco.Web.BackOffice/Authorization/ContentPermissionsResourceHandler.cs
#	src/Umbraco.Web.BackOffice/Controllers/ContentController.cs
#	src/Umbraco.Web.BackOffice/Controllers/ExamineManagementController.cs
#	src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
#	src/Umbraco.Web.BackOffice/Trees/StaticFilesTreeController.cs
#	src/Umbraco.Web.UI.Client/package-lock.json
#	src/Umbraco.Web.UI.Client/package.json
#	src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbbuttongroup.directive.js
#	src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js
#	src/Umbraco.Web.UI.Client/src/common/filters/simpleMarkdown.filter.js
#	src/Umbraco.Web.UI.Client/src/common/filters/simpleMarkdown.filter.js.js
#	src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
#	src/Umbraco.Web.UI.Client/src/less/components/umb-group-builder.less
#	src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/mediaentryeditor/mediaentryeditor.less
#	src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/propertysettings/propertysettings.html
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/ysod/ysod.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/ysod/ysod.html
#	src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-button-group.html
#	src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/blockgrid.blockconfiguration.overlay.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/blockgrid.blockconfiguration.overlay.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blocklist/prevalue/blocklist.blockconfiguration.overlay.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blocklist/prevalue/blocklist.blockconfiguration.overlay.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/rte/rte.component.js
#	src/Umbraco.Web.UI.Client~HEAD
#	src/Umbraco.Web.UI.Login/package-lock.json
#	src/Umbraco.Web.UI.Login/package.json
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockGridEditor/Content/blockGridEditorContent.spec.ts
#	tests/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentServiceNotificationTests.cs
#	tests/Umbraco.Tests.UnitTests/Umbraco.Web.BackOffice/Controllers/ContentControllerTests.cs
#	tools/Umbraco.JsonSchema/UmbracoCmsSchema.cs
#	version.json
2025-01-21 08:47:38 +01:00
Kenn Jacobsen
c00e86e0ea Fix various routing and preview issues for the Delivery API in V15 (#18036)
* Fix various routing and preview issues for the Delivery API in V15

* Fix breaking change in ctor

* Fix ambigious constructors

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2025-01-20 22:27:10 +01:00
Nikolaj Geisle
31fbd29879 Merge remote-tracking branch 'origin/contrib' into v15/dev 2025-01-20 21:12:23 +01:00
Jacob Overgaard
1a80b4d169 V15: Main entity name field lacks placeholder and auto-focus (#18041)
* fix: adds placeholder text to the main entity name field

* fix: use forward ref to execute the `.focus()` method on the uui input when it gets rendered

* Fixed up `type` imports

Removed erogenous closing `</div>` + prettify formatting.

---------

Co-authored-by: leekelleher <leekelleher@gmail.com>
2025-01-20 19:30:25 +00:00
Ronald Barendse
839b6816f2 Merge commit from fork
* Add TimedScope

* Use TimedScope in login endpoint

* Use seperate default duration and only calculate average of actual successful responses

* Only return detailed error responses if credentials are valid

* Cancel timed scope when credentials are valid

* Add UserDefaultFailedLoginDuration and UserMinimumFailedLoginDuration settings
2025-01-20 14:54:14 +01:00
Jacob Overgaard
081858f627 chore(mock): fixes permissions for mock server 2025-01-20 14:46:18 +01:00
Sven Geusens
0e06c47ed7 Regression fix: searcher skip 10k not possible (#17977)
* Add new examine lucene option to restore functionality of earlier version

* Add reason comment for maxSkipTake
2025-01-20 14:00:46 +01:00
Lee Kelleher
dab932329b V15: Link Picker Modal UX Flow (#17994)
* Link Picker: reworked modal UX flow

* Tweaked "Target" description

* Link Picker modal tweaks

* Localized "Reset URL" confirm modal

* Awaits validation on picker change

* Added `data-mark` attributes

---------

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2025-01-20 13:46:34 +01:00
Nikolaj Geisle
51823a7671 v15: Remove old values from checkboxlist (#17936)
* Remove old values from checkboxlist

* Add validator for MultipleValueEditor

* chore: adds mocked "published" handler

* chore(mock): adds multiple dropdown

* chore(mock): adds dropdown multiple to 'all properties'

* adds localization

* feat: adds support to show invalid/legacy options

* feat: show invalid/legacy options to let the user decide what to do

* Add validator for radio buttons

---------

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2025-01-20 13:39:02 +01:00
Andy Butland
171ada26cc Allow for filtering of document type allowed children and allowed at root when creating new content. (#18029)
* Creates IContentTypeFilterService with a "no-op" implementation for filtering the content types available for selection at root and as children.

* Rework to collection so packages and implementors can stack filters if they need to.
2025-01-20 12:26:07 +01:00
Niels Lyngsø
ef478cf5d1 Merge pull request #17970 from umbraco/v15/bugfix/save-image-when-changing-focal-point
Fixes bug change focal point of Image Cropper can not save image
2025-01-20 12:15:22 +01:00
Andy Butland
72cae41653 Merge branch 'v15/dev' into contrib 2025-01-20 11:47:52 +01:00
Niels Lyngsø
bb8ef2ceff Merge branch 'v15/dev' into v15/bugfix/save-image-when-changing-focal-point 2025-01-20 11:41:48 +01:00
Henrik
ed08923b46 Use the new more efficient .NET 9 Lock type (#18015) 2025-01-20 11:41:13 +01:00
Niels Lyngsø
3f57a503e9 fix focal point reset 2025-01-20 11:40:51 +01:00
Tommy Enger
87916eb9cf 17760 - improved the Norwegian lang file (#17778)
* 17760 - improved the norwegain lang file

* 17760 - some corrections for the Norwegian lang file
2025-01-20 10:06:24 +00:00
Jacob Overgaard
3b6cdbe595 V15: "New version available" text is not reverified after an upgrade (#18013)
* fix: compare current version with the stored version

this ensures that if you come from an older version of Umbraco, we re-verify the upgrade-check to remove the message

* chore: update version in mock handler

* set "new version" button to a positive color

* feat: use modal data to pass on info to new-version modal element

* Amended `type` import
2025-01-20 09:37:05 +00:00
Alex Clark
60e3fa97a9 Lucene Package Update to Address CVE-2024-43383 (#17942)
* Update Lucene Package to 4.8.0-beta00017

* Add Package Reference

---------

Co-authored-by: Sebastiaan Janssen <sebastiaan@umbraco.com>
2025-01-20 10:04:02 +01:00
Sebastiaan Janssen
7c9e04f38c Merge branch 'contrib' into v15/dev 2025-01-20 09:55:35 +01:00
Mads Rasmussen
a6b9f201b3 Feature: Data type create options (#18023)
* add folder create option action kind

* register data type create options

* register folder collection actions

* use kind for document type folder option

* fix types

* fix weight

* update translations

* add icon label, description

* add deprecation warning
2025-01-20 08:27:57 +00:00
Niels Lyngsø
6c1c851d8a Fix: Improve sorter placement algorithm (#18021)
* improve sorting algorithm

* fix block type input

* make confirm modal localizable

* rename method

* clean up

* clean up

* improve code

* Fix creating Block Types in Groups

* remove #moveData

* lint fixes

* remove unused

---------

Co-authored-by: Mads Rasmussen <madsr@hey.com>
2025-01-20 08:10:50 +00:00
Mads Rasmussen
4353027655 Feature: Media Type Folder workspace (#18028)
* add manifests for media type tree item children

* export consts

* export path consts
2025-01-20 07:53:26 +00:00
Kenn Jacobsen
0d61890999 First content item at root should not have special meaning when routing (#18016) 2025-01-20 07:26:38 +01:00
Jacob Overgaard
cd5470f779 V15: Current User Group Id Condition (#18011)
* feat: adds userGroupIds to the current user model

* feat: generate new types

* feat: adds function to check for two array intersections

* feat: maps up userGroupIds

* feat: adds new condition to verify user's groups

* chore: add mocked data

* chore: add generated consts

* change structure of config to match other conditions

match, oneOf, allOf, noneOf

* rename condition from "group" to "groupId"

* feat: inherit from base `UserPresentationBase` to have a shared foundation across user models
2025-01-17 20:37:54 +00:00
Mads Rasmussen
0bcb3c59da Register create button for document type folders (#18010) 2025-01-17 14:04:02 +01:00
Niels Lyngsø
2288ce5d87 readme updates (#18007) 2025-01-17 09:17:03 +01:00
Niels Lyngsø
1e59d8895f Merge pull request #18008 from umbraco/v15/bugfix/fixing-empty-groups-appear-in-add-content-modal
Fix: Empty groups appear in block grid editor Add content UI
2025-01-16 20:56:41 +01:00
Mathias Helsengren
42997ee93c Fixing Empty groups appear in block grid editor Add content UI 2025-01-16 16:06:46 +01:00
Mads Rasmussen
e00290f400 Feature: Clipboard (#17820)
* wip clipboard context + tests

* clean up property action module + register copy action

* split manifests

* add clipboard module

* import type

* export type

* mark all methods async

* scaffold copy + paste property actions

* scaffold workspace, collection, repo + data sources

* remove references to language

* register detail manifests

* call repo when creating

* load clipboard collection data

* remove debugger

* register clipboard item picker modal

* return value from picker

* accept native error

* clean up data source

* add tests for error states

* make clipboard local storage manager

* add clip entry entity type

* create unique in scaffold

* add clipboard entry item data

* align naming

* move around

* name alignment

* fix imports

* fix missing entityType

* clean up

* use picker input context

* remove unused context

* Update clipboard.context.ts

* map to item model

* poc paste property action

* register copy/paste as kinds

* lint fix

* add tests

* rename test

* add repository tests

* register delete clipboard action + enable action dropdown outside of context menu

* remove notifcation

* export entity type

* temp use repo instead of context

* delete unused copy property action

* make data source non breaking

* Update vite.config.ts

* add icons for clipboard copy, paste + entry

* remove unused

* return if there is no property value

* add kind interfaces

* pass entry type for copy and paste

* register clipboard for block list

* implement filter on entry type

* delete unused context

* remove references

* rename data to value and don't force an array

* make icons and single value

* allow to add create and update dates for clipboard entries

* use clipboard icon

* add create and update dates

* export constants

* don't set as an array

* reload picker content

* add copy to clipboard button to block list entry

* make picker element

* allow to pick multiple

* remove generic block list clipboard actions

* Revert "remove generic block list clipboard actions"

This reverts commit 6ea65a02ce6315a781b80d0ccf0da288df602a7d.

* add get methods

* wip construct block clipboard entry value

* add method to get exposes + add jsdocs

* add expose

* remove todo + add jsdocs

* move clipboard out of core package

* add package files

* load package again

* render entry icon

* render correct icon

* remove clipboard from core vite.config

* Update package-lock.json

* wip copy/paste resolvers

* allow multiple accepted entry types

* move logic to resolvers

* transforming clipboard block value to fit block list

* wip copy/paste resolvers

* clean up

* remove unused

* fix missing exports

* fix tests

* return clipboard entry unique from modal

* Update block-list-entries.context.ts

* clipboard feature: clipboard property value cloner (#17824)

* restructure of property package

* content data merge controller tests

* deprecate meta from propertyValueResolver

* temp work

* temp

* poc

* rename to cloner

* stached block value cloner work

* block list implementation

* correct property value implementation

* RTE Block Property Value Cloner

* Block Grid Value Cloner

* update with comments

* try out cloner

* wip translators

* Revert "delete unused context"

This reverts commit ec31ae55aaa9e958b64c44019398e9af7cd61df4.

* move translator + cloner logic to context

* clean up

* implement read from clipboard in block list property editor

* remove debugger

* values array

* handle paste

* Update types.ts

* move files

* Update clipboard-local-storage.manager.ts

* set both create and update date when creating a clipboard entry

* align naming

* handle paste

* clean up + wip block grid translators

* updates types

* add grid block copy translator

* only allow paste translator to handle a single value

* align copy and paste translators

* remove debugger

* move to folders

* add block const

* rename

* add tests

* Update index.ts

* use correct type

* add tests for UmbBlockListToBlockClipboardCopyTranslator

* fix tests

* add translator tests

* add tests

* organize

* organize

* clean up translator tests

* align naming

* remove unused button

* only render copy property action if property has a value

* use constants

* copy single grid block

* get block grid property value from clipboard entry

* add clear method to extension registry + add js docs

* Update index.ts

* add tests for copy value resolver

* add icon for clipboard

* use clipboard icon in modal

* add tests

* remove unused setting

* fix log

* only create array once

* filter for supported paste translators

* use write method instead of duplicating the code

* add condition config type

* use config type

* Update manifests.ts

* add support for multi picker

* move multiple look up logic to context

* add js docs

* add js docs

* remove unused

* remove unused

* remove unused

* implement paste translator filtering for block catalogue modal

* temp color translator

* adding a UmbPropertyValueDataPotentiallyWithEditorAlias

* simplify observer

* append user unique to local storage key

* remove temp color picker clipboard implementations

* more explicit extension type name

* more renaming

* type specifications

* fix test and missing type

* more types for test

* renaming of paste translators

* rename folder

* rename value resolvers

* correct variable name

* wip tests for clipboard context

* clean up tests correctly

* add more tests for clipboard context

* Update clipboard.context.test.ts

* use after each for clean up

* fix test that times out

* correct name

* optimize

* remove webkit

* newest first when picking

* use fingerprint local storage key to obfuscate user id

* rename method

* use const

* set content max length

* return object including the selection uniques

* show confirm dialog before pasting value

* only show confirm dialog if there is a value

* Feature: clipboard block insert (#17935)

* insert methods

* fix originData

* move logic to base class

* progress on Grid and RTE

* correct for Block Grid paste implementation

* update async across

* remove expose from block clipboard entry model

* remove expose from grid block clipboard entry

* remove todo

* wip move value expand responsibility

* wip split clipboard context

* experiment with an extendable property context

* create propertyContexts + proxy events

* rename methods

* move proxy to context + update grid copy logic

* split tests

* remove unused

* add property context extension type

* fix tests

* fix tests

* reorganize

* Update clipboard.property-context.ts

* use context

* register property context clipboard kind

* register for block grid

* remove redundant code

* rename to replace

* Revert "rename to replace"

This reverts commit eb0535edcfaa9f68d0fc4c431c93739a43c7b29c.

* rename prop

* rename label

* improve block clean-up abilities

* Update rte-base.element.ts

* make local get of clipboard context

* add asyncFilter option to the type

* add is compatible method to the interface

* support asyncFilter in picker

* add compatability check for block list

* more explicit name

* wip implementation of filter

* add compatability checks

* add temp types

* add clipboard filtering for grid and list

* lint corrections

---------

Co-authored-by: Niels Lyngsø <nsl@umbraco.dk>
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
2025-01-16 15:50:09 +01:00
Mads Rasmussen
434bac788f Feature: Data Type Folder workspace (#17996)
* implement folder workspace view for data types

* Update index.ts

* export consts
2025-01-16 11:52:52 +00:00
Sven Geusens
fd1bd51aff bump version 2025-01-16 10:10:04 +01:00
Sven Geusens
b12620af9c Merge branch 'release/13.6' into v13/dev 2025-01-16 10:08:43 +01:00
Sven Geusens
d1af59fdf0 Merge branch 'v13/dev' into release/13.6 2025-01-15 22:13:42 +01:00
Andreas Zerbst
1b050ebc47 V13 QA added parallelization for E2E tests (#17995)
* Added script for running tests

* Added parallelization for our E2E tests

* Removed line

* Removed condition
2025-01-15 22:12:45 +01:00
Sven Geusens
ff3e457c58 Merge branch 'v13/dev' into release/13.6 2025-01-15 20:55:41 +01:00
Andy Butland
2ffaede07b Added a maxlength setting to the regular expression pattern field. (#17982) 2025-01-15 20:54:54 +01:00
mcl-sz
53060e1ec5 Remove __Key field from Backoffice Search if query is not a Guid
When a short search query is used, irrelevant results may arise because the query appears in the Key guide.
2025-01-15 19:11:53 +00:00
Sven Geusens
2a83f57262 Do not re-map schedule modal on error as it leads to broken bindings (#17990) 2025-01-15 17:35:23 +01:00
Sebastiaan Janssen
37343b24bb Merge branch 'contrib' into v15/dev 2025-01-15 16:54:02 +01:00
Mads Rasmussen
aaa025f85e close modal for create options with links (#17988) 2025-01-15 15:02:15 +00:00
Kenn Jacobsen
5be9193978 Do not show "Save and preview" by default (#17986) 2025-01-15 15:42:37 +01:00
Niels Lyngsø
d3f264fc54 Fix: only fire event when instance is available (issue 17847) (#17987)
* only fire event when instance is available

* avoid js issue when no markup
2025-01-15 14:01:33 +01:00
Niels Lyngsø
04ea002bf3 Fix: only fire event when instance is available (issue 17847) (#17987)
* only fire event when instance is available

* avoid js issue when no markup
2025-01-15 13:56:53 +01:00
Andy Butland
a29f51049b Link to content type and/or template from content/media/member info workspace view only if current user has access to settings (#17965)
* Link to content type and/or template from content/media/member info workspace view only if current user has access to sections.

* Fixed HTML

* add const for condition alias

* export const

* return permitted value in onChange callback

* use condition to check for access

* implement across content

* replace strings with consts

* replace strings with const

* remove attr with the ifDefined directive

* allow to pass in callback type

* Pass callback type

* Update index.ts

* add tests for UmbSectionUserPermissionCondition

---------

Co-authored-by: Mads Rasmussen <madsr@hey.com>
2025-01-15 13:46:01 +01:00
Kenn Jacobsen
8f42a3a0ea Make the RTE handle inline elements gracefully for JSON (#17983) 2025-01-15 11:26:03 +01:00
Andreas Zerbst
b8ee161e08 V15 QA updated our E2E pipeline to output test artifacts in a clearer way (#17826)
* Updated pipeline to publish acceptance test artifacts for each os. and to run tests from npm command

* Adjustment to the targetPath

* Publish all in results folder

* Moved folder

* Reverted changes

* Added all results in test folder

* Updated naming

* Used semicolon

* Additional semicolons

---------

Co-authored-by: Niels Lyngsø <nsl@umbraco.dk>
2025-01-15 10:21:36 +01:00
Jacob Overgaard
c8547d9ff0 Build: Detect circular dependencies with Madge (#17924)
* feat: adds script to run madge in a CI environment

* build: adds check for circular dependencies

* build: move actions higher up

* build: only print annotation once

* build: make script not fail CI until dependencies are fixed
2025-01-15 09:19:43 +00:00