mirror of
https://github.com/opf/openproject.git
synced 2026-06-14 03:30:14 +00:00
Merge branch 'release/17.2' into dev
This commit is contained in:
@@ -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)
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+2247
-133
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user