Skip to content

Commit 1df480a

Browse files
authored
Merge branch 'dev' into feature/61896-overview-of-time-logged-per-day-per-user-in-pdf-timesheet
2 parents 9927e60 + e7e2c0b commit 1df480a

File tree

245 files changed

+2764
-1617
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

245 files changed

+2764
-1617
lines changed

Gemfile

+4-4
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ gem "htmldiff"
8383
gem "stringex", "~> 2.8.5"
8484

8585
# CommonMark markdown parser with GFM extension
86-
gem "commonmarker", "~> 2.2.0"
86+
gem "commonmarker", "~> 2.3.0"
8787

8888
# HTML pipeline for transformations on text formatter output
8989
# such as sanitization or additional features
@@ -201,7 +201,7 @@ gem "aws-sdk-core", "~> 3.107"
201201
# File upload via fog + screenshots on travis
202202
gem "aws-sdk-s3", "~> 1.91"
203203

204-
gem "openproject-token", "~> 5.0"
204+
gem "openproject-token", "~> 5.1.1"
205205

206206
gem "plaintext", "~> 0.3.2"
207207

@@ -340,7 +340,7 @@ group :development, :test do
340340
# https://github.com/puma/puma/issues/2835#issuecomment-2302133927
341341
gem "byebug"
342342

343-
gem "pry-byebug", "~> 3.10.0", platforms: [:mri]
343+
gem "pry-byebug", "~> 3.11.0", platforms: [:mri]
344344
gem "pry-rails", "~> 0.3.6"
345345
gem "pry-rescue", "~> 1.6.0"
346346

@@ -412,4 +412,4 @@ end
412412

413413
gem "openproject-octicons", "~>19.23.0"
414414
gem "openproject-octicons_helper", "~>19.23.0"
415-
gem "openproject-primer_view_components", "~>0.59.2"
415+
gem "openproject-primer_view_components", "~>0.60.0"

Gemfile.lock

