From d78b6ce4cc01ac5da52246c149f57de456b904ae Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Tue, 5 Nov 2013 16:41:29 +0200 Subject: New feature: Ability to leave project Signed-off-by: Dmitriy Zaporozhets --- app/models/project.rb | 6 +++++- app/models/user.rb | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'app/models') diff --git a/app/models/project.rb b/app/models/project.rb index 6b8e54d5b22..b5dc2490359 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -317,7 +317,7 @@ class Project < ActiveRecord::Base mrs = self.merge_requests.opened.by_branch(branch_name).all # Update code for merge requests between project and project fork mrs += self.fork_merge_requests.opened.by_branch(branch_name).all - + mrs.each { |merge_request| merge_request.reload_code; merge_request.mark_as_unchecked } # Close merge requests @@ -447,4 +447,8 @@ class Project < ActiveRecord::Base order('id DESC').limit(100). update_all(updated_at: Time.now) end + + def project_member(user) + users_projects.where(user_id: user).first + end end diff --git a/app/models/user.rb b/app/models/user.rb index df14cf34e85..7ef3b3f9e1a 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -394,4 +394,9 @@ class User < ActiveRecord::Base self end + + def can_leave_project?(project) + project.namespace != namespace && + project.project_member(self) + end end -- cgit v1.2.1