diff options
author | Douwe Maan <douwe@selenight.nl> | 2016-03-21 00:42:30 +0100 |
---|---|---|
committer | Douwe Maan <douwe@selenight.nl> | 2016-03-21 00:42:30 +0100 |
commit | b689e2c0e0d0ad4303d99150c843ef914f1fd516 (patch) | |
tree | d3466bc3c54201cce6b683f1b4c2c311eb1c5c2a /app/models | |
parent | 45e8650c4f987f0a25d829bf8ac189b023f1eaa3 (diff) | |
download | gitlab-ce-b689e2c0e0d0ad4303d99150c843ef914f1fd516.tar.gz |
Fix spec
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/project.rb | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/app/models/project.rb b/app/models/project.rb index acea89c1526..4d23cc8de40 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -198,7 +198,7 @@ class Project < ActiveRecord::Base if: ->(project) { project.avatar.present? && project.avatar_changed? } validates :avatar, file_size: { maximum: 200.kilobytes.to_i } validate :visibility_level_allowed_by_group - validate :visibility_level_allowed_as_fork, on: :update + validate :visibility_level_allowed_as_fork add_authentication_token_field :runners_token before_save :ensure_runners_token @@ -974,7 +974,12 @@ class Project < ActiveRecord::Base def visibility_level_allowed_as_fork?(level = self.visibility_level) return true unless forked? - level <= forked_from_project.visibility_level + # self.forked_from_project will be nil before the project is saved, so + # we need to go through the relation + original_project = forked_project_link.forked_from_project + return true unless original_project + + level <= original_project.visibility_level end def visibility_level_allowed_by_group?(level = self.visibility_level) |