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 | ... | ... |