Merge branch 'release/17.2' into dev

This commit is contained in:
OpenProject Actions CI
2026-03-13 04:17:03 +00:00
5 changed files with 2265 additions and 153 deletions
+3 -3
View File
@@ -50,9 +50,9 @@ The Premium support covers everything from the Basic and Professional support. I
Onboarding training in the Premium support plan includes onboarding for a perfect start with OpenProject as well as consulting on special requirements and administrative configurations.
| Service hours | Support channels | Support services |
| ---------------------------------------------------------- | ------------------------------------------- | -------------------------------------------------------- |
| Mon-Fri, 9:30 - 17:30 CET<br>Mon-Fri, 9:30 am - 5:30 pm ET | - Premium E-Mail support<br>- Phone support | - Documentation and user guides<br>- Tutorial videos<br> |
| Service hours | Support channels | Support services |
| ---------------------------------------------------------- | ------------------------------------------- | ------------------------------------------------------------ |
| Mon-Fri, 9:30 - 17:30 CET<br>Mon-Fri, 9:30 am - 5:30 pm ET | - Premium E-Mail support<br>- Phone support | - Documentation and user guides<br>- Tutorial videos<br>- Remote hands <br/>- Installation support <br/>- Upgrade assistance <br/> |
### Corporate support (on-premises only)
@@ -195,11 +195,11 @@ Budgets widgets are only displayed if the following conditions are met:
- At least one budget exists in the project or one of its subprojects. Some widgets may display placeholder messages if no cost data has been entered yet.
- At least one work package is assigned to a budget.
- The user has these necessary permissions to view the financial information:
- view_budgets
- view_cost_entries
- view_cost_rates
- view_time_entries
- view_hourly_rates
- View budgets
- View booked costs
- View cost rates
- View spent time
- View all hourly rates
- The user has to have a defined hourly rate.
- At least one time and/or unit costs entry is logged for the work package (the work package that is assigned to a budget). If no relevant data is available, the widgets display guidance messages. For example if **no budgets exist**, the widget encourages creating a budget.
@@ -101,16 +101,14 @@ module Storages
@project_storages.includes(:project).find_each do |project_storage|
folder_id = project_storage.project_folder_id
result = case id_folder_map[folder_id]
when nil
create_remote_folder(project_storage)
when project_storage.managed_project_folder_path.chop
Success()
else
rename_folder(folder_id, project_storage.managed_project_folder_name)
end
result.or { return Failure() }
case id_folder_map[folder_id]
when nil
create_remote_folder(project_storage)
when project_storage.managed_project_folder_path.chop
Success()
else
rename_folder(folder_id, project_storage.managed_project_folder_name)
end
end
Success(:setup_folders)
@@ -278,7 +278,7 @@ module Storages
folder_name: project_storage.managed_project_folder_path,
parent_location: "/"))
ensure
delete_folder(already_existing_folder.id)
delete_folder(already_existing_folder.id) if already_existing_folder
end
it "logs the occurrence", vcr: "nextcloud/sync_service_creation_fail" do
@@ -292,7 +292,7 @@ module Storages
parent_location: "/",
data: { body: String, status: 405 })
ensure
delete_folder(already_existing_folder.id)
delete_folder(already_existing_folder.id) if already_existing_folder
end
end
end
File diff suppressed because one or more lines are too long