Delete Orphan Pages in Category
If a Web has categories defined, you can delete orphaned pages in a given category (in addition to being able to delete all orphaned pages).
This commit is contained in:
parent
61799bc63f
commit
3a78ef3dbf
6 changed files with 60 additions and 3 deletions
|
@ -73,6 +73,12 @@ class PageSet < Array
|
|||
}
|
||||
end
|
||||
|
||||
def pages_in_category(category)
|
||||
self.select { |page|
|
||||
WikiReference.pages_in_category(web, category).map.include?(page.name)
|
||||
}
|
||||
end
|
||||
|
||||
# Returns all the wiki words in this page set for which
|
||||
# there are no pages in this page set's web
|
||||
def wanted_pages
|
||||
|
|
|
@ -54,6 +54,12 @@ class Wiki
|
|||
web.remove_pages(web.select.orphaned_pages)
|
||||
end
|
||||
|
||||
def remove_orphaned_pages_in_category(web_address,category)
|
||||
web = Web.find_by_address(web_address)
|
||||
pages_in_category = PageSet.new(web, web.select.pages_in_category(category))
|
||||
web.remove_pages(pages_in_category.orphaned_pages)
|
||||
end
|
||||
|
||||
def revise_page(web_address, page_name, content, revised_at, author, renderer)
|
||||
page = read_page(web_address, page_name)
|
||||
page.revise(content, revised_at, author, renderer)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue