Merge pull request #8271 from opf/fix/32858/ensure-seeders-run-only-in-bim

[32858] Ensure bim seeders run only in bim mode

[ci skip]
pull/8280/head
Oliver Günther 5 years ago committed by GitHub
commit 5a1c3c95b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 58
      modules/bim/app/seeders/bim/basic_data/role_seeder.rb
  2. 24
      modules/bim/app/seeders/bim/basic_data/setting_seeder.rb
  3. 4
      modules/bim/app/seeders/bim/basic_data_seeder.rb
  4. 2
      modules/bim/lib/open_project/bim/engine.rb
  5. 35
      modules/bim/lib/open_project/bim/patches/role_seeder_patch.rb
  6. 2
      modules/bim/lib/open_project/bim/patches/work_package_board_seeder_patch.rb

@ -0,0 +1,58 @@
#-- encoding: UTF-8
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2020 the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2017 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See docs/COPYRIGHT.rdoc for more details.
#++
module Bim
module BasicData
class RoleSeeder < ::BasicData::RoleSeeder
def member
super.tap do |role_data|
role_data[:permissions] += %i[view_linked_issues manage_bcf delete_work_packages]
end
end
def reader
super.tap do |role_data|
role_data[:permissions] += %i[view_linked_issues]
end
end
def non_member
super.tap do |role_data|
role_data[:permissions] += %i[view_linked_issues]
end
end
def anonymous
super.tap do |role_data|
role_data[:permissions] += %i[view_linked_issues]
end
end
end
end
end

@ -1,3 +1,4 @@
#-- encoding: UTF-8
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2020 the OpenProject GmbH
@ -25,21 +26,16 @@
#
# See docs/COPYRIGHT.rdoc for more details.
#++
module OpenProject::Bim::Patches::SettingSeederPatch
def self.included(base) # :nodoc:
base.prepend InstanceMethods
end
module InstanceMethods
def data
original_data = super
unless original_data['default_projects_modules'].include? 'bim'
original_data['default_projects_modules'] << 'bim'
module Bim
module BasicData
class SettingSeeder < ::BasicData::SettingSeeder
def data
super.tap do |original_data|
unless original_data['default_projects_modules'].include? 'bim'
original_data['default_projects_modules'] << 'bim'
end
end
end
original_data
end
end
end

@ -32,14 +32,14 @@ module Bim
def data_seeder_classes
[
::BasicData::BuiltinRolesSeeder,
::BasicData::RoleSeeder,
::Bim::BasicData::RoleSeeder,
::Bim::BasicData::ActivitySeeder,
::BasicData::ColorSeeder,
::BasicData::ColorSchemeSeeder,
::Bim::BasicData::CustomStyleSeeder,
::Bim::BasicData::WorkflowSeeder,
::Bim::BasicData::PrioritySeeder,
::BasicData::SettingSeeder
::Bim::BasicData::SettingSeeder
]
end
end

@ -91,8 +91,6 @@ module OpenProject::Bim
patches %i[WorkPackage Type Journal RootSeeder Project]
patch_with_namespace :OpenProject, :CustomStyles, :Design
patch_with_namespace :BasicData, :SettingSeeder
patch_with_namespace :BasicData, :RoleSeeder
patch_with_namespace :API, :V3, :Activities, :ActivityRepresenter
patch_with_namespace :Journal, :AggregatedJournal
patch_with_namespace :API, :V3, :Activities, :ActivitiesSharedHelpers

@ -1,35 +0,0 @@
module OpenProject::Bim::Patches::RoleSeederPatch
def self.included(base) # :nodoc:
base.prepend InstanceMethods
end
module InstanceMethods
def member
role_attributes = super
role_attributes[:permissions] = role_attributes[:permissions] + %i[view_linked_issues manage_bcf]
role_attributes
end
def reader
role_attributes = super
role_attributes[:permissions] = role_attributes[:permissions] + %i[view_linked_issues]
role_attributes
end
def non_member
role_attributes = super
role_attributes[:permissions] = role_attributes[:permissions] + %i[view_linked_issues]
role_attributes
end
def anonymous
role_attributes = super
role_attributes[:permissions] = role_attributes[:permissions] + %i[view_linked_issues]
role_attributes
end
end
end

@ -7,7 +7,7 @@ module OpenProject::Bim::Patches::WorkPackageBoardSeederPatch
def seed_data!
super
if project_has_data_for?(key, 'boards.bcf')
if OpenProject::Configuration.bim? && project_has_data_for?(key, 'boards.bcf')
print ' ↳ Creating demo BCF board'
seed_bcf_board
puts

Loading…
Cancel
Save