+40-40
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ GEM
352352
awesome_nested_set (3.8.0)
353353
activerecord (>= 4.0.0, < 8.1)
354354
aws-eventstream (1.3.2)
355-
aws-partitions (1.1078.0)
355+
aws-partitions (1.1082.0)
356356
aws-sdk-core (3.222.1)
357357
aws-eventstream (~> 1, >= 1.3.0)
358358
aws-partitions (~> 1, >= 1.992.0)
@@ -403,7 +403,7 @@ GEM
403403
racc
404404
browser (6.2.0)
405405
builder (3.3.0)
406-
byebug (11.1.3)
406+
byebug (12.0.0)
407407
capybara (3.40.0)
408408
addressable
409409
matrix
@@ -437,14 +437,14 @@ GEM
437437
descendants_tracker (~> 0.0.1)
438438
color_conversion (0.1.2)
439439
colored2 (4.0.3)
440-
commonmarker (2.2.0)
440+
commonmarker (2.3.0)
441441
rb_sys (~> 0.9)
442-
commonmarker (2.2.0-aarch64-linux)
443-
commonmarker (2.2.0-aarch64-linux-musl)
444-
commonmarker (2.2.0-arm64-darwin)
445-
commonmarker (2.2.0-x86_64-darwin)
446-
commonmarker (2.2.0-x86_64-linux)
447-
commonmarker (2.2.0-x86_64-linux-musl)
442+
commonmarker (2.3.0-aarch64-linux)
443+
commonmarker (2.3.0-aarch64-linux-musl)
444+
commonmarker (2.3.0-arm64-darwin)
445+
commonmarker (2.3.0-x86_64-darwin)
446+
commonmarker (2.3.0-x86_64-linux)
447+
commonmarker (2.3.0-x86_64-linux-musl)
448448
compare-xml (0.66)
449449
nokogiri (~> 1.8)
450450
concurrent-ruby (1.3.4)
@@ -734,7 +734,7 @@ GEM
734734
addressable (~> 2.8)
735735
childprocess (~> 5.0)
736736
logger (~> 1.6)
737-
lefthook (1.11.6)
737+
lefthook (1.11.7)
738738
letter_opener (1.10.0)
739739
launchy (>= 2.2, < 4)
740740
letter_opener_web (3.0.0)
@@ -786,7 +786,7 @@ GEM
786786
mime-types (3.6.2)
787787
logger
788788
mime-types-data (~> 3.2015)
789-
mime-types-data (3.2025.0325)
789+
mime-types-data (3.2025.0402)
790790
mini_magick (5.2.0)
791791
benchmark
792792
logger
@@ -858,12 +858,12 @@ GEM
858858
actionview
859859
openproject-octicons (= 19.23.0)
860860
railties
861-
openproject-primer_view_components (0.59.2)
861+
openproject-primer_view_components (0.60.0)
862862
actionview (>= 5.0.0)
863863
activesupport (>= 5.0.0)
864864
openproject-octicons (>= 19.23.0)
865865
view_component (>= 3.1, < 4.0)
866-
openproject-token (5.1.0)
866+
openproject-token (5.1.1)
867867
activemodel
868868
openssl (3.3.0)
869869
openssl-signature_algorithm (1.3.0)
@@ -905,12 +905,12 @@ GEM
905905
prawn (>= 1.3.0, < 3.0.0)
906906
prettyprint (0.2.0)
907907
prism (1.4.0)
908-
pry (0.14.2)
908+
pry (0.15.2)
909909
coderay (~> 1.1)
910910
method_source (~> 1.0)
911-
pry-byebug (3.10.1)
912-
byebug (~> 11.0)
913-
pry (>= 0.13, < 0.15)
911+
pry-byebug (3.11.0)
912+
byebug (~> 12.0)
913+
pry (>= 0.13, < 0.16)
914914
pry-rails (0.3.11)
915915
pry (>= 0.13.0)
916916
pry-rescue (1.6.0)
@@ -1124,9 +1124,9 @@ GEM
11241124
nokogiri (>= 1.16.8)
11251125
secure_headers (7.1.0)
11261126
securerandom (0.4.1)
1127-
selenium-devtools (0.134.0)
1127+
selenium-devtools (0.135.0)
11281128
selenium-webdriver (~> 4.2)
1129-
selenium-webdriver (4.30.1)
1129+
selenium-webdriver (4.31.0)
11301130
base64 (~> 0.2)
11311131
logger (~> 1.4)
11321132
rexml (~> 3.2, >= 3.2.5)
@@ -1305,7 +1305,7 @@ DEPENDENCIES
13051305
climate_control
13061306
closure_tree (~> 7.4.0)
13071307
colored2
1308-
commonmarker (~> 2.2.0)
1308+
commonmarker (~> 2.3.0)
13091309
compare-xml (~> 0.66)
13101310
costs!
13111311
csv (~> 3.3)
@@ -1391,12 +1391,12 @@ DEPENDENCIES
13911391
openproject-octicons (~> 19.23.0)
13921392
openproject-octicons_helper (~> 19.23.0)
13931393
openproject-openid_connect!
1394-
openproject-primer_view_components (~> 0.59.2)
1394+
openproject-primer_view_components (~> 0.60.0)
13951395
openproject-recaptcha!
13961396
openproject-reporting!
13971397
openproject-storages!
13981398
openproject-team_planner!
1399-
openproject-token (~> 5.0)
1399+
openproject-token (~> 5.1.1)
14001400
openproject-two_factor_authentication!
14011401
openproject-webhooks!
14021402
openproject-xls_export!
@@ -1408,7 +1408,7 @@ DEPENDENCIES
14081408
pg (~> 1.5.0)
14091409
plaintext (~> 0.3.2)
14101410
prawn (~> 2.4)
1411-
pry-byebug (~> 3.10.0)
1411+
pry-byebug (~> 3.11.0)
14121412
pry-rails (~> 0.3.6)
14131413
pry-rescue (~> 1.6.0)
14141414
puffing-billy (~> 4.0.0)
@@ -1519,7 +1519,7 @@ CHECKSUMS
15191519
auto_strip_attributes (2.6.0) sha256=a7e2e0cf744de2bcd947fd68014220702bcc88c81274c1cd9ce6f7316aae39b0
15201520
awesome_nested_set (3.8.0) sha256=469daff411d80291dbb80d1973133e498048a7afc2519c545f62d2cdebc60eda
15211521
aws-eventstream (1.3.2) sha256=7e2c3a55ca70d7861d5d3c98e47daa463ed539c349caba22b48305b8919572d7
1522-
aws-partitions (1.1078.0) sha256=970e0fe975dd4c03e516e20778fcfb8704f595eb6d48eb4aa3ec1b80ce2339b2
1522+
aws-partitions (1.1082.0) sha256=b77347af71e71cd457e227997e53635078b4fc8b14961ab606685a385dd7fa8c
15231523
aws-sdk-core (3.222.1) sha256=349f39840fca4300384bd6dc85a546a0ad9def81d48d1f99607a6b3ec27bcbb2
15241524
aws-sdk-kms (1.99.0) sha256=ba292fc3ffd672532aae2601fe55ff424eee78da8e23c23ba6ce4037138275a8
15251525
aws-sdk-s3 (1.183.0) sha256=8c06b0330c76fc57b4a04a94aec25a8474160b05b2436334d9f8e57ea2799f4c
@@ -1539,7 +1539,7 @@ CHECKSUMS
15391539
browser (6.2.0) sha256=281d5295788825c9396427c292c2d2be0a5c91875c93c390fde6e5d61a5ace2d
15401540
budgets (1.0.0)
15411541
builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
1542-
byebug (11.1.3) sha256=2485944d2bb21283c593d562f9ae1019bf80002143cc3a255aaffd4e9cf4a35b
1542+
byebug (12.0.0) sha256=d4a150d291cca40b66ec9ca31f754e93fed8aa266a17335f71bb0afa7fca1a1e
15431543
capybara (3.40.0) sha256=42dba720578ea1ca65fd7a41d163dd368502c191804558f6e0f71b391054aeef
15441544
capybara-screenshot (1.0.26) sha256=816b9370a07752097c82a05f568aaf5d3b7f45c3db5d3aab2014071e1b3c0c77
15451545
capybara_accessible_selectors (0.11.0)
@@ -1554,13 +1554,13 @@ CHECKSUMS
15541554
coercible (1.0.0) sha256=5081ad24352cc8435ce5472bc2faa30260c7ea7f2102cc6a9f167c4d9bffaadc
15551555
color_conversion (0.1.2) sha256=99bea5fa412e1527a11389975aa6ad445ff8528ebae202c11d08c45ea2b94c96
15561556
colored2 (4.0.3) sha256=63e1038183976287efc43034f5cca17fb180b4deef207da8ba78d051cbce2b37
1557-
commonmarker (2.2.0) sha256=046408c0a2dfe316dc507162f42d9cd9715c1e9b7e8b92b910256479c4c51a21
1558-
commonmarker (2.2.0-aarch64-linux) sha256=f1013b73101553f0c1ebfb9d2241a8167fd54b01d7da3f6892c60f2ef6a92cef
1559-
commonmarker (2.2.0-aarch64-linux-musl) sha256=4dc4a117a0ba6fd4fece377bc005ea61fc649d50eece68f93c014d06f3114d1c
1560-
commonmarker (2.2.0-arm64-darwin) sha256=35a20f17966141e4cc75c3ed86820a4ab7314996c6eb2ab8c0a9ad6c0dbd9d85
1561-
commonmarker (2.2.0-x86_64-darwin) sha256=77e21d1e89531289c8c59fcbac71940419bc5385fefeaaa36badd4cdbb6580b9
1562-
commonmarker (2.2.0-x86_64-linux) sha256=4bba87191d533a7099595f9f8fe5f9ccda283090f117c6fdec8a452f275f851f
1563-
commonmarker (2.2.0-x86_64-linux-musl) sha256=80a87ccb7d147dc57d0dd5550a5868602b1914d7cd13c8c23e5c5794ce460736
1557+
commonmarker (2.3.0) sha256=74fb85e4ae59a9fc166dd1813ad791805d09dec1a4e79c81a7be0a6a8dc5dc63
1558+
commonmarker (2.3.0-aarch64-linux) sha256=63e6c599ed2b1a01c012e5524ed25f60ab1132c6b582bcef0aa542770d3087ee
1559+
commonmarker (2.3.0-aarch64-linux-musl) sha256=2be68fc9106fe5b0a92928cf2903c0924ee2ef862fefd2b5c7943292902e79ab
1560+
commonmarker (2.3.0-arm64-darwin) sha256=fb5a6416395cbac63bb7741887c74e17141be75f407a292ab98cd6c8ab4894a2
1561+
commonmarker (2.3.0-x86_64-darwin) sha256=65919fe63bc1e01319d958351ae611cc913bd2a8aa3f1a4f3fb3d12e82fbc568
1562+
commonmarker (2.3.0-x86_64-linux) sha256=a6f2b523be0c3e4752aaf55cc5026239080b81f91bd2f72226b6e71919d204d0
1563+
commonmarker (2.3.0-x86_64-linux-musl) sha256=af895be1dfe723a1ae2671fd147d082e1be107be732b7a52e2e0d5daa1ae687a
15641564
compare-xml (0.66) sha256=e21aa5c0f69ef1177eced997c688fd4df989084e74a1b612257af32e1dd05319
15651565
concurrent-ruby (1.3.4) sha256=d4aa926339b0a86b5b5054a0a8c580163e6f5dcbdfd0f4bb916b1a2570731c32
15661566
connection_pool (2.5.0) sha256=233b92f8d38e038c1349ccea65dd3772727d669d6d2e71f9897c8bf5cd53ebfc
@@ -1685,7 +1685,7 @@ CHECKSUMS
16851685
ladle (1.0.1) sha256=e8586964108c798d48bf57d2a65bd5602e8e5223a176b6602a0fb36c0bda90dc
16861686
language_server-protocol (3.17.0.4) sha256=c484626478664fd13482d8180947c50a8590484b1258b99b7aedb3b69df89669
16871687
launchy (3.1.1) sha256=72b847b5cc961589dde2c395af0108c86ff0119f42d4648d25b5440ebb10059e
1688-
lefthook (1.11.6) sha256=e5df4ea92dc1a6229200b9cc5d77f0ee323603d35b5c03ad61ffec51af62f44b
1688+
lefthook (1.11.7) sha256=797b4798481229aabd9c2b0f04f0ad9f87412fd31564e86d87b48f908582c4ea
16891689
letter_opener (1.10.0) sha256=2ff33f2e3b5c3c26d1959be54b395c086ca6d44826e8bf41a14ff96fdf1bdbb2
16901690
letter_opener_web (3.0.0) sha256=3f391efe0e8b9b24becfab5537dfb17a5cf5eb532038f947daab58cb4b749860
16911691
lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
@@ -1704,7 +1704,7 @@ CHECKSUMS
17041704
meta-tags (2.22.1) sha256=e5ae1febbd320d396c7226d7edb868e5d63466c14b9c8b06622a1a74e6dce354
17051705
method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
17061706
mime-types (3.6.2) sha256=6109148e6a6e656607510b74571deff8ecd9a97ab0dcec9b7431bdd0b74460af
1707-
mime-types-data (3.2025.0325) sha256=8557e0e43b0b3216c2a518290039c1b65ffdbd6639db241142f7459eeba3c668
1707+
mime-types-data (3.2025.0402) sha256=455cc502e76bf4260d9f4fc8484c6324a9d765c4917a6672cb5a13f7818719c0
17081708
mini_magick (5.2.0) sha256=2757ffbfdb1d38242d1da9ff1505360ab75d59dc02eb7ab79ff6d5acb1243f4a
17091709
mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef
17101710
mini_portile2 (2.8.8) sha256=8e47136cdac04ce81750bb6c09733b37895bf06962554e4b4056d78168d70a75
@@ -1757,12 +1757,12 @@ CHECKSUMS
17571757
openproject-octicons (19.23.0) sha256=bf69988c440b4aef249b2cb30e7c4139370e3b5d0c6e77ef2323eb0f48a37c13
17581758
openproject-octicons_helper (19.23.0) sha256=d501eb62e323e326ce56eb9e4ea0d499dfca8ec5c382843c78025a529a0a8156
17591759
openproject-openid_connect (1.0.0)
1760-
openproject-primer_view_components (0.59.2) sha256=7830dc1c678a08d6474e7b492a7836946b7379798b6dd22e09d69e7a34ed7f0f
1760+
openproject-primer_view_components (0.60.0) sha256=3cf4229abbc3529ad450862088594ad96f9b8dce578a76c834159fe1eb1843f9
17611761
openproject-recaptcha (1.0.0)
17621762
openproject-reporting (1.0.0)
17631763
openproject-storages (1.0.0)
17641764
openproject-team_planner (1.0.0)
1765-
openproject-token (5.1.0) sha256=5f2b358fb81431811cfde21d30bd21d635094210f415216fc4d81922adc3d456
1765+
openproject-token (5.1.1) sha256=040e58d1f84ad960e223700443796c98d600df09658933c15cb552af89d9903f
17661766
openproject-two_factor_authentication (1.0.0)
17671767
openproject-webhooks (1.0.0)
17681768
openproject-xls_export (1.0.0)
@@ -1787,8 +1787,8 @@ CHECKSUMS
17871787
prawn-table (0.2.2) sha256=336d46e39e003f77bf973337a958af6a68300b941c85cb22288872dc2b36addb
17881788
prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
17891789
prism (1.4.0) sha256=dc0e3e00e93160213dc2a65519d9002a4a1e7b962db57d444cf1a71565bb703e
1790-
pry (0.14.2) sha256=c4fe54efedaca1d351280b45b8849af363184696fcac1c72e0415f9bdac4334d
1791-
pry-byebug (3.10.1) sha256=c8f975c32255bfdb29e151f5532130be64ff3d0042dc858d0907e849125581f8
1790+
pry (0.15.2) sha256=12d54b8640d3fa29c9211dd4ffb08f3fd8bf7a4fd9b5a73ce5b59c8709385b6b
1791+
pry-byebug (3.11.0) sha256=0b0abb7d309bc7f00044d512a3c8567274f7012b944b38becc8440439a1cea72
17921792
pry-rails (0.3.11) sha256=a69e28e24a34d75d1f60bcf241192a54253f8f7ef8a62cba1e75750a9653593d
17931793
pry-rescue (1.6.0) sha256=985bfd506d9866b587fd86790cf8445266a41b7f92c627fc5b21ec7d92aba6db
17941794
psych (5.2.3) sha256=84a54bb952d14604fea22d99938348814678782f58b12648fcdfa4d2fce859ee
@@ -1869,8 +1869,8 @@ CHECKSUMS
18691869
sanitize (7.0.0) sha256=269d1b9d7326e69307723af5643ec032ff86ad616e72a3b36d301ac75a273984
18701870
secure_headers (7.1.0) sha256=6b1f9d5f9507af2948f4636452c41c09371927836396c2185438ffdf0a731124
18711871
securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
1872-
selenium-devtools (0.134.0) sha256=ad53fc638dc72be8d5606c479de65744b5eaefdd83206edd3ddafc88ef1bc029
1873-
selenium-webdriver (4.30.1) sha256=c498fef823a44bf2b110b46edaee3e86aeeb21f8b4e7e12088b4995af4a216f7
1872+
selenium-devtools (0.135.0) sha256=3862ec1f3e940a030f492b3691d11af35544789f961fcd0633cb89e4ea4251ec
1873+
selenium-webdriver (4.31.0) sha256=ddb2d88eee23cddb5d6a9dadd909427a9e5163718338e11a91eef2fbead100e9
18741874
semantic (1.6.1) sha256=3cdbb48f59198ebb782a3fdfb87b559e0822a311610db153bae22777a7d0c163
18751875
shoulda-context (2.0.0) sha256=7adf45342cd800f507d2a053658cb1cce2884b616b26004d39684b912ea32c34
18761876
shoulda-matchers (6.4.0) sha256=9055bb7f4bb342125fb860809798855c630e05ef5e75837b3168b8e6ee1608b0

