Make ProjectWiki touch Project#last_activity_at after wiki actions
Closes #3026
This commit is contained in:
		
							parent
							
								
									43d5eca084
								
							
						
					
					
						commit
						ccb0c40c54
					
				| 
						 | 
					@ -86,6 +86,8 @@ class ProjectWiki
 | 
				
			||||||
    commit = commit_details(:created, message, title)
 | 
					    commit = commit_details(:created, message, title)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    wiki.write_page(title, format, content, commit)
 | 
					    wiki.write_page(title, format, content, commit)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    update_project_activity
 | 
				
			||||||
  rescue Gollum::DuplicatePageError => e
 | 
					  rescue Gollum::DuplicatePageError => e
 | 
				
			||||||
    @error_message = "Duplicate page: #{e.message}"
 | 
					    @error_message = "Duplicate page: #{e.message}"
 | 
				
			||||||
    return false
 | 
					    return false
 | 
				
			||||||
| 
						 | 
					@ -95,10 +97,14 @@ class ProjectWiki
 | 
				
			||||||
    commit = commit_details(:updated, message, page.title)
 | 
					    commit = commit_details(:updated, message, page.title)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    wiki.update_page(page, page.name, format, content, commit)
 | 
					    wiki.update_page(page, page.name, format, content, commit)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    update_project_activity
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def delete_page(page, message = nil)
 | 
					  def delete_page(page, message = nil)
 | 
				
			||||||
    wiki.delete_page(page, commit_details(:deleted, message, page.title))
 | 
					    wiki.delete_page(page, commit_details(:deleted, message, page.title))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    update_project_activity
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def page_title_and_dir(title)
 | 
					  def page_title_and_dir(title)
 | 
				
			||||||
| 
						 | 
					@ -146,4 +152,8 @@ class ProjectWiki
 | 
				
			||||||
  def path_to_repo
 | 
					  def path_to_repo
 | 
				
			||||||
    @path_to_repo ||= File.join(Gitlab.config.gitlab_shell.repos_path, "#{path_with_namespace}.git")
 | 
					    @path_to_repo ||= File.join(Gitlab.config.gitlab_shell.repos_path, "#{path_with_namespace}.git")
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def update_project_activity
 | 
				
			||||||
 | 
					    @project.touch(:last_activity_at)
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -184,6 +184,12 @@ describe ProjectWiki do
 | 
				
			||||||
      subject.create_page("test page", "some content", :markdown, "commit message")
 | 
					      subject.create_page("test page", "some content", :markdown, "commit message")
 | 
				
			||||||
      expect(subject.pages.first.page.version.message).to eq("commit message")
 | 
					      expect(subject.pages.first.page.version.message).to eq("commit message")
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    it 'updates project activity' do
 | 
				
			||||||
 | 
					      expect(subject).to receive(:update_project_activity)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      subject.create_page('Test Page', 'This is content')
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  describe "#update_page" do
 | 
					  describe "#update_page" do
 | 
				
			||||||
| 
						 | 
					@ -205,6 +211,12 @@ describe ProjectWiki do
 | 
				
			||||||
    it "sets the correct commit message" do
 | 
					    it "sets the correct commit message" do
 | 
				
			||||||
      expect(@page.version.message).to eq("updated page")
 | 
					      expect(@page.version.message).to eq("updated page")
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    it 'updates project activity' do
 | 
				
			||||||
 | 
					      expect(subject).to receive(:update_project_activity)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      subject.update_page(@gollum_page, 'Yet more content', :markdown, 'Updated page again')
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  describe "#delete_page" do
 | 
					  describe "#delete_page" do
 | 
				
			||||||
| 
						 | 
					@ -217,6 +229,12 @@ describe ProjectWiki do
 | 
				
			||||||
      subject.delete_page(@page)
 | 
					      subject.delete_page(@page)
 | 
				
			||||||
      expect(subject.pages.count).to eq(0)
 | 
					      expect(subject.pages.count).to eq(0)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    it 'updates project activity' do
 | 
				
			||||||
 | 
					      expect(subject).to receive(:update_project_activity)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      subject.delete_page(@page)
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  private
 | 
					  private
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue