annotate .svn/pristine/14/14d47feeb8d09d5c60a469b92e31b17db8244cde.svn-base @ 1082:997f6d7738f7 bug_531

In repo controller entry action, show the page for the file even if it's binary (so user still has access to history etc links). This makes it possible to use the entry action as the default when a file is clicked on
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Thu, 22 Nov 2012 18:04:17 +0000
parents cbb26bc654de
children
rev   line source
Chris@909 1 # encoding: utf-8
Chris@909 2 #
Chris@909 3 # Redmine - project management software
Chris@909 4 # Copyright (C) 2006-2011 Jean-Philippe Lang
Chris@909 5 #
Chris@909 6 # This program is free software; you can redistribute it and/or
Chris@909 7 # modify it under the terms of the GNU General Public License
Chris@909 8 # as published by the Free Software Foundation; either version 2
Chris@909 9 # of the License, or (at your option) any later version.
Chris@909 10 #
Chris@909 11 # This program is distributed in the hope that it will be useful,
Chris@909 12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
Chris@909 13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Chris@909 14 # GNU General Public License for more details.
Chris@909 15 #
Chris@909 16 # You should have received a copy of the GNU General Public License
Chris@909 17 # along with this program; if not, write to the Free Software
Chris@909 18 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Chris@909 19
Chris@909 20 module WikiHelper
Chris@909 21
Chris@909 22 def wiki_page_options_for_select(pages, selected = nil, parent = nil, level = 0)
Chris@909 23 pages = pages.group_by(&:parent) unless pages.is_a?(Hash)
Chris@909 24 s = ''
Chris@909 25 if pages.has_key?(parent)
Chris@909 26 pages[parent].each do |page|
Chris@909 27 attrs = "value='#{page.id}'"
Chris@909 28 attrs << " selected='selected'" if selected == page
Chris@909 29 indent = (level > 0) ? ('&nbsp;' * level * 2 + '&#187; ') : nil
Chris@909 30
Chris@909 31 s << "<option #{attrs}>#{indent}#{h page.pretty_title}</option>\n" +
Chris@909 32 wiki_page_options_for_select(pages, selected, page, level + 1)
Chris@909 33 end
Chris@909 34 end
Chris@909 35 s
Chris@909 36 end
Chris@909 37
Chris@909 38 def wiki_page_breadcrumb(page)
Chris@909 39 breadcrumb(page.ancestors.reverse.collect {|parent|
Chris@909 40 link_to(h(parent.pretty_title), {:controller => 'wiki', :action => 'show', :id => parent.title, :project_id => parent.project})
Chris@909 41 })
Chris@909 42 end
Chris@909 43 end