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,15 +46,6 @@ module Projects | ||
| 46 | 46 | ||
| 47 | @project.creator = current_user | 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 | if @project.save | 49 | if @project.save |
| 59 | @project.discover_default_branch | 50 | @project.discover_default_branch |
| 60 | 51 |
app/observers/project_observer.rb
| @@ -14,6 +14,12 @@ class ProjectObserver < BaseObserver | @@ -14,6 +14,12 @@ class ProjectObserver < BaseObserver | ||
| 14 | 14 | ||
| 15 | log_info("#{project.owner.name} created a new project \"#{project.name_with_namespace}\"") | 15 | log_info("#{project.owner.name} created a new project \"#{project.name_with_namespace}\"") |
| 16 | end | 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 | end | 23 | end |
| 18 | 24 | ||
| 19 | def after_update(project) | 25 | def after_update(project) |
spec/observers/users_project_observer_spec.rb
| @@ -65,4 +65,27 @@ describe UsersProjectObserver do | @@ -65,4 +65,27 @@ describe UsersProjectObserver do | ||
| 65 | @users_project.destroy | 65 | @users_project.destroy |
| 66 | end | 66 | end |
| 67 | end | 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 | end | 91 | end |