Skip to content

Commit

Permalink
Merge branch 'release/14.6' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
openprojectci committed Oct 1, 2024
2 parents 7f650cf + 4d58288 commit c3ccd25
Show file tree
Hide file tree
Showing 51 changed files with 265 additions and 181 deletions.
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -399,4 +399,4 @@ end

gem "openproject-octicons", "~>19.18.0"
gem "openproject-octicons_helper", "~>19.18.0"
gem "openproject-primer_view_components", "~>0.47.0"
gem "openproject-primer_view_components", "~>0.47.1"
4 changes: 2 additions & 2 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -804,7 +804,7 @@ GEM
actionview
openproject-octicons (= 19.18.0)
railties
openproject-primer_view_components (0.47.0)
openproject-primer_view_components (0.47.1)
actionview (>= 5.0.0)
activesupport (>= 5.0.0)
openproject-octicons (>= 19.17.0)
Expand Down Expand Up @@ -1303,7 +1303,7 @@ DEPENDENCIES
openproject-octicons (~> 19.18.0)
openproject-octicons_helper (~> 19.18.0)
openproject-openid_connect!
openproject-primer_view_components (~> 0.47.0)
openproject-primer_view_components (~> 0.47.1)
openproject-recaptcha!
openproject-reporting!
openproject-storages!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,8 @@ def create
create_service.on_success { render_project_list(url_for_action: :index) }

