Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] dev from opf:dev #256

Merged
merged 60 commits into from
Sep 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
7ef8232
Render split screen using turbo-frames
oliverguenther Aug 12, 2024
5073c93
set drag area name and form control id for draggable autocompleter
bsatarnejad Sep 6, 2024
183a9db
Bump primer to 0.44.3 and introduce FeedbackDialog and FeedbackMessag…
HDinger Sep 4, 2024
7cb0143
set the id as a variable
bsatarnejad Sep 6, 2024
3594502
Fix date picker being blank and jumpy when appearing
cbliard Sep 6, 2024
07e7070
refacotr: Reduce duplication and dead-code
cbliard Sep 6, 2024
50dbd4e
Fix tests broken in previous commit
cbliard Sep 6, 2024
1e067bb
Merge pull request #16646 from opf/57644-column-ordering-broken-on-pr…
ulferts Sep 6, 2024
d8d0a2b
Try to fix another flickering test
cbliard Sep 6, 2024
ddfb907
update locales from crowdin [ci skip]
openprojectci Sep 7, 2024
5140021
update locales from crowdin [ci skip]
openprojectci Sep 8, 2024
65283b3
[#57594] 14.5 Documentation: Update PageHeaders & SubHeaders in the M…
MayaBerd Sep 8, 2024
dd0c98d
[#57588] 14.5 Documentation: Work packages export modal with settings…
MayaBerd Sep 8, 2024
71be3d3
update locales from crowdin [ci skip]
openprojectci Sep 9, 2024
15cbc63
Avoid that the bottom bar has a line break on mobile which breaks the…
HDinger Sep 6, 2024
acd81de
Merge pull request #16650 from opf/fix/fix-flaky-non-working-spec
oliverguenther Sep 9, 2024
4057897
Redirect to Activity tab in the notification emails (like it was befo…
HDinger Sep 6, 2024
71ddf69
build(deps-dev): bump rubocop-rails from 2.26.0 to 2.26.1
dependabot[bot] Sep 9, 2024
d62fceb
build(deps-dev): bump rubocop-rspec from 3.0.4 to 3.0.5
dependabot[bot] Sep 9, 2024
008318d
build(deps-dev): bump pg from 1.5.7 to 1.5.8
dependabot[bot] Sep 9, 2024
4efeb7a
[#55234] Fix text filter width on project list
dombesz Sep 3, 2024
ce04c80
Fix lookbook preview
oliverguenther Sep 9, 2024
23aa8e2
Update README.md
MayaBerd Sep 9, 2024
81d4d25
[#57592] 14.5 Documentation: Rename actions in work package dropdown …
MayaBerd Sep 9, 2024
e077bde
Some doc updates (#16600)
tiroessler Sep 9, 2024
8a392ba
Some doc updates (#16600)
tiroessler Sep 9, 2024
6dd2720
Update authentication documenation in system guide (#16496)
MayaBerd Sep 9, 2024
4511754
Merge pull request #16414 from opf/chore/split-view-turbo-frame
oliverguenther Sep 9, 2024
7488f6f
Update README.md
MayaBerd Sep 9, 2024
12843b2
Add release notes draft for 14.5 (#16554)
oliverguenther Sep 9, 2024
fb93d51
adjust links to moved page
as-op Sep 9, 2024
99feb9b
Merge branch 'release/14.5' into task/57594-145-documentation-update-…
as-op Sep 9, 2024
49f2a50
Merge pull request #16656 from opf/task/57594-145-documentation-updat…
as-op Sep 9, 2024
02fc6bf
Merge pull request #16661 from opf/dependabot/bundler/dev/rubocop-rsp…
ulferts Sep 9, 2024
c1bddca
Merge remote-tracking branch 'origin/release/14.5' into dev
ulferts Sep 9, 2024
dbe97fe
[#57587] 14.5 Documentation: Notifications center changes https://co…
MayaBerd Sep 9, 2024
ad575e0
Merge pull request #16653 from opf/feature/55234-always-visible-text-…
HDinger Sep 9, 2024
b2db2e3
Update docs/user-guide/work-packages/exporting/README.md
MayaBerd Sep 9, 2024
6d595ca
resort sections and proofread
as-op Sep 9, 2024
be9449d
proofread
as-op Sep 9, 2024
9598d27
fix anchor
as-op Sep 9, 2024
8f4f01a
Merge pull request #16657 from opf/task/57588-145-documentation-work-…
as-op Sep 9, 2024
4bc2d29
remove unused images
as-op Sep 9, 2024
1fff493
[#56638] 14.5 Documentation: Enable a storage for multiple projects a…
MayaBerd Sep 9, 2024
768f7cc
Merge pull request #16665 from opf/docs/fixes
as-op Sep 9, 2024
73d300e
Merge branch 'release/14.5' into dev
openprojectci Sep 9, 2024
595bff4
Merge pull request #16660 from opf/dependabot/bundler/dev/rubocop-rai…
ulferts Sep 9, 2024
5506fbd
Merge pull request #16618 from opf/housekeeping/57632-use-feedbackdia…
HDinger Sep 9, 2024
b9b2e08
Merge pull request #16662 from opf/dependabot/bundler/dev/pg-1.5.8
ulferts Sep 9, 2024
cafee6b
Update the notification using the selected event ID
oliverguenther Sep 9, 2024
afc373e
Bump `yard`
aaron-contreras Sep 9, 2024
5655f6d
Bump `rexml`
aaron-contreras Sep 9, 2024
1378fc9
Bump `reline`
aaron-contreras Sep 9, 2024
90fb4ca
Bump `rb_sys`
aaron-contreras Sep 9, 2024
9e09846
Bump `logger`
aaron-contreras Sep 9, 2024
4f40849
Bump `aws-partitions`
aaron-contreras Sep 9, 2024
3f840d2
Bump `factory_bot`
aaron-contreras Sep 9, 2024
6a73c31
Bump `rspec-rails`
aaron-contreras Sep 9, 2024
460a8c4
Merge pull request #16677 from opf/chore/bump-gems
aaron-contreras Sep 9, 2024
ad1739f
Make tests relying on xeokit work locally
cbliard Sep 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ gem "view_component"
gem "lookbook", "~> 2.3.0"

# Require factory_bot for usage with openproject plugins testing
gem "factory_bot", "~> 6.4.0", require: false
gem "factory_bot", "~> 6.5.0", require: false
# require factory_bot_rails for convenience in core development
gem "factory_bot_rails", "~> 6.4.0", require: false

Expand All @@ -247,7 +247,7 @@ group :test do
gem "rack_session_access"
gem "rspec", "~> 3.13.0"
# also add to development group, so 'spec' rake task gets loaded
gem "rspec-rails", "~> 6.1.0", group: :development
gem "rspec-rails", "~> 7.0.0", group: :development

# Retry failures within the same environment
gem "retriable", "~> 3.1.1"
Expand Down Expand Up @@ -398,4 +398,4 @@ end

gem "openproject-octicons", "~>19.18.0"
gem "openproject-octicons_helper", "~>19.18.0"
gem "openproject-primer_view_components", "~>0.43.1"
gem "openproject-primer_view_components", "~>0.44.3"
40 changes: 19 additions & 21 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -342,7 +342,7 @@ GEM
activerecord (>= 4.0.0, < 8.0)
awrence (1.2.1)
aws-eventstream (1.3.0)
aws-partitions (1.970.0)
aws-partitions (1.971.0)
aws-sdk-core (3.203.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.651.0)
Expand Down Expand Up @@ -540,7 +540,7 @@ GEM
eventmachine (1.2.7)
eventmachine_httpserver (0.2.1)
excon (0.111.0)
factory_bot (6.4.6)
factory_bot (6.5.0)
activesupport (>= 5.0.0)
factory_bot_rails (6.4.3)
factory_bot (~> 6.4)
Expand Down Expand Up @@ -714,7 +714,7 @@ GEM
omniauth (~> 1.1)
omniauth-openid-connect (>= 0.2.1)
rails (>= 3.2.21)
logger (1.6.0)
logger (1.6.1)
lograge (0.14.0)
actionpack (>= 4)
activesupport (>= 4)
Expand Down Expand Up @@ -803,7 +803,7 @@ GEM
actionview
openproject-octicons (= 19.18.0)
railties
openproject-primer_view_components (0.43.1)
openproject-primer_view_components (0.44.3)
actionview (>= 5.0.0)
activesupport (>= 5.0.0)
openproject-octicons (>= 19.17.0)
Expand Down Expand Up @@ -835,7 +835,7 @@ GEM
hashery (~> 2.0)
ruby-rc4
ttfunk
pg (1.5.7)
pg (1.5.8)
plaintext (0.3.4)
activesupport (> 2.2.1)
nokogiri (~> 1.10, >= 1.10.4)
Expand Down Expand Up @@ -945,7 +945,7 @@ GEM
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
rb_sys (0.9.100)
rb_sys (0.9.102)
rbtrace (0.5.1)
ffi (>= 1.0.6)
msgpack (>= 0.4.3)
Expand All @@ -960,7 +960,7 @@ GEM
redis-client (0.22.2)
connection_pool
regexp_parser (2.9.2)
reline (0.5.9)
reline (0.5.10)
io-console (~> 0.5)
representable (3.2.0)
declarative (< 0.1.0)
Expand All @@ -972,8 +972,7 @@ GEM
actionpack (>= 5.2)
railties (>= 5.2)
retriable (3.1.2)
rexml (3.3.6)
strscan
rexml (3.3.7)
rinku (2.0.6)
roar (1.2.0)
representable (~> 3.1)
Expand All @@ -985,16 +984,16 @@ GEM
rspec-mocks (~> 3.13.0)
rspec-core (3.13.1)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.2)
rspec-expectations (3.13.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-mocks (3.13.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-rails (6.1.5)
actionpack (>= 6.1)
activesupport (>= 6.1)
railties (>= 6.1)
rspec-rails (7.0.1)
actionpack (>= 7.0)
activesupport (>= 7.0)
railties (>= 7.0)
rspec-core (~> 3.13)
rspec-expectations (~> 3.13)
rspec-mocks (~> 3.13)
Expand Down Expand Up @@ -1023,12 +1022,12 @@ GEM
rubocop-performance (1.21.1)
rubocop (>= 1.48.1, < 2.0)
rubocop-ast (>= 1.31.1, < 2.0)
rubocop-rails (2.26.0)
rubocop-rails (2.26.1)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.52.0, < 2.0)
rubocop-ast (>= 1.31.1, < 2.0)
rubocop-rspec (3.0.4)
rubocop-rspec (3.0.5)
rubocop (~> 1.61)
rubocop-rspec_rails (2.30.0)
rubocop (~> 1.61)
Expand Down Expand Up @@ -1095,7 +1094,6 @@ GEM
activerecord (>= 6.1)
stringex (2.8.6)
stringio (3.1.1)
strscan (3.1.0)
structured_warnings (0.4.0)
svg-graph (2.2.2)
swd (2.0.3)
Expand Down Expand Up @@ -1183,7 +1181,7 @@ GEM
zeitwerk (>= 2.6)
xpath (3.2.0)
nokogiri (~> 1.8)
yard (0.9.36)
yard (0.9.37)
zeitwerk (2.6.18)

PLATFORMS
Expand Down Expand Up @@ -1241,7 +1239,7 @@ DEPENDENCIES
erb_lint
erblint-github
escape_utils (~> 1.3)
factory_bot (~> 6.4.0)
factory_bot (~> 6.5.0)
factory_bot_rails (~> 6.4.0)
ffi (~> 1.15)
flamegraph
Expand Down Expand Up @@ -1303,7 +1301,7 @@ DEPENDENCIES
openproject-octicons (~> 19.18.0)
openproject-octicons_helper (~> 19.18.0)
openproject-openid_connect!
openproject-primer_view_components (~> 0.43.1)
openproject-primer_view_components (~> 0.44.3)
openproject-recaptcha!
openproject-reporting!
openproject-storages!
Expand Down Expand Up @@ -1347,7 +1345,7 @@ DEPENDENCIES
roar (~> 1.2.0)
rouge (~> 4.3.0)
rspec (~> 3.13.0)
rspec-rails (~> 6.1.0)
rspec-rails (~> 7.0.0)
rspec-retry (~> 0.6.1)
rubocop
rubocop-capybara
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,23 +28,17 @@ See COPYRIGHT and LICENSE files for more details.
++#%>

<%=
render(Primer::Alpha::Dialog.new(
render(Primer::OpenProject::FeedbackDialog.new(
id:,
title: nil,
size: :large
)) do |dialog|
dialog.with_body do
dialog.with_feedback_message do |message|
message.with_heading(tag: :h2) { I18n.t("my.access_token.create_dialog.header", type: "API") }
end

dialog.with_additional_content do
flex_layout do |flex|
flex.with_row(mb: 3) do
render(Primer::Beta::Heading.new(tag: :h1, text_align: :center)) do
render(Primer::Beta::Octicon.new(icon: :"check-circle", color: :success, size: :medium))
end
end
flex.with_row(mb: 1) do
render(Primer::Beta::Heading.new(tag: :h2, color: :default, text_align: :center)) do
I18n.t("my.access_token.create_dialog.header", type: "API")
end
end
flex.with_row(mb: 2) do
render(Primer::OpenProject::InputGroup.new) do |input_group|
input_group.with_text_input(name: :openproject_api_access_token,
Expand All @@ -65,12 +59,5 @@ See COPYRIGHT and LICENSE files for more details.
end
end
end
dialog.with_footer do
component_collection do |footer|
footer.with_component(Primer::ButtonComponent.new(data: { 'close-dialog-id': id })) do
I18n.t("button_close")
end
end
end
end
%>
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@
selected: selected_columns,
protected: helpers.protected_projects_columns_options,
name: COLUMN_HTML_NAME,
id: 'columns-select',
id: COLUMN_HTML_ID,
dragAreaName: "#{COLUMN_HTML_ID}_dragarea",
formControlId: "#{COLUMN_HTML_ID}_autocompleter",
inputLabel: I18n.t(:'queries.configure_view.columns.input_label'),
inputPlaceholder: I18n.t(:'queries.configure_view.columns.input_placeholder'),
dragAreaLabel: I18n.t(:'queries.configure_view.columns.drag_area_label'),
Expand Down
1 change: 1 addition & 0 deletions app/components/projects/configure_view_modal_component.rb
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ class Projects::ConfigureViewModalComponent < ApplicationComponent
MODAL_ID = "op-project-list-configure-dialog"
QUERY_FORM_ID = "op-project-list-configure-query-form"
COLUMN_HTML_NAME = "columns"
COLUMN_HTML_ID = "columns-select"

options :query

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
icon: :search,
size: :small
},
input_width: :medium,
show_clear_button: true,
clear_button_id: clear_button_id,
data: filter_input_data_attributes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<%=
modal_content.with_row(data: { 'test-selector': 'op-share-dialog-upsale-block' }) do
render Primer::Beta::Blankslate.new(border: true) do |component|
component.with_visual_icon(icon: :'op-enterprise-addons', classes: 'upsale-colored')
render Primer::OpenProject::FeedbackMessage.new(icon_arguments: { icon: :"op-enterprise-addons", classes: "upsale-colored" }, border: true) do |component|
component.with_heading(tag: :h2, classes: 'upsale-colored').with_content(I18n.t(:label_enterprise_addon))
component.with_description { I18n.t('sharing.project_queries.upsale.message') }

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<%=
component_wrapper(tag: 'turbo-frame') do
render Primer::Beta::Blankslate.new(border: true) do |component|
component.with_visual_icon(icon: :'op-enterprise-addons', classes: 'upsale-colored')
render Primer::OpenProject::FeedbackMessage.new(icon_arguments: { icon: :"op-enterprise-addons", classes: "upsale-colored" }, border: true) do |component|
component.with_heading(tag: :h2, classes: 'upsale-colored').with_content(I18n.t(:label_enterprise_addon))
component.with_description { I18n.t('mail.sharing.work_packages.enterprise_text') }

Expand Down
4 changes: 2 additions & 2 deletions app/components/work_packages/details/tab_component.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@
flex.with_column(classes: "op-work-package-details-tab-component--action") do
render(Primer::Beta::IconButton.new(icon: :x,
tag: :a,
href: helpers.url_for_with_params(action: :close_split_view),
data: { turbo: true, 'turbo-stream': true },
href: base_route,
data: { turbo: true, target: "_top", turbo_action: "advance" },
scheme: :invisible,
test_selector: "wp-details-tab-component--close",
aria: { label: I18n.t(:button_close) }))
Expand Down
2 changes: 1 addition & 1 deletion app/components/work_packages/split_view_component.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
flex.with_row(flex: 1) do
helpers.angular_component_tag "opce-wp-split-view",
inputs: {
work_package_id: params[:work_package_id] || @work_package.id,
work_package_id: @id,
resizerClass: "op-work-package-split-view",
activeTab: @tab
}
Expand Down
4 changes: 4 additions & 0 deletions app/components/work_packages/split_view_component.sass
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,7 @@
@media screen and (max-width: $breakpoint-lg)
// Unfortunately, we have to enforce this style via !important as the resizer writes the width directly on the element as inline style
min-width: unset !important

@media screen and (max-width: $breakpoint-sm)
.work-packages--details-toolbar-container
@include hide-button-texts
28 changes: 0 additions & 28 deletions app/controllers/concerns/work_packages/with_split_view.rb
Original file line number Diff line number Diff line change
Expand Up @@ -37,33 +37,5 @@ module WithSplitView
def split_view_work_package_id
params[:work_package_id].to_i
end

def close_split_view
respond_to do |format|
format.turbo_stream do
render turbo_stream: [
turbo_stream.remove("work-package-details-#{split_view_work_package_id}"),
turbo_stream.push_state(url: split_view_base_route),
turbo_stream.set_title(title: helpers.page_title(I18n.t("js.notifications.title")))
]
end
format.html do
redirect_to split_view_base_route
end
end
end

def respond_to_with_split_view(&format_block)
respond_to do |format|
format.turbo_stream do
render turbo_stream: [
turbo_stream.update("content-bodyRight", helpers.split_view_instance.render_in(view_context)),
turbo_stream.push_state(url: request.fullpath)
]
end

yield(format) if format_block
end
end
end
end
10 changes: 7 additions & 3 deletions app/controllers/notifications_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,20 @@ class NotificationsController < ApplicationController

before_action :require_login
before_action :filtered_query, only: :mark_all_read
no_authorization_required! :index, :split_view, :update_counter, :close_split_view, :mark_all_read, :date_alerts, :share_upsale
no_authorization_required! :index, :split_view, :update_counter, :mark_all_read, :date_alerts, :share_upsale

def index
render_notifications_layout
end

def split_view
respond_to_with_split_view do |format|
respond_to do |format|
format.html do
render :index, layout: "notifications"
if turbo_frame_request?
render "work_packages/split_view", layout: false
else
render :index, layout: "notifications"
end
end
end
end
Expand Down
2 changes: 1 addition & 1 deletion app/helpers/work_packages/split_view_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ def optional_work_package_split_view
def split_view_instance
WorkPackages::SplitViewComponent.new(id: params[:work_package_id],
tab: params[:tab],
base_route: params[:base_route] || work_packages_path)
base_route: split_view_base_route)
end
end
2 changes: 1 addition & 1 deletion app/mailers/sharing_mailer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
include MailNotificationHelper
helper :mail_notification

def shared_work_package(sharer, membership, group = nil)

Check warning on line 7 in app/mailers/sharing_mailer.rb

View workflow job for this annotation

GitHub Actions / rubocop

[rubocop] reported by reviewdog 🐶 Assignment Branch Condition size for shared_work_package is too high. [<10, 19, 1> 21.49/17] Raw Output: app/mailers/sharing_mailer.rb:7:3: C: Metrics/AbcSize: Assignment Branch Condition size for shared_work_package is too high. [<10, 19, 1> 21.49/17]
@sharer = sharer
@shared_with_user = membership.principal
@invitation_token = @shared_with_user.invited? ? @shared_with_user.invitation_token : nil
Expand All @@ -15,7 +15,7 @@
@role_rights = derive_role_rights(role)
@allowed_work_package_actions = derive_allowed_work_package_actions(role)
@url = optionally_activated_url(work_package_url(@work_package.id), @invitation_token)
@notification_url = optionally_activated_url(details_notifications_url(@work_package.id), @invitation_token)
@notification_url = optionally_activated_url(details_notifications_url(@work_package.id, tab: :activity), @invitation_token)

set_open_project_headers(@work_package)
message_id(membership, sharer)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,7 @@ See COPYRIGHT and LICENSE files for more details.

<%=
if @custom_field.required?
render Primer::Beta::Blankslate.new(border: true) do |component|
component.with_visual_icon(icon: :checklist)
render Primer::OpenProject::FeedbackMessage.new(icon_arguments: { icon: :checklist}, border: true) do |component|
component.with_heading(tag: :h2).with_content(I18n.t("projects.settings.project_custom_fields.is_required_blank_slate.heading"))
component.with_description { I18n.t("projects.settings.project_custom_fields.is_required_blank_slate.description") }
end
Expand Down
4 changes: 2 additions & 2 deletions app/views/layouts/base.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -155,9 +155,9 @@ See COPYRIGHT and LICENSE files for more details.
<%= yield %>
<% end %>
</div>
<div id="content-bodyRight">
<%= turbo_frame_tag "content-bodyRight" do %>
<%= content_for :content_body_right %>
</div>
<% end %>
<% end %>
</main>
</div>
Expand Down
Loading
Loading