Wiki: history
This commit is contained in:
parent
b565cd1972
commit
85974948e7
7 changed files with 41 additions and 4 deletions
|
@ -4,7 +4,11 @@ class WikisController < ApplicationController
|
||||||
layout "project"
|
layout "project"
|
||||||
|
|
||||||
def show
|
def show
|
||||||
@wiki = @project.wikis.where(:slug => params[:id]).order("created_at").last
|
if params[:old_page_id]
|
||||||
|
@wiki = @project.wikis.find(params[:old_page_id])
|
||||||
|
else
|
||||||
|
@wiki = @project.wikis.where(:slug => params[:id]).order("created_at").last
|
||||||
|
end
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if @wiki
|
if @wiki
|
||||||
format.html
|
format.html
|
||||||
|
@ -22,6 +26,7 @@ class WikisController < ApplicationController
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@wiki = @project.wikis.new(params[:wiki])
|
@wiki = @project.wikis.new(params[:wiki])
|
||||||
|
@wiki.user = current_user
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if @wiki.save
|
if @wiki.save
|
||||||
|
@ -32,6 +37,10 @@ class WikisController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def history
|
||||||
|
@wikis = @project.wikis.where(:slug => params[:id]).order("created_at")
|
||||||
|
end
|
||||||
|
|
||||||
def destroy
|
def destroy
|
||||||
@wiki = @project.wikis.find(params[:id])
|
@wiki = @project.wikis.find(params[:id])
|
||||||
@wiki.destroy
|
@wiki.destroy
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
class Wiki < ActiveRecord::Base
|
class Wiki < ActiveRecord::Base
|
||||||
belongs_to :project
|
belongs_to :project
|
||||||
|
belongs_to :user
|
||||||
|
|
||||||
validates :content, :title, :presence => true
|
validates :content, :title, :user_id, :presence => true
|
||||||
validates :title, :length => 1..250
|
validates :title, :length => 1..250
|
||||||
|
|
||||||
before_update :set_slug
|
before_update :set_slug
|
||||||
|
|
14
app/views/wikis/history.html.haml
Normal file
14
app/views/wikis/history.html.haml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
%h2 Versions
|
||||||
|
%table
|
||||||
|
%thead
|
||||||
|
%tr
|
||||||
|
%th #
|
||||||
|
%th last edit
|
||||||
|
%th created by
|
||||||
|
%tbody
|
||||||
|
- @wikis.each_with_index do |wiki_page, i|
|
||||||
|
%tr
|
||||||
|
%td= i + 1
|
||||||
|
%td= link_to wiki_page.created_at.to_s(:short), project_wiki_path(@project, wiki_page, :old_page_id => wiki_page.id)
|
||||||
|
%td= wiki_page.user.name
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
%h3
|
%h3
|
||||||
= @wiki.title
|
= @wiki.title
|
||||||
- if can? current_user, :write_wiki, @project
|
- if can? current_user, :write_wiki, @project
|
||||||
|
= link_to history_project_wiki_path(@project, @wiki), :class => "right btn small" do
|
||||||
|
History
|
||||||
= link_to edit_project_wiki_path(@project, @wiki), :class => "right btn small" do
|
= link_to edit_project_wiki_path(@project, @wiki), :class => "right btn small" do
|
||||||
Edit
|
Edit
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,11 @@ Gitlab::Application.routes.draw do
|
||||||
get "files"
|
get "files"
|
||||||
end
|
end
|
||||||
|
|
||||||
resources :wikis, :only => [:show, :edit, :destroy, :create]
|
resources :wikis, :only => [:show, :edit, :destroy, :create] do
|
||||||
|
member do
|
||||||
|
get "history"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
resource :repository do
|
resource :repository do
|
||||||
member do
|
member do
|
||||||
|
|
6
db/migrate/20120219193300_add_user_to_wiki.rb
Normal file
6
db/migrate/20120219193300_add_user_to_wiki.rb
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
class AddUserToWiki < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :wikis, :user_id, :integer
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
|
@ -11,7 +11,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended to check this file into your version control system.
|
# It's strongly recommended to check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(:version => 20120219140810) do
|
ActiveRecord::Schema.define(:version => 20120219193300) do
|
||||||
|
|
||||||
create_table "issues", :force => true do |t|
|
create_table "issues", :force => true do |t|
|
||||||
t.string "title"
|
t.string "title"
|
||||||
|
@ -166,6 +166,7 @@ ActiveRecord::Schema.define(:version => 20120219140810) do
|
||||||
t.datetime "created_at", :null => false
|
t.datetime "created_at", :null => false
|
||||||
t.datetime "updated_at", :null => false
|
t.datetime "updated_at", :null => false
|
||||||
t.string "slug"
|
t.string "slug"
|
||||||
|
t.integer "user_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue