Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
e98b67d5
Commit
e98b67d5
authored
Mar 11, 2018
by
Douwe Maan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Prevent hard-failing a mirror from failing when the project has invited members
parent
6c9cf0c0
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
16 additions
and
5 deletions
+16
-5
app/models/member.rb
app/models/member.rb
+1
-1
app/services/notification_service.rb
app/services/notification_service.rb
+2
-2
ee/app/services/ee/notification_service.rb
ee/app/services/ee/notification_service.rb
+2
-2
ee/spec/services/ee/notification_service_spec.rb
ee/spec/services/ee/notification_service_spec.rb
+11
-0
No files found.
app/models/member.rb
View file @
e98b67d5
...
...
@@ -56,7 +56,7 @@ class Member < ActiveRecord::Base
scope
:active_without_invites
,
->
do
left_join_users
.
where
(
users:
{
state:
'active'
})
.
where
(
requested_at:
nil
)
.
non_request
.
reorder
(
nil
)
end
...
...
app/services/notification_service.rb
View file @
e98b67d5
...
...
@@ -231,9 +231,9 @@ class NotificationService
def
new_access_request
(
member
)
return
true
unless
member
.
notifiable?
(
:subscription
)
recipients
=
member
.
source
.
members
.
owners_and_masters
recipients
=
member
.
source
.
members
.
active_without_invites
.
owners_and_masters
if
fallback_to_group_owners_masters?
(
recipients
,
member
)
recipients
=
member
.
source
.
group
.
members
.
owners_and_masters
recipients
=
member
.
source
.
group
.
members
.
active_without_invites
.
owners_and_masters
end
recipients
.
each
{
|
recipient
|
deliver_access_request_email
(
recipient
,
member
)
}
...
...
ee/app/services/ee/notification_service.rb
View file @
e98b67d5
...
...
@@ -24,10 +24,10 @@ module EE
end
def
mirror_was_hard_failed
(
project
)
recipients
=
project
.
members
.
owners_and_masters
recipients
=
project
.
members
.
active_without_invites
.
owners_and_masters
unless
recipients
.
present?
recipients
=
project
.
group
.
members
.
owners_and_masters
recipients
=
project
.
group
.
members
.
active_without_invites
.
owners_and_masters
end
recipients
.
each
do
|
recipient
|
...
...
ee/spec/services/ee/notification_service_spec.rb
View file @
e98b67d5
...
...
@@ -123,6 +123,17 @@ describe EE::NotificationService, :mailer do
describe
'mirror hard failed'
do
let
(
:user
)
{
create
(
:user
)
}
context
'when the project has invited members'
do
it
'sends email'
do
project
=
create
(
:project
,
:mirror
,
:import_hard_failed
)
create
(
:project_member
,
:invited
,
project:
project
)
expect
(
Notify
).
to
receive
(
:mirror_was_hard_failed_email
).
with
(
project
.
id
,
project
.
owner
.
id
).
and_call_original
subject
.
mirror_was_hard_failed
(
project
)
end
end
context
'when user is owner'
do
it
'sends email'
do
project
=
create
(
:project
,
:mirror
,
:import_hard_failed
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment