diff --git a/app/controllers/wiki_controller.rb b/app/controllers/wiki_controller.rb index ccbd368..838e4cb 100644 --- a/app/controllers/wiki_controller.rb +++ b/app/controllers/wiki_controller.rb @@ -25,7 +25,7 @@ class WikiController < ApplicationController # after_filter :cache_sweep, only: [ :create, :update, :destroy, :move_up, # :move_down, :undelete ] - + before_filter :find_wiki, except: [:preview] before_filter :require_login, only: [:new, :create, :edit, :update, :destroy, :move_up, :move_down] @@ -164,7 +164,7 @@ class WikiController < ApplicationController @course = Course.from_param(params[:course_id]) if params[:id] - @wiki_page = WikiPage.from_param(params[:id]) + @wiki_page = WikiPage.from_param(@course, params[:id]) else @wiki_page = WikiPage.new(params[:wiki_page]) end diff --git a/app/models/course.rb b/app/models/course.rb index 80fe2d2..58d8ef4 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -88,6 +88,6 @@ class Course < ActiveRecord::Base end def self.from_param(param) - param.is_numeric? ? Course.find(param) : Course.find_by_short_name(param) + param.is_numeric? ? Course.find(param) : Course.find_by_short_name!(param) end end diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index 19a1bd3..0a90d51 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -79,11 +79,11 @@ class WikiPage < ActiveRecord::Base canonical_title || id end - def self.from_param(param) + def self.from_param(course, param) if param.is_numeric? - WikiPage.find!(param) + course.wiki_pages.find(param) else - WikiPage.find_by_canonical_title!(param) + course.wiki_pages.find_by_canonical_title!(param) end end