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 |