app/components/_index.sass

+2
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,13 @@
2020
@import "open_project/common/submenu_component"
2121
@import "filter/filters_component"
2222
@import "projects/row_component"
23+
@import "projects/phases/hover_card_component"
2324
@import "op_primer/border_box_table_component"
2425
@import "op_primer/form_helpers"
2526
@import "work_packages/exports/modal_dialog_component"
2627
@import "work_package_relations_tab/index_component"
2728
@import "work_package_relations_tab/relation_component"
2829
@import "users/hover_card_component"
2930
@import "enterprise_edition/banner_component"
31+
@import "enterprise_edition/upsale_page_component"
3032
@import "work_packages/types/pattern_input"

app/components/enterprise_edition/banner_component.html.erb

+44-17
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,49 @@
11
<%=
2-
grid_layout("op-ee-banner", **@system_arguments) do |grid|
3-
grid.with_area(:"icon-container") do
4-
content_tag :div, class: "op-ee-banner--shield" do
5-
render(
6-
Primer::Beta::Octicon.new(
7-
icon: "op-enterprise-addons",
8-
size: :medium,
9-
classes: "op-ee-banner--icon"
10-
)
11-
)
2+
component_wrapper(tag: "turbo-frame") do
3+
grid_layout("op-enterprise-banner",
4+
**@system_arguments) do |grid|
5+
grid.with_area(:visual) do
6+
render(Primer::Beta::Octicon.new(icon: :"op-enterprise-addons", classes: "op-enterprise-banner--icon"))
127
end
13-
end
14-
grid.with_area(:"title-container") { render(Primer::Beta::Text.new) { title } }
15-
grid.with_area(:"description-container") { render(Primer::Beta::Text.new) { description } }
16-
grid.with_area(:"link-container") do
17-
render(Primer::Beta::Link.new(href: href)) do |link|
18-
link.with_trailing_visual_icon(icon: "link-external")
19-
link_title
8+
9+
grid.with_area(:content) do
10+
flex_layout do |flex|
11+
flex.with_row do
12+
render(Primer::Beta::Text.new(font_weight: :bold)) { title }
13+
end
14+
15+
flex.with_row(mt: 1) do
16+
concat render(Primer::Beta::Text.new) { description }
17+
concat " "
18+
concat render(Primer::Beta::Text.new) { plan_text }
19+
end
20+
21+
if features.present?
22+
flex.with_row do
23+
content_tag(:ul) { safe_join features.map { |text| render(Primer::Beta::Text.new(tag: :li)) { text } } }
24+
end
25+
end
26+
27+
flex.with_row(mt: 2) do
28+
render EnterpriseEdition::UpsaleButtonsComponent.new(feature_key)
29+
end
30+
end
31+
end
32+
33+
if @dismissable
34+
grid.with_area(:dismiss) do
35+
render(
36+
Primer::Beta::IconButton.new(
37+
classes: "op-enterprise-banner--close-icon",
38+
scheme: :invisible,
39+
tag: :a,
40+
href: dismiss_enterprise_banner_path(feature_key: @dismiss_key),
41+
data: { turbo_stream: true, turbo_method: :post },
42+
icon: :x,
43+
aria: { label: t("ee.upsale.hide_banner") }
44+
)
45+
)
46+
end
2047
end
2148
end
2249
end

0 commit comments

Comments
 (0)