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
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
gitlab-ce
Commits
8d7aaf0e
Commit
8d7aaf0e
authored
Jan 03, 2012
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Note on merge request open/close
parent
e29b7d52
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
53 additions
and
46 deletions
+53
-46
app/models/mailer_observer.rb
app/models/mailer_observer.rb
+53
-46
No files found.
app/models/mailer_observer.rb
View file @
8d7aaf0e
...
@@ -16,66 +16,73 @@ class MailerObserver < ActiveRecord::Observer
...
@@ -16,66 +16,73 @@ class MailerObserver < ActiveRecord::Observer
protected
protected
def
new_issue
(
issue
)
def
new_issue
(
issue
)
if
issue
.
assignee
!=
current_user
if
issue
.
assignee
!=
current_user
Notify
.
new_issue_email
(
issue
).
deliver
Notify
.
new_issue_email
(
issue
).
deliver
end
end
end
end
def
new_user
(
user
)
def
new_user
(
user
)
Notify
.
new_user_email
(
user
,
user
.
password
).
deliver
Notify
.
new_user_email
(
user
,
user
.
password
).
deliver
end
end
def
new_note
(
note
)
def
new_note
(
note
)
return
unless
note
.
notify
or
note
.
notify_author
return
unless
note
.
notify
or
note
.
notify_author
note
.
project
.
users
.
reject
{
|
u
|
u
.
id
==
current_user
.
id
}
.
each
do
|
u
|
note
.
project
.
users
.
reject
{
|
u
|
u
.
id
==
current_user
.
id
}
.
each
do
|
u
|
case
note
.
noteable_type
case
note
.
noteable_type
when
"Commit"
then
when
"Commit"
then
Notify
.
note_commit_email
(
u
,
note
).
deliver
Notify
.
note_commit_email
(
u
,
note
).
deliver
when
"Issue"
then
when
"Issue"
then
Notify
.
note_issue_email
(
u
,
note
).
deliver
Notify
.
note_issue_email
(
u
,
note
).
deliver
when
"MergeRequest"
then
when
"MergeRequest"
then
Notify
.
note_merge_request_email
(
u
,
note
).
deliver
Notify
.
note_merge_request_email
(
u
,
note
).
deliver
when
"Snippet"
when
"Snippet"
true
true
else
else
Notify
.
note_wall_email
(
u
,
note
).
deliver
Notify
.
note_wall_email
(
u
,
note
).
deliver
end
end
end
end
end
end
def
new_merge_request
(
merge_request
)
def
new_merge_request
(
merge_request
)
if
merge_request
.
assignee
!=
current_user
if
merge_request
.
assignee
!=
current_user
Notify
.
new_merge_request_email
(
merge_request
).
deliver
Notify
.
new_merge_request_email
(
merge_request
).
deliver
end
end
end
end
def
changed_merge_request
(
merge_request
)
def
changed_merge_request
(
merge_request
)
if
merge_request
.
assignee_id_changed?
if
merge_request
.
assignee_id_changed?
recipients_ids
=
merge_request
.
assignee_id_was
,
merge_request
.
assignee_id
recipients_ids
=
merge_request
.
assignee_id_was
,
merge_request
.
assignee_id
recipients_ids
.
delete
current_user
.
id
recipients_ids
.
delete
current_user
.
id
User
.
find
(
recipients_ids
).
each
do
|
user
|
User
.
find
(
recipients_ids
).
each
do
|
user
|
Notify
.
changed_merge_request_email
(
user
,
merge_request
).
deliver
Notify
.
changed_merge_request_email
(
user
,
merge_request
).
deliver
end
end
end
end
end
def
changed_issue
(
issue
)
if
merge_request
.
closed_changed?
if
issue
.
assignee_id_changed?
note
=
Note
.
new
(
:noteable
=>
merge_request
,
:project
=>
merge_request
.
project
)
recipients_ids
=
issue
.
assignee_id_was
,
issue
.
assignee_id
note
.
author
=
current_user
recipients_ids
.
delete
current_user
.
id
note
.
note
=
"_Status changed to
#{
merge_request
.
closed
?
'closed'
:
'reopened'
}
_"
note
.
save
()
end
end
User
.
find
(
recipients_ids
).
each
do
|
user
|
def
changed_issue
(
issue
)
Notify
.
changed_issue_email
(
user
,
issue
).
deliver
if
issue
.
assignee_id_changed?
en
d
recipients_ids
=
issue
.
assignee_id_was
,
issue
.
assignee_i
d
en
d
recipients_ids
.
delete
current_user
.
i
d
if
issue
.
closed_changed?
User
.
find
(
recipients_ids
).
each
do
|
user
|
note
=
Note
.
new
(
:noteable
=>
issue
,
:project
=>
issue
.
project
)
Notify
.
changed_issue_email
(
user
,
issue
).
deliver
note
.
author
=
current_user
note
.
note
=
"_Status changed to
#{
issue
.
closed
?
'closed'
:
'reopened'
}
_"
note
.
save
()
end
end
end
if
issue
.
closed_changed?
note
=
Note
.
new
(
:noteable
=>
issue
,
:project
=>
issue
.
project
)
note
.
author
=
current_user
note
.
note
=
"_Status changed to
#{
issue
.
closed
?
'closed'
:
'reopened'
}
_"
note
.
save
()
end
end
end
end
end
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