Commit 57ff900b authored by Douwe Maan's avatar Douwe Maan Committed by Mayra Cabrera
Browse files

Merge branch...

Merge branch '5358-hard-failing-mirror-fails-for-personal-project-with-blocked-owners' into 'master'

Resolve "Hard-failing a mirror fails for personal projects with blocked owners"

Closes #5358

See merge request gitlab-org/gitlab-ee!5063
parent 34d614a5
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -268,13 +268,13 @@ def members_with_parents
      end

    GroupMember
      .active_without_invites
      .active_without_invites_and_requests
      .where(source_id: source_ids)
  end

  def members_with_descendants
    GroupMember
      .active_without_invites
      .active_without_invites_and_requests
      .where(source_id: self_and_descendants.reorder(nil).select(:id))
  end

+1 −1
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ class Member < ActiveRecord::Base
  end

  # Like active, but without invites. For when a User is required.
  scope :active_without_invites, -> do
  scope :active_without_invites_and_requests, -> do
    left_join_users
      .where(users: { state: 'active' })
      .non_request
+2 −2
Original line number Diff line number Diff line
@@ -231,9 +231,9 @@ def send_new_note_notifications(note)
  def new_access_request(member)
    return true unless member.notifiable?(:subscription)

    recipients = member.source.members.active_without_invites.owners_and_masters
    recipients = member.source.members.active_without_invites_and_requests.owners_and_masters
    if fallback_to_group_owners_masters?(recipients, member)
      recipients = member.source.group.members.active_without_invites.owners_and_masters
      recipients = member.source.group.members.active_without_invites_and_requests.owners_and_masters
    end

    recipients.each { |recipient| deliver_access_request_email(recipient, member) }
+3 −3
Original line number Diff line number Diff line
@@ -24,10 +24,10 @@ def send_service_desk_notification(note)
    end

    def mirror_was_hard_failed(project)
      recipients = project.members.active_without_invites.owners_and_masters
      recipients = project.members.active_without_invites_and_requests.owners_and_masters

      unless recipients.present?
        recipients = project.group.members.active_without_invites.owners_and_masters
      if recipients.empty? && project.group
        recipients = project.group.members.active_without_invites_and_requests.owners_and_masters
      end

      recipients.each do |recipient|
+5 −0
Original line number Diff line number Diff line
---
title: Hard failing a mirror no longer fails for a blocked user's personal project
merge_request: 5063
author:
type: fixed
Loading