Commit 7f50c7f62c083ef5599b2ffe24723683c246bfb0

Authored by Dmitriy Zaporozhets
1 parent e603da73

Move project creation to service

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
app/observers/project_observer.rb
1 class ProjectObserver < BaseObserver 1 class ProjectObserver < BaseObserver
2 def after_create(project) 2 def after_create(project)
3 - project.update_column(:last_activity_at, project.created_at)  
4 -  
5 - return true if project.forked?  
6 -  
7 - if project.import?  
8 - RepositoryImportWorker.perform_in(5.seconds, project.id)  
9 - else  
10 - GitlabShellWorker.perform_async(  
11 - :add_repository,  
12 - project.path_with_namespace  
13 - )  
14 -  
15 - log_info("#{project.owner.name} created a new project \"#{project.name_with_namespace}\"")  
16 - end  
17 -  
18 - if project.wiki_enabled?  
19 - begin  
20 - # force the creation of a wiki,  
21 - GollumWiki.new(project, project.owner).wiki  
22 - rescue GollumWiki::CouldNotCreateWikiError => ex  
23 - # Prevent project observer crash  
24 - # if failed to create wiki  
25 - nil  
26 - end  
27 - end 3 + log_info("#{project.owner.name} created a new project \"#{project.name_with_namespace}\"")
28 end 4 end
29 5
30 def after_update(project) 6 def after_update(project)
app/services/projects/create_service.rb
@@ -58,6 +58,29 @@ module Projects @@ -58,6 +58,29 @@ module Projects
58 user: current_user 58 user: current_user
59 ) 59 )
60 end 60 end
  61 +
  62 + @project.update_column(:last_activity_at, @project.created_at)
  63 +
  64 + if @project.import?
  65 + RepositoryImportWorker.perform_in(5.seconds, @project.id)
  66 + else
  67 + GitlabShellWorker.perform_async(
  68 + :add_repository,
  69 + @project.path_with_namespace
  70 + )
  71 +
  72 + end
  73 +
  74 + if @project.wiki_enabled?
  75 + begin
  76 + # force the creation of a wiki,
  77 + GollumWiki.new(@project, @project.owner).wiki
  78 + rescue GollumWiki::CouldNotCreateWikiError => ex
  79 + # Prevent project observer crash
  80 + # if failed to create wiki
  81 + nil
  82 + end
  83 + end
61 end 84 end
62 85
63 @project 86 @project