HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux vmi1674223.contaboserver.net 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC 2024 x86_64
User: root (0)
PHP: 7.4.3-4ubuntu2.22
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //opt/openproject/db/migrate/20200625133727_fix_inherited_group_member_roles.rb
class FixInheritedGroupMemberRoles < ActiveRecord::Migration[6.0]
  def up
    # Delete all member roles that should be inherited by groups
    MemberRole.where.not(inherited_from: nil).delete_all

    # For all group memberships, recreate the member_roles for all users
    # which will auto-create members for the users if necessary
    MemberRole
      .joins(member: [:principal])
      .includes(member: %i[principal member_roles])
      .where("#{Principal.table_name}.type" => 'Group')
      .find_each do |member_role|

      # Recreate member_roles for all group members
      member_role.send :add_role_to_group_users
    end
  end

  def down
    # Nothing to do
  end
end