Project

General

Profile

Patch #5554 ยป more_consistent_links.diff

Holger Just, 2010-05-19 14:56

View differences:

../workspace/redmine/redmine-trunk/app/helpers/application_helper.rb (working copy)
90 90
  def link_to_attachment(attachment, options={})
91 91
    text = options.delete(:text) || attachment.filename
92 92
    action = options.delete(:download) ? 'download' : 'show'
93
    only_path = options.key?(:only_path) ? options.delete(:only_path) : true
93 94

  
94
    link_to(h(text), {:controller => 'attachments', :action => action, :id => attachment, :filename => attachment.filename }, options)
95
    link_to(h(text), {:only_path => only_path, :controller => 'attachments', :action => action, :id => attachment, :filename => attachment.filename }, options)
95 96
  end
96 97

  
97 98
  # Generates a link to a SCM revision
......
99 100
  # * :text - Link text (default to the formatted revision)
100 101
  def link_to_revision(revision, project, options={})
101 102
    text = options.delete(:text) || format_revision(revision)
102

  
103
    link_to(text, {:controller => 'repositories', :action => 'revision', :id => project, :rev => revision}, :title => l(:label_revision_id, revision))
103
    title = options.delete(:title) || l(:label_revision_id, revision)
104
    only_path = options.key?(:only_path) ? options.delete(:only_path) : true
105
    
106
    link_to(text, {:only_path => only_path, :controller => 'repositories', :action => 'revision', :id => project, :rev => revision},
107
        :title => title,
108
        :class => 'changeset')
104 109
  end
105 110

  
106 111
  def toggle_link(name, id, options={})
......
557 562
      if esc.nil?
558 563
        if prefix.nil? && sep == 'r'
559 564
          if project && (changeset = project.changesets.find_by_revision(identifier))
560
            link = link_to("r#{identifier}", {:only_path => only_path, :controller => 'repositories', :action => 'revision', :id => project, :rev => changeset.revision},
561
                                      :class => 'changeset',
565
            link = link_to_revision(changeset.revision, project,
566
                                      :only_path => only_path,
567
                                      :text => "r#{identifier}",
562 568
                                      :title => truncate_single_line(changeset.comments, :length => 100))
563 569
          end
564 570
        elsif sep == '#'
......
630 636
          when 'attachment'
631 637
            attachments = options[:attachments] || (obj && obj.respond_to?(:attachments) ? obj.attachments : nil)
632 638
            if attachments && attachment = attachments.detect {|a| a.filename == name }
633
              link = link_to h(attachment.filename), {:only_path => only_path, :controller => 'attachments', :action => 'download', :id => attachment},
634
                                                     :class => 'attachment'
639
              link = link_to_attachment(attachment,
640
                                          :only_path => only_path,
641
                                          :text => attachment.filename,
642
                                          :download => true,
643
                                          :class => 'attachment')
635 644
            end
636 645
          when 'project'
637 646
            if p = Project.visible.find(:first, :conditions => ["identifier = :s OR LOWER(name) = :s", {:s => name.downcase}])
    (1-1/1)