diff --git a/app/controllers/file_controller.rb b/app/controllers/file_controller.rb index edad959e..cb5994ad 100644 --- a/app/controllers/file_controller.rb +++ b/app/controllers/file_controller.rb @@ -18,8 +18,8 @@ class FileController < ApplicationController new_file = @web.wiki_files.create(params['file']) if new_file.valid? flash[:info] = "File '#{@file_name}' successfully uploaded" - WikiReference.pages_that_want_file(@web, @file_name).each do |page| - RevisionSweeper.expire_page(page) + WikiReference.pages_that_link_to_file(@web, @file_name).each do |page| + RevisionSweeper.expire_page(@web, page) end redirect_to(params['referring_page']) else diff --git a/app/controllers/revision_sweeper.rb b/app/controllers/revision_sweeper.rb index e603ed6d..606784e5 100644 --- a/app/controllers/revision_sweeper.rb +++ b/app/controllers/revision_sweeper.rb @@ -25,8 +25,8 @@ class RevisionSweeper < ActionController::Caching::Sweeper end end - def self.expire_page(page) - new.expire_caches(page) + def self.expire_page(web, page_name) + new.expire_cached_page(web, page_name) end private diff --git a/app/models/wiki_reference.rb b/app/models/wiki_reference.rb index 55d9d4f5..4a626364 100644 --- a/app/models/wiki_reference.rb +++ b/app/models/wiki_reference.rb @@ -46,20 +46,11 @@ class WikiReference < ActiveRecord::Base query = 'SELECT name FROM pages JOIN wiki_references ' + 'ON pages.id = wiki_references.page_id ' + 'WHERE wiki_references.referenced_name = ? ' + - "AND wiki_references.link_type in ('#{FILE}') " + + "AND wiki_references.link_type in ('#{FILE}','#{WANTED_FILE}') " + "AND pages.web_id = '#{web.id}'" names = connection.select_all(sanitize_sql([query, file_name])).map { |row| row['name'] } end - def self.pages_that_want_file(web, file_name) - query = 'SELECT name FROM pages JOIN wiki_references ' + - 'ON pages.id = wiki_references.page_id ' + - 'WHERE wiki_references.referenced_name = ? ' + - "AND wiki_references.link_type in ('#{WANTED_FILE}') " + - "AND pages.web_id = '#{web.id}'" - names = connection.select_all(sanitize_sql([query, file_name])).map { |row| row['name'] } - end - def self.pages_that_include(web, page_name) query = 'SELECT name FROM pages JOIN wiki_references ' + 'ON pages.id = wiki_references.page_id ' +