Skip to content

Commit a232d4e

Browse files
Release OpenProject 12.4.5
2 parents 472fb4b + d528775 commit a232d4e

File tree

23 files changed

+191
-80
lines changed

23 files changed

+191
-80
lines changed

.github/workflows/eslint-core.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ jobs:
1717
- uses: actions/checkout@v2
1818
with:
1919
fetch-depth: 0
20-
- uses: opf/action-eslint@v2
20+
- uses: actions/setup-node@v3
21+
with:
22+
node-version: '18.13'
23+
cache: npm
24+
cache-dependency-path: frontend/package-lock.json
25+
- uses: reviewdog/action-eslint@v1
2126
with:
2227
reporter: github-pr-check
28+
workdir: 'frontend/'
29+
eslint_flags: 'src/'

app/controllers/work_packages/bulk_controller.rb

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def destroy
8686
def setup_edit
8787
@available_statuses = @projects.map { |p| Workflow.available_statuses(p) }.inject(&:&)
8888
@custom_fields = @projects.map(&:all_work_package_custom_fields).inject(&:&)
89-
@assignables = @responsibles = possible_assignees
89+
@assignables = @responsibles = Principal.possible_assignee(@projects)
9090
@types = @projects.map(&:types).inject(&:&)
9191
end
9292

@@ -102,12 +102,6 @@ def destroy_work_packages(work_packages)
102102
end
103103
end
104104

105-
def possible_assignees
106-
@projects.inject(Principal.all) do |scope, project|
107-
scope.where(id: Principal.possible_assignee(project))
108-
end
109-
end
110-
111105
def attributes_for_update
112106
return {} unless params.has_key? :work_package
113107

app/models/journal/notification_configuration.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,10 @@ def with_first(send_notifications)
6161
end
6262

6363
def log_warning(send_notifications)
64-
return if active == send_notifications
64+
return if active? == send_notifications
6565

6666
message = <<~MSG
67-
Ignoring setting journal notifications to '#{send_notifications}' as a parent block already set it to #{active}"
67+
Ignoring setting journal notifications to '#{send_notifications}' as a parent block already set it to #{active?}"
6868
MSG
6969
Rails.logger.debug message
7070
end

app/models/principals/scopes/possible_assignee.rb

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,18 @@ module PossibleAssignee
4040
# * Group
4141
# User instances need to be non locked (status).
4242
# Only principals with a role marked as assignable in the project are returned.
43-
# @project [Project] The project for which eligible candidates are to be searched
43+
# If more than one project is given, the principals need to be assignable in all of the projects (intersection).
44+
# @project [Project, [Project]] The project for which eligible candidates are to be searched
4445
# @return [ActiveRecord::Relation] A scope of eligible candidates
4546
def possible_assignee(project)
46-
not_locked
47-
.includes(:members)
48-
.references(:members)
49-
.merge(Member.assignable.of(project))
47+
where(
48+
id: Member
49+
.assignable
50+
.of(project)
51+
.group('user_id')
52+
.having(["COUNT(DISTINCT(project_id, user_id)) = ?", Array(project).count])
53+
.select('user_id')
54+
)
5055
end
5156
end
5257
end

app/services/base_services/write.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ def instance_class
7777
end
7878

7979
def set_attributes_params(params)
80-
params
80+
params.except(:send_notifications)
8181
end
8282
end
8383
end

app/services/groups/add_users_service.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,11 @@ def persist(call)
5252
def after_perform(call)
5353
Groups::CreateInheritedRolesService
5454
.new(model, current_user: user, contract_class:)
55-
.call(user_ids: params[:ids], message: params[:message])
55+
.call(
56+
user_ids: params[:ids],
57+
message: params[:message],
58+
send_notifications: params.fetch(:send_notifications, true)
59+
)
5660

5761
call
5862
end

app/services/groups/update_service.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def after_perform(call)
4949
if new_user_ids.any?
5050
db_call = ::Groups::AddUsersService
5151
.new(call.result, current_user: user)
52-
.call(ids: new_user_ids)
52+
.call(ids: new_user_ids, send_notifications: params.fetch(:send_notifications, true))
5353

5454
call.add_dependent!(db_call)
5555
end

