Skip to content

Commit

Permalink
Show error if gantt module enabled as default without work packages
Browse files Browse the repository at this point in the history
  • Loading branch information
oliverguenther committed Feb 7, 2024
1 parent ff4deb5 commit 736a1d7
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 0 deletions.
24 changes: 24 additions & 0 deletions app/controllers/admin/settings/projects_settings_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,32 @@ module Admin::Settings
class ProjectsSettingsController < ::Admin::SettingsController
menu_item :settings_projects

before_action :validate_enabled_modules, only: :update

def default_breadcrumb
t(:label_project_plural)
end

private

def validate_enabled_modules
return if settings_params[:default_projects_modules].blank?

enabled_modules = settings_params[:default_projects_modules].map(&:to_sym)

module_missing_deps = OpenProject::AccessControl
.modules
.detect { |m| m[:dependencies] && enabled_modules.include?(m[:name]) && (m[:dependencies] & enabled_modules) != m[:dependencies] }

if module_missing_deps
flash[:error] = I18n.t(
'settings.projects.missing_dependencies',
module: I18n.t("project_module_#{module_missing_deps[:name]}"),
dependencies: module_missing_deps[:dependencies].map { |dep| I18n.t("project_module_#{dep}") }.join(', ')
)

redirect_to action: :show
end
end
end
end
1 change: 1 addition & 0 deletions config/locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3011,6 +3011,7 @@ en:
other: "Other"
passwords: "Passwords"
projects:
missing_dependencies: "Project module %{module} was checked which depends on %{dependencies}. You need to check these dependencies as well."
section_new_projects: "Settings for new projects"
section_project_overview: "Settings for project overview list"
session: "Session"
Expand Down

0 comments on commit 736a1d7

Please sign in to comment.