Commit 9d5bb5a79248861a2bd6439ceb7b5ccaeb5fa068
1 parent
af1a3391
Exists in
master
and in
4 other branches
Brings this fix inline with updates to master
Change-Id: Ia50c3ac043b4c927ca59cbbdc2bba42f73e550e4
Showing
3 changed files
with
29 additions
and
9 deletions
Show diff stats
app/contexts/projects/create_context.rb
| ... | ... | @@ -46,15 +46,6 @@ module Projects |
| 46 | 46 | |
| 47 | 47 | @project.creator = current_user |
| 48 | 48 | |
| 49 | - if @project.valid? && @project.wiki_enabled? | |
| 50 | - begin | |
| 51 | - #force the creation of a wiki, | |
| 52 | - GollumWiki.new(@project, current_user).wiki | |
| 53 | - rescue => exception | |
| 54 | - @project.errors.add(:wiki_enabled, 'cannot create wiki') | |
| 55 | - end | |
| 56 | - end | |
| 57 | - | |
| 58 | 49 | if @project.save |
| 59 | 50 | @project.discover_default_branch |
| 60 | 51 | ... | ... |
app/observers/project_observer.rb
| ... | ... | @@ -14,6 +14,12 @@ class ProjectObserver < BaseObserver |
| 14 | 14 | |
| 15 | 15 | log_info("#{project.owner.name} created a new project \"#{project.name_with_namespace}\"") |
| 16 | 16 | end |
| 17 | + | |
| 18 | + if project.wiki_enabled? | |
| 19 | + #force the creation of a wiki, | |
| 20 | + GollumWiki.new(project, project.owner).wiki | |
| 21 | + end | |
| 22 | + | |
| 17 | 23 | end |
| 18 | 24 | |
| 19 | 25 | def after_update(project) | ... | ... |
spec/observers/users_project_observer_spec.rb
| ... | ... | @@ -65,4 +65,27 @@ describe UsersProjectObserver do |
| 65 | 65 | @users_project.destroy |
| 66 | 66 | end |
| 67 | 67 | end |
| 68 | + | |
| 69 | + describe "#after_create" do | |
| 70 | + context 'wiki_enabled creates repository directory' do | |
| 71 | + context 'wiki_enabled true creates wiki repository directory' do | |
| 72 | + before do | |
| 73 | + @project = create(:project, wiki_enabled:true) | |
| 74 | + @path = GollumWiki.new(@project, user).send(:path_to_repo) | |
| 75 | + end | |
| 76 | + after do | |
| 77 | + FileUtils.rm_rf(@path) | |
| 78 | + end | |
| 79 | + it { File.exists?(@path).should be_true } | |
| 80 | + end | |
| 81 | + | |
| 82 | + context 'wiki_enabled false does not create wiki repository directory' do | |
| 83 | + before do | |
| 84 | + @project = create(:project, wiki_enabled:false) | |
| 85 | + @path = GollumWiki.new(@project, user).send(:path_to_repo) | |
| 86 | + end | |
| 87 | + it { File.exists?(@path).should be_false } | |
| 88 | + end | |
| 89 | + end | |
| 90 | + end | |
| 68 | 91 | end | ... | ... |