config/locales/crowdin/js-ru.yml

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ ru:
3030
delete_confirmation: |
3131
Вы уверены, что хотите удалить этот файл? Это действие необратимо.
3232
draggable_hint: |
33-
Перетащите в поле редактора для вставки изображения или прикрепления ссылки. Закрытые поля будут открыты в течение перетаскивания.
33+
Перенесите в поле редактора для вставки изображения или прикрепления ссылки. Закрытые поля будут открыты в процессе переноса.
3434
autocomplete_select:
3535
placeholder:
3636
multi: "Добавить \"%{name}\""
37-
single: "Выбрать \"%{name}\""
37+
single: "Выберите \"%{name}\""
3838
remove: "Удалить %{name}"
3939
active: "Активировать %{label} %{name}"
4040
backup:
@@ -43,7 +43,7 @@ ru:
4343
Здесь вы можете запустить резервное копирование. Продолжительность процесса зависит от объема данных (особенно вложений). О завершении процесса вам будет сообщено письмом.
4444
note: >
4545
Новая резервная копия создается поверх предыдущий. Число создаваемых резервных копий в день ограничено.
46-
last_backup: Последняя резервное копирование
46+
last_backup: Последнее резервное копирование
4747
last_backup_from: Последняя резервная копия от
4848
title: Резервное копирование OpenProject
4949
options: Параметры
@@ -56,7 +56,7 @@ ru:
5656
button_add_watcher: "Добавить наблюдателя"
5757
button_add: "Добавить"
5858
button_back: "Назад"
59-
button_back_to_list_view: "Назад к списку"
59+
button_back_to_list_view: "Вернуться к просмотру списка"
6060
button_cancel: "Отмена"
6161
button_close: "Закрыть"
6262
button_change_project: "Изменить проект"
@@ -72,7 +72,7 @@ ru:
7272
button_details_view: "Детальный просмотр"
7373
button_duplicate: "Дублировать"
7474
button_edit: "Править"
75-
button_filter: "Фильтровать"
75+
button_filter: "Фильтр"
7676
button_collapse_all: "Свернуть все"
7777
button_expand_all: "Развернуть все"
7878
button_advanced_filter: "Расширенный фильтр"
@@ -85,10 +85,10 @@ ru:
8585
button_open_fullscreen: "Открыть полноэкранный просмотр"
8686
button_show_cards: "В виде карточек"
8787
button_show_list: "В виде списка"
88-
button_show_table: "Показать вид таблицы"
88+
button_show_table: "В виде таблицы"
8989
button_show_gantt: "Показать в виде диаграммы Ганта"
90-
button_show_fullscreen: "Показать полноэкранный режим"
91-
button_more_actions: "Другие действия"
90+
button_show_fullscreen: "Полноэкранный просмотр"
91+
button_more_actions: "Больше действий"
9292
button_quote: "Цитировать"
9393
button_save: "Сохранить"
9494
button_settings: "Настройки"
@@ -147,7 +147,7 @@ ru:
147147
button: 'Ссылки на дочерние страницы'
148148
include_parent: 'Включить родителя'
149149
text: '[Placeholder] Ссылки на дочерние страницы'
150-
page: 'Вики-страница'
150+
page: 'Wiki страница'
151151
this_page: 'эта страница'
152152
hint: |
153153
Оставьте это поле пустым, чтобы перечислить все дочерние страницы текущей страницы. Если вы хотите описать другую страницу, укажите ее заголовок или идентифицирующую строку.
@@ -162,12 +162,12 @@ ru:
162162
toc: 'Содержание'
163163
toolbar_help: 'Кликните для выбора виджета и показа панели инструментов. Кликните дважды для редактирования виджета'
164164
wiki_page_include:
165-
button: 'Включить содержание другой вики страницы'
166-
text: '[Placeholder] включая вики страницы'
167-
page: 'Wiki-страница'
165+
button: 'Включить содержание другой wiki страницы'
166+
text: '[Placeholder] включенная wiki страница'
167+
page: 'Wiki страница'
168168
not_set: '(Страница пока не установлена)'
169169
hint: |
170-
Включите содержание другой вики-страницы, указав её название или строку. Вы можете включить вики-страницы из другого проекта, разделив их двоеточием, как в следующем примере.
170+
Включите содержание другой wiki страницы, указав её название или строку. Вы можете включить wiki страницы из другого проекта, разделив их двоеточием, как в следующем примере.
171171
work_package_button:
172172
button: 'Вставить кнопку создания пакета работ'
173173
type: 'Тип пакета работ'
@@ -508,7 +508,7 @@ ru:
508508
quick_add_button: 'Нажмите на значок плюс (+) в заголовке навигации, чтобы <b>создать новый проект</b> или <b>пригласить коллег</b>.'
509509
sidebar_arrow: "Используйте стрелку возврата в левом верхнем углу, чтобы вернуться в <b>главное меню</b> проекта."
510510
welcome: 'Совершите вводный трехминутный тур для знакомства с наиболее <b>важными особенностями</b>. <br>Рекомендуем пройти все шаги до конца. Пройти вводный тур повторно можно в любое время.'
511-
wiki: 'В пределах <b>вики</b> возможно документирование и обмен знаниями в вашей команде.'
511+
wiki: 'В пределах <b>wiki</b> возможно документирование и обмен знаниями в вашей команде.'
512512
backlogs:
513513
overview: "Управляйте своей работой в представлении <b>backlogs</b>."
514514
sprints: "Справа у вас есть бэклог продукта и бэклог ошибок, слева у вас есть соответствующие спринты. Здесь вы можете создать <b>эпики, пользовательские истории и ошибки</b>, приоритизировать через перетаскивание и добавить их в спринт."
@@ -552,10 +552,10 @@ ru:
552552
date_alerts:
553553
milestone_date: 'Дата контрольной точки'
554554
overdue: 'Просрочено'
555-
overdue_since: 'с %{difference_in_days}'
555+
overdue_since: 'на %{difference_in_days}'
556556
property_today: 'сегодня'
557557
property_is: 'находится в %{difference_in_days}'
558-
property_was: 'был %{difference_in_days} назад'
558+
property_was: 'была %{difference_in_days} назад'
559559
property_is_deleted: 'удалено'
560560
upsale:
561561
title: 'Дата оповещения'
@@ -690,8 +690,8 @@ ru:
690690
news_commented: 'Комментарий к новости'
691691
document_added: 'Добавлены документы'
692692
forum_messages: 'Новые сообщения форума'
693-
wiki_page_added: 'Wiki-страница добавлена'
694-
wiki_page_updated: 'Wiki-страница обновлена'
693+
wiki_page_added: 'Wiki страница добавлена'
694+
wiki_page_updated: 'Wiki страница обновлена'
695695
membership_added: 'Членство добавлено'
696696
membership_updated: 'Членство обновлено'
697697
title: 'Почтовые напоминания'
@@ -859,7 +859,7 @@ ru:
859859
ee_only: 'Дополнение корпоративной версии'
860860
wiki_formatting:
861861
strong: "Жирный"
862-
italic: "Наклонный"
862+
italic: "Курсив"
863863
underline: "Подчёркнутый"
864864
deleted: "Удалено"
865865
code: "Встроенный код"
@@ -871,7 +871,7 @@ ru:
871871
quote: "Цитата"
872872
unquote: "Убрать цитирование"
873873
preformatted_text: "Предварительно отформатированный текст"
874-
wiki_link: "Ссылка на вики-страницу"
874+
wiki_link: "Ссылка на wiki страницу"
875875
image: "Изображение"
876876
work_packages:
877877
bulk_actions:

