Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/release/14.5' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
ulferts committed Sep 5, 2024
2 parents 7137e10 + 50b106c commit 326b35f
Show file tree
Hide file tree
Showing 25 changed files with 521 additions and 146 deletions.
39 changes: 36 additions & 3 deletions app/components/work_packages/details/tab_component.html.erb
Original file line number Diff line number Diff line change
@@ -1,12 +1,35 @@
<%=
flex_layout(classes: "op-work-package-details-tab-component") do |flex|
flex_layout(classes: "op-work-package-details-tab-component", data: {
"application-target": "dynamic",
controller: "work-packages--details--tabs"
}) do |flex|
flex.with_column(classes: "op-work-package-details-tab-component--action") do
render(Primer::Beta::IconButton.new(icon: :"chevron-left",
tag: :a,
scheme: :invisible,
data: {
action: "click->work-packages--details--tabs#scrollLeft"
},
aria: { label: I18n.t(:label_scroll_left) }))
end


flex.with_column(flex: 1, classes: "op-work-package-details-tab-component--tabs", test_selector: "wp-details-tab-component--tabs") do
render(Primer::Alpha::UnderlineNav.new(align: :left, label: "Tabs", classes: "op-primer-adjustment--UnderlineNav_spaciousLeft")) do |component|
render(Primer::Alpha::UnderlineNav.new(align: :left,
label: "Tabs",
data: {
"work-packages--details--tabs-target": "underlineNav",
})) do |component|
menu_items.each do |node|
component.with_tab(selected: @tab == node.name,
href: helpers.url_for_with_params(**node.url),
test_selector: "wp-details-tab-component--tab-#{node.name}",
data: { turbo: true, turbo_stream: true, turbo_action: "replace" }
data: {
turbo: true,
turbo_stream: true,
turbo_action: "replace",
"work-packages--details--tabs-target": @tab == node.name ? "activeElement" : ""
}
) do |c|
c.with_text { t("js.work_packages.tabs.#{node.name}") }
count = node.badge(work_package:).to_i
Expand All @@ -16,6 +39,16 @@
end
end

flex.with_column(classes: "op-work-package-details-tab-component--action") do
render(Primer::Beta::IconButton.new(icon: :"chevron-right",
tag: :a,
scheme: :invisible,
data: {
action: "click->work-packages--details--tabs#scrollRight"
},
aria: { label: I18n.t(:label_scroll_right) }))
end

flex.with_column(classes: "op-work-package-details-tab-component--action") do
render(Primer::Beta::IconButton.new(icon: :"screen-full",
tag: :a,
Expand Down
3 changes: 3 additions & 0 deletions app/components/work_packages/details/tab_component.sass
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,6 @@

&:last-of-type
padding-right: 10px

&:first-of-type
padding-left: 5px
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
<%= render WorkPackages::Exports::ColumnSelectionComponent.new(
query,
"columns-select-export-csv",
I18n.t("export.dialog.columns.input_caption_table")
) %>
<%= flex_layout do |container| %>
<%= container.with_row do |_columns| %>
<%= render WorkPackages::Exports::ColumnSelectionComponent.new(
query,
"columns-select-export-csv",
I18n.t("export.dialog.columns.input_caption_table")
) %>
<% end %>
<%= container.with_row do |_csv_include_description| %>
<%= render OpenProject::Common::DividerComponent.new %>
<%= render(Primer::Alpha::CheckBox.new(
id: "show_descriptions_csv",
name: "show_descriptions",
value: "true",
unchecked_value: "false",
label: I18n.t("export.dialog.xls.include_descriptions.label"),
caption: I18n.t("export.dialog.xls.include_descriptions.caption"),
visually_hide_label: false)) %>
<% end %>
<% end %>
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,24 @@
<% end %>
<%= container.with_row do |_xls_include_relations| %>
<%= render OpenProject::Common::DividerComponent.new(mt: 2) %>
<%= render(Primer::Alpha::CheckBox.new(name: "show_relations",
value: "true",
unchecked_value: "false",
label: I18n.t("export.dialog.xls.include_relations.label"),
caption: I18n.t("export.dialog.xls.include_relations.caption"),
visually_hide_label: false)) %>
<%= render(Primer::Alpha::CheckBox.new(
id: "show_relations_xls",
name: "show_relations",
value: "true",
unchecked_value: "false",
label: I18n.t("export.dialog.xls.include_relations.label"),
caption: I18n.t("export.dialog.xls.include_relations.caption"),
visually_hide_label: false)) %>
<% end %>
<%= container.with_row do |_xls_include_description| %>
<%= render OpenProject::Common::DividerComponent.new %>
<%= render(Primer::Alpha::CheckBox.new(name: "show_descriptions",
value: "true",
unchecked_value: "false",
label: I18n.t("export.dialog.xls.include_descriptions.label"),
caption: I18n.t("export.dialog.xls.include_descriptions.caption"),
visually_hide_label: false)) %>
<%= render(Primer::Alpha::CheckBox.new(
id: "show_descriptions_xls",
name: "show_descriptions",
value: "true",
unchecked_value: "false",
label: I18n.t("export.dialog.xls.include_descriptions.label"),
caption: I18n.t("export.dialog.xls.include_descriptions.caption"),
visually_hide_label: false)) %>
<% end %>
<% end %>
8 changes: 8 additions & 0 deletions app/models/work_package/exports/csv.rb
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,19 @@ def title
end

def csv_headers
return super unless with_descriptions

super + [WorkPackage.human_attribute_name(:description)]
end

def with_descriptions
ActiveModel::Type::Boolean.new.cast(options[:show_descriptions])
end

# fetch all row values
def csv_row(work_package)
return super unless with_descriptions

super.tap do |row|
if row.any?
row << if work_package.description
Expand Down
2 changes: 2 additions & 0 deletions config/locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2484,6 +2484,8 @@ en:
label_role_plural: "Roles"
label_role_search: "Assign role to new members"
label_scm: "SCM"
label_scroll_left: "Scroll left"
label_scroll_right: "Scroll right"
label_search: "Search"
label_search_by_name: "Search by name"
label_send_information: "Send new credentials to the user"
Expand Down
12 changes: 6 additions & 6 deletions config/locales/js-en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -405,16 +405,16 @@ en:
learn_about: "Learn more about the new features"
# Include the version to invalidate outdated translations in other locales.
# Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release.
"14_4":
"14_5":
standard:
new_features_html: >
The release contains various new features and improvements, such as: <br>
<ul class="%{list_styling_class}">
<li>Dark mode option in personal settings</li>
<li>Separate permissions for viewing and editing on project attributes</li>
<li>Improved status-based progress reporting</li>
<li>Connection validation for Nextcloud storages</li>
<li>More filter options for project lists</li>
<li>Keep and restore local versions of WYSIWYG content changes.</li>
<li>Enable a storage for multiple projects at once.</li>
<li>Export work packages in an updated modal with additional settings.</li>
<li>Display custom field columns/filters in project lists also in the Community Edition.</li>
<li>Support CloudFlare Turnstile as Captcha.</li>
</ul>
ical_sharing_modal:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ The [docker-based installation](../installation/docker) requires a system with D

Both the package and docker based installations will install and setup the following dependencies that are required by OpenProject to run:

* __Runtime:__ [Ruby](https://www.ruby-lang.org/en/) Version = 2.7.x
* __Runtime:__ [Ruby](https://www.ruby-lang.org/en/) Version = 3.3.x
* __Webserver:__ [Apache](https://httpd.apache.org/)
or [nginx](https://nginx.org/en/docs/)
* __Application server:__ [Puma](https://puma.io/)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ import { I18nService } from 'core-app/core/i18n/i18n.service';
import { imagePath } from 'core-app/shared/helpers/images/path-helper';

// The key used in the I18n files to distinguish between versions.
const OpVersionI18n = '14_4';
const OpVersionI18n = '14_5';

const OpReleaseURL = 'https://www.openproject.org/docs/release-notes/14-4-0/';
const OpReleaseURL = 'https://www.openproject.org/docs/release-notes/14-5-0/';

/** Update the teaser image to the next version */
const featureTeaserImage = `${OpVersionI18n}_features.png`;
Expand Down
Binary file removed frontend/src/assets/images/14_4_features.png
Binary file not shown.
Binary file added frontend/src/assets/images/14_5_features.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,9 @@
top: 0
padding-top: 5px
height: 100%
border-right: 1px solid #dddddd5e

border-right: 1px solid var(--borderColor-default)
&_highlight
border-right: 1px solid var(--borderColor-default)
border-right: 1px solid var(--borderColor-emphasis)

&--non-working-day
background-color: #f5f5f5
background-color: var(--bgColor-disabled)
9 changes: 2 additions & 7 deletions frontend/src/global_styles/primer/_overrides.sass
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,10 @@ action-menu
margin-left: 0

.UnderlineNav
@include styled-scroll-bar
@include no-visible-scroll-bar
scroll-behavior: smooth
margin-bottom: 12px

&-body
margin-left: 12px

&.op-primer-adjustment--UnderlineNav_spaciousLeft
padding-left: 8px

/* Remove margin-left: 2rem from Breadcrumbs */
#breadcrumb,
page-header,
Expand Down
Loading

0 comments on commit 326b35f

Please sign in to comment.