summaryrefslogtreecommitdiff
path: root/app/models/project.rb
diff options
context:
space:
mode:
authorTomasz Maczukin <tomasz@maczukin.pl>2015-11-20 00:13:56 +0100
committerTomasz Maczukin <tomasz@maczukin.pl>2015-11-20 00:13:56 +0100
commit1144b70ab624ee1c1e7f2de0c92de021a7b5ea8e (patch)
treeb5003704b9f44b1aa5e1d4db44ea607fb5238bfd /app/models/project.rb
parent945e4293cb8f745b2e1a1aebdcf4df3eeba338cc (diff)
downloadgitlab-ce-1144b70ab624ee1c1e7f2de0c92de021a7b5ea8e.tar.gz
Change update_forks_visibility_level into after_update hook in Project model
Diffstat (limited to 'app/models/project.rb')
-rw-r--r--app/models/project.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index 2562c441abe..b8495c6cd4f 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -61,6 +61,19 @@ class Project < ActiveRecord::Base
update_column(:last_activity_at, self.created_at)
end
+ # update visibility_levet of forks
+ after_update :update_forks_visibility_level
+ def update_forks_visibility_level
+ return unless visibility_level < visibility_level_was
+
+ forks.each do |forked_project|
+ if forked_project.visibility_level > visibility_level
+ forked_project.visibility_level = visibility_level
+ forked_project.save!
+ end
+ end
+ end
+
ActsAsTaggableOn.strict_case_match = true
acts_as_taggable_on :tags