config/locales/crowdin/ru.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ ru:
329329
reset: "Восстановить значения по умолчанию"
330330
type_color_text: |
331331
Выбранный цвет выделяет разные типы
332-
в диаграммах Ганта или таблицах рабочих пакетов. Поэтому рекомендуется использовать насыщенный цвет.
332+
в диаграммах Ганта или таблицах пакетов работ. Поэтому рекомендуется использовать насыщенный цвет.
333333
versions:
334334
overview:
335335
no_results_title_text: В настоящее время пакетов работ для этой версии нет.
@@ -2985,7 +2985,7 @@ ru:
29852985
<b>Определить рабочие дни недели</b><br/> Нерабочие дни пропускаются при планировании пакетов работ и исключаются при расчете продолжительности. Это можно переопределить на уровне рабочих пакетов.
29862986
change_button: "Изменить рабочие дни"
29872987
warning: >
2988-
Изменение дней недели, считающихся рабочими днями, может повлиять на начало и завершение всех пакетов работ во всех проектах в данном случае.
2988+
Изменение дней недели, считающихся рабочими днями, может повлиять на начало и завершение всех пакетов работ во всех проектах в данной системе.
29892989
journal_note:
29902990
changed: _**Рабочие дни** изменены (%{changes})._
29912991
days:

config/locales/crowdin/tr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -903,7 +903,7 @@ tr:
903903
base: "Genel Hata:"
904904
blocks_ids: "Engellenen iş paketlerinin ID'leri"
905905
category: "Kategori"
906-
comment: "Yorum"
906+
comment: "Yorumlar"
907907
comments: "Yorum"
908908
content: "İçerik"
909909
color: "Renk"

0 commit comments

Comments
 (0)