Skip to content
Snippets Groups Projects
Commit 75dd7042 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Send update instructions after project namespace id changed or namespace path changed

parent d188adfd
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -102,6 +102,12 @@ class Notify < ActionMailer::Base
end
 
 
def project_was_moved_email(user_project_id)
@users_project = UsersProject.find user_project_id
@project = @users_project.project
mail(to: @users_project.user.email,
subject: subject("project was moved"))
end
 
#
# User
Loading
Loading
Loading
Loading
@@ -59,7 +59,10 @@ class Namespace < ActiveRecord::Base
if File.exists?(new_path)
raise "Already exists"
end
system("mv #{old_path} #{new_path}")
if system("mv #{old_path} #{new_path}")
send_update_instructions
end
end
end
 
Loading
Loading
@@ -67,4 +70,8 @@ class Namespace < ActiveRecord::Base
dir_path = File.join(Gitlab.config.gitolite.repos_path, path)
system("rm -rf #{dir_path}")
end
def send_update_instructions
projects.each(&:send_move_instructions)
end
end
Loading
Loading
@@ -259,4 +259,10 @@ class Project < ActiveRecord::Base
merge_requests
end
end
def send_move_instructions
self.users_projects.each do |member|
Notify.project_was_moved_email(member.id).deliver
end
end
end
Loading
Loading
@@ -3,7 +3,8 @@ class ProjectObserver < ActiveRecord::Observer
project.update_repository
end
 
def after_save(project)
def after_update(project)
project.send_move_instructions if project.namespace_id_changed?
end
 
def after_destroy(project)
Loading
Loading
%td.content{align: "left", style: "font-family: Helvetica, Arial, sans-serif; padding: 20px 0 0;", valign: "top", width: "600"}
%table{border: "0", cellpadding: "0", cellspacing: "0", style: "color: #555; font: normal 11px Helvetica, Arial, sans-serif; margin: 0; padding: 0;", width: "600"}
%tr
%td{width: "21"}
%td
%h3
= "Project was moved in another location"
%td{width: "21"}
%tr
%td{width: "21"}
%td
%p
Project is now accessible via next link
= link_to project_url(@project) do
= @project.name_with_namespace
%p
You may want to update your local repository with new remote:
%br
%table{border: "0", cellpadding: "0", cellspacing: "0", width: "558"}
%tr
%td{valign: "top"}
%p{ style: "background:#f5f5f5; padding:10px; border:1px solid #ddd" }
git remote set-url origin #{@project.ssh_url_to_repo}
%br
%td{ width: "21"}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment