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
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
gitlab-ce
Commits
5b573130
Commit
5b573130
authored
Sep 29, 2015
by
Valery Sizov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Note the original location of a moved project when notifying users of the move
parent
2714d5b8
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
18 additions
and
14 deletions
+18
-14
CHANGELOG
CHANGELOG
+1
-0
app/mailers/emails/projects.rb
app/mailers/emails/projects.rb
+2
-1
app/models/namespace.rb
app/models/namespace.rb
+3
-1
app/models/project.rb
app/models/project.rb
+3
-3
app/services/notification_service.rb
app/services/notification_service.rb
+2
-2
app/services/projects/transfer_service.rb
app/services/projects/transfer_service.rb
+1
-1
app/views/notify/project_was_moved_email.html.haml
app/views/notify/project_was_moved_email.html.haml
+1
-1
app/views/notify/project_was_moved_email.text.erb
app/views/notify/project_was_moved_email.text.erb
+1
-1
spec/mailers/notify_spec.rb
spec/mailers/notify_spec.rb
+1
-1
spec/services/notification_service_spec.rb
spec/services/notification_service_spec.rb
+3
-3
No files found.
CHANGELOG
View file @
5b573130
...
@@ -18,6 +18,7 @@ v 8.1.0 (unreleased)
...
@@ -18,6 +18,7 @@ v 8.1.0 (unreleased)
- Move CI triggers page to project settings area
- Move CI triggers page to project settings area
- Move CI project settings page to CE project settings area
- Move CI project settings page to CE project settings area
- Fix bug when removed file was not appearing in merge request diff
- Fix bug when removed file was not appearing in merge request diff
- Note the original location of a moved project when notifying users of the move
v 8.0.3
v 8.0.3
- Fix URL shown in Slack notifications
- Fix URL shown in Slack notifications
...
...
app/mailers/emails/projects.rb
View file @
5b573130
...
@@ -50,10 +50,11 @@ module Emails
...
@@ -50,10 +50,11 @@ module Emails
subject:
subject
(
"Invitation declined"
))
subject:
subject
(
"Invitation declined"
))
end
end
def
project_was_moved_email
(
project_id
,
user_id
)
def
project_was_moved_email
(
project_id
,
user_id
,
old_path_with_namespace
)
@current_user
=
@user
=
User
.
find
user_id
@current_user
=
@user
=
User
.
find
user_id
@project
=
Project
.
find
project_id
@project
=
Project
.
find
project_id
@target_url
=
namespace_project_url
(
@project
.
namespace
,
@project
)
@target_url
=
namespace_project_url
(
@project
.
namespace
,
@project
)
@old_path_with_namespace
=
old_path_with_namespace
mail
(
to:
@user
.
notification_email
,
mail
(
to:
@user
.
notification_email
,
subject:
subject
(
"Project was moved"
))
subject:
subject
(
"Project was moved"
))
end
end
...
...
app/models/namespace.rb
View file @
5b573130
...
@@ -137,7 +137,9 @@ class Namespace < ActiveRecord::Base
...
@@ -137,7 +137,9 @@ class Namespace < ActiveRecord::Base
end
end
def
send_update_instructions
def
send_update_instructions
projects
.
each
(
&
:send_move_instructions
)
projects
.
each
do
|
project
|
project
.
send_move_instructions
(
"
#{
path_was
}
/
#{
project
.
path
}
"
)
end
end
end
def
kind
def
kind
...
...
app/models/project.rb
View file @
5b573130
...
@@ -481,8 +481,8 @@ class Project < ActiveRecord::Base
...
@@ -481,8 +481,8 @@ class Project < ActiveRecord::Base
end
end
end
end
def
send_move_instructions
def
send_move_instructions
(
old_path_with_namespace
)
NotificationService
.
new
.
project_was_moved
(
self
)
NotificationService
.
new
.
project_was_moved
(
self
,
old_path_with_namespace
)
end
end
def
owner
def
owner
...
@@ -624,7 +624,7 @@ class Project < ActiveRecord::Base
...
@@ -624,7 +624,7 @@ class Project < ActiveRecord::Base
# So we basically we mute exceptions in next actions
# So we basically we mute exceptions in next actions
begin
begin
gitlab_shell
.
mv_repository
(
"
#{
old_path_with_namespace
}
.wiki"
,
"
#{
new_path_with_namespace
}
.wiki"
)
gitlab_shell
.
mv_repository
(
"
#{
old_path_with_namespace
}
.wiki"
,
"
#{
new_path_with_namespace
}
.wiki"
)
send_move_instructions
send_move_instructions
(
old_path_with_namespace
)
reset_events_cache
reset_events_cache
rescue
rescue
# Returning false does not rollback after_* transaction but gives
# Returning false does not rollback after_* transaction but gives
...
...
app/services/notification_service.rb
View file @
5b573130
...
@@ -183,12 +183,12 @@ class NotificationService
...
@@ -183,12 +183,12 @@ class NotificationService
mailer
.
group_access_granted_email
(
group_member
.
id
)
mailer
.
group_access_granted_email
(
group_member
.
id
)
end
end
def
project_was_moved
(
project
)
def
project_was_moved
(
project
,
old_path_with_namespace
)
recipients
=
project
.
team
.
members
recipients
=
project
.
team
.
members
recipients
=
reject_muted_users
(
recipients
,
project
)
recipients
=
reject_muted_users
(
recipients
,
project
)
recipients
.
each
do
|
recipient
|
recipients
.
each
do
|
recipient
|
mailer
.
project_was_moved_email
(
project
.
id
,
recipient
.
id
)
mailer
.
project_was_moved_email
(
project
.
id
,
recipient
.
id
,
old_path_with_namespace
)
end
end
end
end
...
...
app/services/projects/transfer_service.rb
View file @
5b573130
...
@@ -38,7 +38,7 @@ module Projects
...
@@ -38,7 +38,7 @@ module Projects
project
.
save!
project
.
save!
# Notifications
# Notifications
project
.
send_move_instructions
project
.
send_move_instructions
(
old_path
)
# Move main repository
# Move main repository
unless
gitlab_shell
.
mv_repository
(
old_path
,
new_path
)
unless
gitlab_shell
.
mv_repository
(
old_path
,
new_path
)
...
...
app/views/notify/project_was_moved_email.html.haml
View file @
5b573130
%p
%p
Project was moved to another location
Project
#{
@old_path_with_namespace
}
was moved to another location
%p
%p
The project is now located under
The project is now located under
=
link_to
namespace_project_url
(
@project
.
namespace
,
@project
)
do
=
link_to
namespace_project_url
(
@project
.
namespace
,
@project
)
do
...
...
app/views/notify/project_was_moved_email.text.erb
View file @
5b573130
Project was moved to another location
Project
#{@old_path_with_namespace}
was moved to another location
The project is now located under
The project is now located under
<%=
namespace_project_url
(
@project
.
namespace
,
@project
)
%>
<%=
namespace_project_url
(
@project
.
namespace
,
@project
)
%>
...
...
spec/mailers/notify_spec.rb
View file @
5b573130
...
@@ -399,7 +399,7 @@ describe Notify do
...
@@ -399,7 +399,7 @@ describe Notify do
describe
'project was moved'
do
describe
'project was moved'
do
let
(
:project
)
{
create
(
:project
)
}
let
(
:project
)
{
create
(
:project
)
}
let
(
:user
)
{
create
(
:user
)
}
let
(
:user
)
{
create
(
:user
)
}
subject
{
Notify
.
project_was_moved_email
(
project
.
id
,
user
.
id
)
}
subject
{
Notify
.
project_was_moved_email
(
project
.
id
,
user
.
id
,
"gitlab/gitlab"
)
}
it_behaves_like
'an email sent from GitLab'
it_behaves_like
'an email sent from GitLab'
...
...
spec/services/notification_service_spec.rb
View file @
5b573130
...
@@ -427,15 +427,15 @@ describe NotificationService do
...
@@ -427,15 +427,15 @@ describe NotificationService do
should_email
(
@u_watcher
.
id
)
should_email
(
@u_watcher
.
id
)
should_email
(
@u_participating
.
id
)
should_email
(
@u_participating
.
id
)
should_not_email
(
@u_disabled
.
id
)
should_not_email
(
@u_disabled
.
id
)
notification
.
project_was_moved
(
project
)
notification
.
project_was_moved
(
project
,
"gitlab/gitlab"
)
end
end
def
should_email
(
user_id
)
def
should_email
(
user_id
)
expect
(
Notify
).
to
receive
(
:project_was_moved_email
).
with
(
project
.
id
,
user_id
)
expect
(
Notify
).
to
receive
(
:project_was_moved_email
).
with
(
project
.
id
,
user_id
,
"gitlab/gitlab"
)
end
end
def
should_not_email
(
user_id
)
def
should_not_email
(
user_id
)
expect
(
Notify
).
not_to
receive
(
:project_was_moved_email
).
with
(
project
.
id
,
user_id
)
expect
(
Notify
).
not_to
receive
(
:project_was_moved_email
).
with
(
project
.
id
,
user_id
,
"gitlab/gitlab"
)
end
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