summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/controllers/projects/wikis_controller.rb48
-rw-r--r--app/models/project_wiki.rb (renamed from app/models/gollum_wiki.rb)2
-rw-r--r--app/models/wiki_page.rb7
-rw-r--r--app/services/projects/create_service.rb4
-rw-r--r--app/views/projects/wikis/_form.html.haml16
-rw-r--r--app/views/projects/wikis/_main_links.html.haml6
-rw-r--r--app/views/projects/wikis/edit.html.haml6
-rw-r--r--app/views/projects/wikis/git_access.html.haml8
-rw-r--r--app/views/projects/wikis/history.html.haml8
-rw-r--r--app/views/projects/wikis/show.html.haml10
-rw-r--r--features/steps/project/wiki.rb6
-rw-r--r--lib/backup/repository.rb4
-rw-r--r--lib/redcarpet/render/gitlab_html.rb4
-rw-r--r--spec/models/project_wiki_spec.rb (renamed from spec/models/gollum_wiki_spec.rb)10
-rw-r--r--spec/models/wiki_page_spec.rb2
-rw-r--r--spec/services/projects/create_service_spec.rb4
-rw-r--r--spec/support/test_env.rb2
17 files changed, 76 insertions, 71 deletions
diff --git a/app/controllers/projects/wikis_controller.rb b/app/controllers/projects/wikis_controller.rb
index 797f3d3dd41..9444d5a6b77 100644
--- a/app/controllers/projects/wikis_controller.rb
+++ b/app/controllers/projects/wikis_controller.rb
@@ -1,62 +1,67 @@
+require 'project_wiki'
+
class Projects::WikisController < Projects::ApplicationController
before_filter :authorize_read_wiki!
before_filter :authorize_write_wiki!, only: [:edit, :create, :history]
before_filter :authorize_admin_wiki!, only: :destroy
- before_filter :load_gollum_wiki
+ before_filter :load_project_wiki
def pages
- @wiki_pages = @gollum_wiki.pages
+ @wiki_pages = @project_wiki.pages
end
def show
- @wiki = @gollum_wiki.find_page(params[:id], params[:version_id])
+ @page = @project_wiki.find_page(params[:id], params[:version_id])
- if @wiki
+ if @page
render 'show'
else
return render('empty') unless can?(current_user, :write_wiki, @project)
- @wiki = WikiPage.new(@gollum_wiki)
- @wiki.title = params[:id]
+ @page = WikiPage.new(@project_wiki)
+ @page.title = params[:id]
render 'edit'
end
end
def edit
- @wiki = @gollum_wiki.find_page(params[:id])
+ @page = @project_wiki.find_page(params[:id])
end
def update
- @wiki = @gollum_wiki.find_page(params[:id])
+ @page = @project_wiki.find_page(params[:id])
return render('empty') unless can?(current_user, :write_wiki, @project)
- if @wiki.update(content, format, message)
- redirect_to [@project, @wiki], notice: 'Wiki was successfully updated.'
+ if @page.update(content, format, message)
+ redirect_to [@project, @page], notice: 'Wiki was successfully updated.'
else
render 'edit'
end
end
def create
- @wiki = WikiPage.new(@gollum_wiki)
+ @page = WikiPage.new(@project_wiki)
- if @wiki.create(wiki_params)
- redirect_to project_wiki_path(@project, @wiki), notice: 'Wiki was successfully updated.'
+ if @page.create(wiki_params)
+ redirect_to project_wiki_path(@project, @page), notice: 'Wiki was successfully updated.'
else
render action: "edit"
end
end
def history
- @wiki = @gollum_wiki.find_page(params[:id])
+ @page = @project_wiki.find_page(params[:id])
- redirect_to(project_wiki_path(@project, :home), notice: "Page not found") unless @wiki
+ unless @page
+ redirect_to(project_wiki_path(@project, :home), notice: "Page not found")
+ end
end
def destroy
- @wiki = @gollum_wiki.find_page(params[:id])
- @wiki.delete if @wiki
+ @page = @project_wiki.find_page(params[:id])
+ @page.delete if @page
+
redirect_to project_wiki_path(@project, :home), notice: "Page was successfully deleted"
end
@@ -65,12 +70,12 @@ class Projects::WikisController < Projects::ApplicationController
private
- def load_gollum_wiki
- @gollum_wiki = GollumWiki.new(@project, current_user)
+ def load_project_wiki
+ @project_wiki = ProjectWiki.new(@project, current_user)
# Call #wiki to make sure the Wiki Repo is initialized
- @gollum_wiki.wiki
- rescue GollumWiki::CouldNotCreateWikiError => ex
+ @project_wiki.wiki
+ rescue ProjectWiki::CouldNotCreateWikiError => ex
flash[:notice] = "Could not create Wiki Repository at this time. Please try again later."
redirect_to @project
return false
@@ -91,5 +96,4 @@ class Projects::WikisController < Projects::ApplicationController
def message
params[:wiki][:message]
end
-
end
diff --git a/app/models/gollum_wiki.rb b/app/models/project_wiki.rb
index 62c8b5145dd..163302a18f7 100644
--- a/app/models/gollum_wiki.rb
+++ b/app/models/project_wiki.rb
@@ -1,4 +1,4 @@
-class GollumWiki
+class ProjectWiki
include Gitlab::ShellAdapter
MARKUPS = {
diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb
index a7e6fea5ad0..431c1e33f55 100644
--- a/app/models/wiki_page.rb
+++ b/app/models/wiki_page.rb
@@ -19,7 +19,7 @@ class WikiPage
validates :title, presence: true
validates :content, presence: true
- # The Gitlab GollumWiki instance.
+ # The Gitlab ProjectWiki instance.
attr_reader :wiki
# The raw Gollum::Page instance.
@@ -118,7 +118,7 @@ class WikiPage
# :content - The raw markup content.
# :format - Optional symbol representing the
# content format. Can be any type
- # listed in the GollumWiki::MARKUPS
+ # listed in the ProjectWiki::MARKUPS
# Hash.
# :message - Optional commit message to set on
# the new page.
@@ -135,7 +135,7 @@ class WikiPage
#
# new_content - The raw markup content to replace the existing.
# format - Optional symbol representing the content format.
- # See GollumWiki::MARKUPS Hash for available formats.
+ # See ProjectWiki::MARKUPS Hash for available formats.
# message - Optional commit message to set on the new version.
#
# Returns the String SHA1 of the newly created page
@@ -181,5 +181,4 @@ class WikiPage
end
@persisted
end
-
end
diff --git a/app/services/projects/create_service.rb b/app/services/projects/create_service.rb
index 4d3d518a509..11b65256502 100644
--- a/app/services/projects/create_service.rb
+++ b/app/services/projects/create_service.rb
@@ -74,8 +74,8 @@ module Projects
if @project.wiki_enabled?
begin
# force the creation of a wiki,
- GollumWiki.new(@project, @project.owner).wiki
- rescue GollumWiki::CouldNotCreateWikiError => ex
+ ProjectWiki.new(@project, @project.owner).wiki
+ rescue ProjectWiki::CouldNotCreateWikiError => ex
# Prevent project observer crash
# if failed to create wiki
nil
diff --git a/app/views/projects/wikis/_form.html.haml b/app/views/projects/wikis/_form.html.haml
index 06d8660630d..c77ed3433d1 100644
--- a/app/views/projects/wikis/_form.html.haml
+++ b/app/views/projects/wikis/_form.html.haml
@@ -1,16 +1,16 @@
-= form_for [@project, @wiki], method: @wiki.persisted? ? :put : :post, html: { class: 'form-horizontal' } do |f|
- -if @wiki.errors.any?
+= form_for [@project, @page], method: @page.persisted? ? :put : :post, html: { class: 'form-horizontal' } do |f|
+ -if @page.errors.any?
#error_explanation
- %h2= "#{pluralize(@wiki.errors.count, "error")} prohibited this wiki from being saved:"
+ %h2= "#{pluralize(@page.errors.count, "error")} prohibited this wiki from being saved:"
%ul
- - @wiki.errors.full_messages.each do |msg|
+ - @page.errors.full_messages.each do |msg|
%li= msg
- = f.hidden_field :title, value: @wiki.title
+ = f.hidden_field :title, value: @page.title
.form-group
= f.label :format, class: 'control-label'
.col-sm-10
- = f.select :format, options_for_select(GollumWiki::MARKUPS, {selected: @wiki.format}), {}, class: "form-control"
+ = f.select :format, options_for_select(ProjectWiki::MARKUPS, {selected: @page.format}), {}, class: "form-control"
.row
.col-sm-2
@@ -31,9 +31,9 @@
.col-sm-10= f.text_field :message, class: 'form-control', rows: 18
.form-actions
- - if @wiki && @wiki.persisted?
+ - if @page && @page.persisted?
= f.submit 'Save changes', class: "btn-save btn"
- = link_to "Cancel", project_wiki_path(@project, @wiki), class: "btn btn-cancel"
+ = link_to "Cancel", project_wiki_path(@project, @page), class: "btn btn-cancel"
- else
= f.submit 'Create page', class: "btn-create btn"
= link_to "Cancel", project_wiki_path(@project, :home), class: "btn btn-cancel"
diff --git a/app/views/projects/wikis/_main_links.html.haml b/app/views/projects/wikis/_main_links.html.haml
index 5dd769dcfe1..68d70873231 100644
--- a/app/views/projects/wikis/_main_links.html.haml
+++ b/app/views/projects/wikis/_main_links.html.haml
@@ -1,8 +1,8 @@
%span.pull-right
- - if (@wiki && @wiki.persisted?)
- = link_to history_project_wiki_path(@project, @wiki), class: "btn btn-grouped" do
+ - if (@page && @page.persisted?)
+ = link_to history_project_wiki_path(@project, @page), class: "btn btn-grouped" do
Page History
- if can?(current_user, :write_wiki, @project)
- = link_to edit_project_wiki_path(@project, @wiki), class: "btn btn-grouped" do
+ = link_to edit_project_wiki_path(@project, @page), class: "btn btn-grouped" do
%i.icon-edit
Edit
diff --git a/app/views/projects/wikis/edit.html.haml b/app/views/projects/wikis/edit.html.haml
index 47b236083b3..49dd7b00ca4 100644
--- a/app/views/projects/wikis/edit.html.haml
+++ b/app/views/projects/wikis/edit.html.haml
@@ -3,11 +3,11 @@
= render 'main_links'
%h3.page-title
Editing -
- %span.light #{@wiki.title.titleize}
+ %span.light #{@page.title.titleize}
%hr
= render 'form'
.pull-right
- - if @wiki.persisted? && can?(current_user, :admin_wiki, @project)
- = link_to project_wiki_path(@project, @wiki), data: { confirm: "Are you sure you want to delete this page?"}, method: :delete, class: "btn btn-small btn-remove" do
+ - if @page.persisted? && can?(current_user, :admin_wiki, @project)
+ = link_to project_wiki_path(@project, @page), data: { confirm: "Are you sure you want to delete this page?"}, method: :delete, class: "btn btn-small btn-remove" do
Delete this page
diff --git a/app/views/projects/wikis/git_access.html.haml b/app/views/projects/wikis/git_access.html.haml
index b62c4975416..365edb524f4 100644
--- a/app/views/projects/wikis/git_access.html.haml
+++ b/app/views/projects/wikis/git_access.html.haml
@@ -3,10 +3,10 @@
.col-sm-6
%h3.page-title
Git access for
- %strong= @gollum_wiki.path_with_namespace
+ %strong= @project_wiki.path_with_namespace
.col-sm-6
- = render "shared/clone_panel", project: @gollum_wiki
+ = render "shared/clone_panel", project: @project_wiki
.git-empty
%fieldset
@@ -18,8 +18,8 @@
%legend Clone Your Wiki:
%pre.dark
:preserve
- git clone #{ content_tag(:span, default_url_to_repo(@gollum_wiki), class: 'clone')}
- cd #{@gollum_wiki.path}
+ git clone #{ content_tag(:span, default_url_to_repo(@project_wiki), class: 'clone')}
+ cd #{@project_wiki.path}
%legend Start Gollum And Edit Locally:
%pre.dark
diff --git a/app/views/projects/wikis/history.html.haml b/app/views/projects/wikis/history.html.haml
index 55efb624e23..7001bbd17c1 100644
--- a/app/views/projects/wikis/history.html.haml
+++ b/app/views/projects/wikis/history.html.haml
@@ -1,7 +1,7 @@
= render 'nav'
%h3.page-title
%span.light History for
- = link_to @wiki.title.titleize, project_wiki_path(@project, @wiki)
+ = link_to @page.title.titleize, project_wiki_path(@project, @page)
%table.table
%thead
@@ -12,11 +12,11 @@
%th Last updated
%th Format
%tbody
- - @wiki.versions.each do |version|
+ - @page.versions.each do |version|
- commit = version
%tr
%td
- = link_to project_wiki_path(@project, @wiki, version_id: commit.id) do
+ = link_to project_wiki_path(@project, @page, version_id: commit.id) do
= commit.short_id
%td
= commit_author_link(commit, avatar: true, size: 24)
@@ -26,4 +26,4 @@
#{time_ago_with_tooltip(version.date)}
%td
%strong
- = @wiki.page.wiki.page(@wiki.page.name, commit.id).try(:format)
+ = @page.page.wiki.page(@page.page.name, commit.id).try(:format)
diff --git a/app/views/projects/wikis/show.html.haml b/app/views/projects/wikis/show.html.haml
index f7d4fe42b57..024ef068d08 100644
--- a/app/views/projects/wikis/show.html.haml
+++ b/app/views/projects/wikis/show.html.haml
@@ -1,20 +1,20 @@
= render 'nav'
%h3.page-title
- = @wiki.title.titleize
+ = @page.title.titleize
= render 'main_links'
-- if @wiki.historical?
+- if @page.historical?
.warning_message
This is an old version of this page.
- You can view the #{link_to "most recent version", project_wiki_path(@project, @wiki)} or browse the #{link_to "history", history_project_wiki_path(@project, @wiki)}.
+ You can view the #{link_to "most recent version", project_wiki_path(@project, @page)} or browse the #{link_to "history", history_project_wiki_path(@project, @page)}.
%hr
.wiki-holder
.wiki
= preserve do
- = render_wiki_content(@wiki)
+ = render_wiki_content(@page)
%hr
.wiki-last-edit-by
- Last edited by #{commit_author_link(@wiki.commit, avatar: true, size: 16)} #{time_ago_with_tooltip(@wiki.commit.created_at)}
+ Last edited by #{commit_author_link(@page.commit, avatar: true, size: 16)} #{time_ago_with_tooltip(@page.commit.created_at)}
diff --git a/features/steps/project/wiki.rb b/features/steps/project/wiki.rb
index 6146599cc4a..65e7d094f2d 100644
--- a/features/steps/project/wiki.rb
+++ b/features/steps/project/wiki.rb
@@ -1,4 +1,4 @@
-class ProjectWiki < Spinach::FeatureSteps
+class Spinach::Features::ProjectWiki < Spinach::FeatureSteps
include SharedAuthentication
include SharedProject
include SharedNote
@@ -16,7 +16,7 @@ class ProjectWiki < Spinach::FeatureSteps
end
Given 'I create the Wiki Home page' do
- fill_in "Content", with: '[link test](test)'
+ fill_in "wiki_content", with: '[link test](test)'
click_on "Create page"
end
@@ -87,6 +87,6 @@ class ProjectWiki < Spinach::FeatureSteps
end
def wiki
- @gollum_wiki = GollumWiki.new(project, current_user)
+ @project_wiki = ProjectWiki.new(project, current_user)
end
end
diff --git a/lib/backup/repository.rb b/lib/backup/repository.rb
index 552f7eaa5ce..214d9824ee1 100644
--- a/lib/backup/repository.rb
+++ b/lib/backup/repository.rb
@@ -24,7 +24,7 @@ module Backup
puts "[FAILED]".red
end
- wiki = GollumWiki.new(project)
+ wiki = ProjectWiki.new(project)
if File.exists?(path_to_repo(wiki))
print " * #{wiki.path_with_namespace} ... "
@@ -59,7 +59,7 @@ module Backup
puts "[FAILED]".red
end
- wiki = GollumWiki.new(project)
+ wiki = ProjectWiki.new(project)
if File.exists?(path_to_bundle(wiki))
print " * #{wiki.path_with_namespace} ... "
diff --git a/lib/redcarpet/render/gitlab_html.rb b/lib/redcarpet/render/gitlab_html.rb
index 86d8b69b0ef..7d9428ff27d 100644
--- a/lib/redcarpet/render/gitlab_html.rb
+++ b/lib/redcarpet/render/gitlab_html.rb
@@ -60,6 +60,8 @@ class Redcarpet::Render::GitlabHTML < Redcarpet::Render::HTML
end
def is_wiki?
- @template.instance_variable_get("@wiki")
+ if @template.instance_variable_get("@project_wiki")
+ @template.instance_variable_get("@page")
+ end
end
end
diff --git a/spec/models/gollum_wiki_spec.rb b/spec/models/project_wiki_spec.rb
index 9b9d15b4ff4..32a82470e4f 100644
--- a/spec/models/gollum_wiki_spec.rb
+++ b/spec/models/project_wiki_spec.rb
@@ -1,6 +1,6 @@
require "spec_helper"
-describe GollumWiki do
+describe ProjectWiki do
def remove_temp_repo(path)
FileUtils.rm_rf path
@@ -23,7 +23,7 @@ describe GollumWiki do
let(:user) { project.owner }
let(:gitlab_shell) { Gitlab::Shell.new }
- subject { GollumWiki.new(project, user) }
+ subject { ProjectWiki.new(project, user) }
before do
create_temp_repo(subject.send(:path_to_repo))
@@ -68,15 +68,15 @@ describe GollumWiki do
end
it "creates a new wiki repo if one does not yet exist" do
- wiki = GollumWiki.new(project, user)
+ wiki = ProjectWiki.new(project, user)
wiki.create_page("index", "test content").should_not == false
FileUtils.rm_rf wiki.send(:path_to_repo)
end
it "raises CouldNotCreateWikiError if it can't create the wiki repository" do
- GollumWiki.any_instance.stub(:init_repo).and_return(false)
- expect { GollumWiki.new(project, user).wiki }.to raise_exception(GollumWiki::CouldNotCreateWikiError)
+ ProjectWiki.any_instance.stub(:init_repo).and_return(false)
+ expect { ProjectWiki.new(project, user).wiki }.to raise_exception(ProjectWiki::CouldNotCreateWikiError)
end
end
diff --git a/spec/models/wiki_page_spec.rb b/spec/models/wiki_page_spec.rb
index 1c70edf0d4d..2af164bd99b 100644
--- a/spec/models/wiki_page_spec.rb
+++ b/spec/models/wiki_page_spec.rb
@@ -22,7 +22,7 @@ describe WikiPage do
let(:project) { create(:project) }
let(:repository) { project.repository }
let(:user) { project.owner }
- let(:wiki) { GollumWiki.new(project, user) }
+ let(:wiki) { ProjectWiki.new(project, user) }
subject { WikiPage.new(wiki) }
diff --git a/spec/services/projects/create_service_spec.rb b/spec/services/projects/create_service_spec.rb
index f2a784df103..38aae452c3c 100644
--- a/spec/services/projects/create_service_spec.rb
+++ b/spec/services/projects/create_service_spec.rb
@@ -42,7 +42,7 @@ describe Projects::CreateService do
context 'wiki_enabled true creates wiki repository directory' do
before do
@project = create_project(@user, @opts)
- @path = GollumWiki.new(@project, @user).send(:path_to_repo)
+ @path = ProjectWiki.new(@project, @user).send(:path_to_repo)
end
it { File.exists?(@path).should be_true }
@@ -52,7 +52,7 @@ describe Projects::CreateService do
before do
@opts.merge!(wiki_enabled: false)
@project = create_project(@user, @opts)
- @path = GollumWiki.new(@project, @user).send(:path_to_repo)
+ @path = ProjectWiki.new(@project, @user).send(:path_to_repo)
end
it { File.exists?(@path).should be_false }
diff --git a/spec/support/test_env.rb b/spec/support/test_env.rb
index d237f7ad094..b1bb65a836e 100644
--- a/spec/support/test_env.rb
+++ b/spec/support/test_env.rb
@@ -52,7 +52,7 @@ module TestEnv
def setup_stubs()
# Use tmp dir for FS manipulations
repos_path = testing_path()
- GollumWiki.any_instance.stub(:init_repo) do |path|
+ ProjectWiki.any_instance.stub(:init_repo) do |path|
create_temp_repo(File.join(repos_path, "#{path}.git"))
end