create_service.on_failure do
update_flash_message_via_turbo_stream(
message: join_flash_messages(create_service.errors),
full: true, dismiss_scheme: :hide, scheme: :danger
render_error_flash_message_via_turbo_stream(
message: join_flash_messages(create_service.errors)
)
end

Expand All @@ -82,9 +81,8 @@ def destroy
delete_service.on_success { render_project_list(url_for_action: :index) }

delete_service.on_failure do
update_flash_message_via_turbo_stream(
message: join_flash_messages(delete_service.errors.full_messages),
full: true, dismiss_scheme: :hide, scheme: :danger
render_error_flash_message_via_turbo_stream(
message: join_flash_messages(delete_service.errors.full_messages)
)
end

Expand Down Expand Up @@ -139,15 +137,6 @@ def find_custom_field_project_to_destroy
respond_with_project_not_found_turbo_streams
end

def update_project_list_via_turbo_stream(url_for_action: action_name)
update_via_turbo_stream(
component: Admin::CustomFields::CustomFieldProjects::TableComponent.new(
query: available_custom_fields_projects_query,
params: { custom_field: @custom_field, url_for_action: }
)
)
end

def available_custom_fields_projects_query
@available_custom_fields_projects_query = ProjectQuery.new(
name: "custom-fields-projects-#{@custom_field.id}"
Expand All @@ -166,9 +155,8 @@ def initialize_custom_field_project
end

def respond_with_project_not_found_turbo_streams
update_flash_message_via_turbo_stream message: t(:notice_project_not_found), full: true, dismiss_scheme: :hide,
scheme: :danger
update_project_list_via_turbo_stream
render_error_flash_message_via_turbo_stream message: t(:notice_project_not_found)
render_project_list(url_for_action: :index)

respond_with_turbo_streams
end
Expand Down
27 changes: 8 additions & 19 deletions app/controllers/admin/settings/project_custom_fields_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,8 @@ def link
create_service.on_success { render_project_list(url_for_action: :project_mappings) }

create_service.on_failure do
update_flash_message_via_turbo_stream(
message: join_flash_messages(create_service.errors),
full: true, dismiss_scheme: :hide, scheme: :danger
render_error_flash_message_via_turbo_stream(
message: join_flash_messages(create_service.errors)
)
end

Expand All @@ -106,9 +105,8 @@ def unlink
delete_service.on_success { render_project_list(url_for_action: :project_mappings) }

delete_service.on_failure do
update_flash_message_via_turbo_stream(
message: join_flash_messages(delete_service.errors.full_messages),
full: true, dismiss_scheme: :hide, scheme: :danger
render_error_flash_message_via_turbo_stream(
message: join_flash_messages(delete_service.errors.full_messages)
)
end

Expand Down Expand Up @@ -184,15 +182,8 @@ def find_unlink_project_custom_field_mapping
project_id: permitted_params.project_custom_field_project_mapping[:project_id]
)
rescue ActiveRecord::RecordNotFound
update_flash_message_via_turbo_stream(
message: t(:notice_file_not_found), full: true, dismiss_scheme: :hide, scheme: :danger
)
replace_via_turbo_stream(
component: Settings::ProjectCustomFields::ProjectCustomFieldMapping::TableComponent.new(
query: project_custom_field_mappings_query,
params: { custom_field: @custom_field }
)
)
render_error_flash_message_via_turbo_stream(message: t(:notice_file_not_found))
render_project_list(url_for_action: :project_mappings)

respond_with_turbo_streams
end
Expand All @@ -213,10 +204,8 @@ def find_custom_field_projects_to_link
false
end
rescue ActiveRecord::RecordNotFound
update_flash_message_via_turbo_stream(
message: t(:notice_project_not_found), full: true, dismiss_scheme: :hide, scheme: :danger
)
render_project_list
render_error_flash_message_via_turbo_stream(message: t(:notice_project_not_found))
render_project_list(url_for_action: :project_mappings)

respond_with_turbo_streams
end
Expand Down
2 changes: 1 addition & 1 deletion app/models/status.rb
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ class Status < ApplicationRecord
uniqueness: { case_sensitive: false },
length: { maximum: 256 }

validates :default_done_ratio, inclusion: { in: 0..100, allow_nil: true }
validates :default_done_ratio, inclusion: { in: 0..100, allow_nil: false }

validate :default_status_must_not_be_readonly

Expand Down
2 changes: 1 addition & 1 deletion app/views/statuses/_form.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ See COPYRIGHT and LICENSE files for more details.

<section class="form--section">
<div class="form--field -required"><%= f.text_field "name", required: true, container_class: "-middle" %></div>
<div class="form--field"><%= f.number_field "default_done_ratio", min: 0, max: 100, container_class: "-xslim" %></div>
<div class="form--field -required"><%= f.number_field "default_done_ratio", required: true, min: 0, max: 100, container_class: "-xslim" %></div>
<div class="form--field"><%= f.check_box "is_closed" %></div>
<% unless @status.is_default? %>
<div class="form--field"><%= f.check_box "is_default" %></div>
Expand Down
54 changes: 27 additions & 27 deletions config/locales/crowdin/cs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -471,7 +471,7 @@ cs:
irreversible: "Tato akce je nevratná"
confirmation: "Zadejte název zástupného uživatele %{name} pro potvrzení odstranění."
upsale:
title: placeholder uživatel
title: Placeholder uživatel
description: >
Placeholder uživatelé jsou způsob, jak přiřadit pracovní balíčky uživatelům, kteří nejsou součástí vašeho projektu. Mohou být užiteční v řadě scénářů; například, pokud potřebujete sledovat úkoly u zdroje, který ještě nejsou pojmenovány nebo dostupné, nebo pokud nechcete této osobě umožnit přístup k OpenProject ale stále chcete sledovat úkoly, které jim byly přiděleny.
prioritiies:
Expand Down Expand Up @@ -695,7 +695,7 @@ cs:
false: "archivováno"
identifier: "Identifikátor"
latest_activity_at: "Poslední aktivita"
parent: "Podprojekt"
parent: "Nadřazený projekt"
public_value:
title: "Viditelnost"
true: "veřejný"
Expand Down Expand Up @@ -801,7 +801,7 @@ cs:
true: "zahrnuje nepracovní dny"
notify: "Oznámit" #used in custom actions
parent: "Nadřazený"
parent_issue: "Rodič"
parent_issue: "Nadřazený"
parent_work_package: "Nadřazený"
priority: "Priorita"
progress: "% Dokončeno"
Expand Down Expand Up @@ -938,7 +938,7 @@ cs:
meeting:
error_conflict: "Unable to save because the meeting was updated by someone else in the meantime. Please reload the page."
notifications:
at_least_one_channel: "Alespoň jeden kanál pro odesílání oznámení musí být specifikován."
at_least_one_channel: "Pro odesílání notifikací musí být specifikován alespoň jeden kanál"
attributes:
read_ian:
read_on_creation: "nelze nastavit na pravdivé při vytváření oznámení "
Expand Down Expand Up @@ -1190,11 +1190,11 @@ cs:
member: "Člen"
news: "Novinky"
notification:
one: "Oznámení"
few: "Oznámení"
many: "Oznámení"
other: "Oznámení"
placeholder_user: "placeholder uživatel"
one: "Notifikace"
few: "Notifikací"
many: "Notifikací"
other: "Notifikace"
placeholder_user: "Placeholder uživatel"
project: "Projekt"
project_query:
one: "Seznam projektů"
Expand Down Expand Up @@ -1915,7 +1915,7 @@ cs:
instructions_after_error: "Zkuste se znovu přihlásit kliknutím na %{signin}. Pokud chyba přetrvává, požádejte správce o pomoc."
menus:
admin:
mail_notification: "E-mailová upozornění"
mail_notification: "E-mailové notifikace"
mails_and_notifications: "E-maily a oznámení"
aggregation: "Agregace"
api_and_webhooks: "API & Webhooky"
Expand Down Expand Up @@ -1978,7 +1978,7 @@ cs:
by_project: "Nepřečteno dle projektu"
by_reason: "Důvod"
inbox: "Doručená pošta"
send_notifications: "Odeslat oznámení pro tuto akci"
send_notifications: "Pro tuto akci odeslat notifikaci"
work_packages:
subject:
created: "Pracovní balíček byl vytvořen."
Expand Down Expand Up @@ -2379,9 +2379,9 @@ cs:
label_permissions: "Práva"
label_permissions_report: "Přehled oprávnění"
label_personalize_page: "Přizpůsobit tuto stránku"
label_placeholder_user: "placeholder uživatel"
label_placeholder_user: "Placeholder uživatel"
label_placeholder_user_new: ""
label_placeholder_user_plural: "placeholder uživatelé"
label_placeholder_user_plural: "Placeholder uživatelé"
label_planning: "Plánování"
label_please_login: "Přihlaste se prosím"
label_plugins: "Pluginy"
Expand All @@ -2404,7 +2404,7 @@ cs:
label_project_attribute_plural: "Atributy projektu"
label_project_attribute_manage_link: "Správa atributů produktu"
label_project_count: "Celkový počet projektů"
label_project_copy_notifications: "Během kopie projektu odeslat oznámení e-mailem"
label_project_copy_notifications: "Během kopírování projektu odeslat notifikace e-mailem"
label_project_latest: "Nejnovější projekty"
label_project_default_type: "Povolit prázdný typ"
label_project_hierarchy: "Hierarchie projektu"
Expand Down Expand Up @@ -2546,7 +2546,7 @@ cs:
label_users_settings: "Uživatelská nastavení"
label_version_new: "Nová verze"
label_version_plural: "Verze"
label_version_sharing_descendants: "S Podprojekty"
label_version_sharing_descendants: "S podprojekty"
label_version_sharing_hierarchy: "S hierarchií projektu"
label_version_sharing_none: "Není sdíleno"
label_version_sharing_system: "Se všemi projekty"
Expand Down Expand Up @@ -2651,28 +2651,28 @@ cs:
digests:
including_mention_singular: "včetně zmínky"
including_mention_plural: "včetně %{number_mentioned} zmínění"
unread_notification_singular: "1 nepřečtené oznámení"
unread_notification_plural: "%{number_unread} nepřečtených oznámení"
unread_notification_singular: "1 nepřečtená notifikace"
unread_notification_plural: "%{number_unread} nepřečtených notifikací"
you_have: "Máte"
logo_alt_text: "Logo"
mention:
subject: "%{user_name} vás zmínil v #%{id} - %{subject}"
notification:
center: "Centrum oznámení"
center: "Centrum notifikací"
see_in_center: "Zobrazit komentář v oznamovacím centru"
settings: "Změnit nastavení e-mailu"
salutation: "Ahoj %{user}!"
salutation_full_name: "Jméno a příjmení"
work_packages:
created_at: "Vytvořeno v %{timestamp} uživatelem %{user} "
login_to_see_all: "Přihlaste se pro zobrazení všech oznámení."
login_to_see_all: "Přihlaste se pro zobrazení všech notifikací."
mentioned: "Byli jste <b>zmíněni v komentáři</b>"
mentioned_by: "%{user} vás zmínil v komentáři"
more_to_see:
one: "Existuje ještě 1 pracovní balíček s oznámeními."
few: "Existuje ještě %{count} pracovních balíčků s oznámeními."
many: "Existuje ještě %{count} pracovních balíčků s oznámeními."
other: "Existuje ještě %{count} pracovních balíčků s oznámeními."
one: "Existuje ještě 1 pracovní balíček s notifikací."
few: "Existuje ještě %{count} pracovních balíčků s notifikacema."
many: "Existuje ještě %{count} pracovních balíčků s notifikacema."
other: "Existuje ještě %{count} pracovních balíčků s notifikacema."
open_in_browser: "Otevřít v prohlížeči"
reason:
watched: "Sledováno"
Expand All @@ -2681,7 +2681,7 @@ cs:
mentioned: "Zmíněné"
shared: "Sdílené"
subscribed: "vše"
prefix: "Obdrženo z důvodu nastavení oznámení: %{reason}"
prefix: "Obdrženo z důvodu nastavení notifikací: %{reason}"
date_alert_start_date: "Upozornění na datum"
date_alert_due_date: "Upozornění na datum"
see_all: "Zobrazit vše"
Expand Down Expand Up @@ -2955,7 +2955,7 @@ cs:
permission_move_work_packages: "Přesun pracovních balíčků"
permission_protect_wiki_pages: "Ochrana stránky wiki"
permission_rename_wiki_pages: "Přejmenovat stránky wiki"
permission_save_queries: "Uložit pohled"
permission_save_queries: "Uložit zobrazení"
permission_search_project: "Hledat projekt"
permission_select_custom_fields: "Vybrat vlastní pole"
permission_select_project_custom_fields: "Vyberte atributy projektu"
Expand Down Expand Up @@ -3350,7 +3350,7 @@ cs:
enable_subscriptions_text_html: Umožňuje uživatelům s nezbytnými oprávněními přihlásit se do OpenProject kalendářů a získat přístup k informacím o pracovním balíčku prostřednictvím externího klienta kalendáře. <strong>Poznámka:</strong> Před povolením si prosím přečtěte <a href="%{link}" target="_blank">iCalendar předplatné</a>.
language_name_being_default: "%{language_name} (výchozí)"
notifications:
events_explanation: "Určuje, pro kterou událost je odeslán e-mail. Pracovní balíčky jsou z tohoto seznamu vyloučeny, protože oznámení pro ně mohou být nastavena speciálně pro každého uživatele."
events_explanation: "Určuje, pro kterou událost je odeslán e-mail. Pracovní balíčky jsou z tohoto seznamu vyloučeny, protože notifikace pro ně mohou být nastavena speciálně pro každého uživatele."
delay_minutes_explanation: "Odesílání e-mailu může být pozdrženo, aby bylo uživatelům s nakonfigurovaným v oznámení aplikace před odesláním pošty potvrzeno oznámení. Uživatelé, kteří si přečtou oznámení v aplikaci, nedostanou e-mail pro již přečtené oznámení."
other: "Ostatní"
passwords: "Hesla"
Expand Down Expand Up @@ -3435,7 +3435,7 @@ cs:
text_destroy_with_associated: "Existují další objekty, které jsou přiřazeny k pracovním balíčkům a které mají být odstraněny. Tyto objekty jsou následující typy:"
text_destroy_what_to_do: "Co chcete udělat?"
text_diff_truncated: "... Toto rozlišení bylo zkráceno, protože přesahuje maximální velikost, kterou lze zobrazit."
text_email_delivery_not_configured: "Doručení e-mailu není nakonfigurováno a oznámení jsou zakázána.\nNakonfigurujte váš SMTP server pro jejich povolení."
text_email_delivery_not_configured: "Doručení e-mailu není nakonfigurováno a notifikace jsou zakázány.\nNakonfigurujte váš SMTP server pro jejich povolení."
text_enumeration_category_reassign_to: "Přiřadit je k této hodnotě:"
text_enumeration_destroy_question: "%{count} objektů je přiřazeno k této hodnotě."
text_file_repository_writable: "Do adresáře příloh lze zapisovat"
Expand Down
Loading

0 comments on commit c3ccd25

Please sign in to comment.