Changeset 1068

Show
Ignore:
Timestamp:
03/13/07 17:34:35 (3 years ago)
Author:
julians
Message:

Refactored flat file view by moving linked path assembly to browser_helper; made parent link and display of current level in navigation configurable and made no parent link and no current level the default; fixes #118

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/app/helpers/browser_helper.rb

    r770 r1068  
    11module BrowserHelper 
     2 
     3  LINKED_FILE_PATH_SHOW_PARENT_LINK = false 
     4  LINKED_FILE_PATH_SHOW_CURRENT     = false 
     5 
     6  def linked_file_path(file) 
     7    html = "" 
     8    if not @server 
     9      # On root level 
     10      html = "root::" if LINKED_FILE_PATH_SHOW_CURRENT 
     11      html += link_to(file.directory.server.name,  
     12                      :overwrite_params => {:page => nil,  
     13                                            :server => file.directory.server.name,  
     14                                            :path => nil}) 
     15      html += ":" 
     16    elsif @server and not @directory 
     17      # On server level 
     18      if LINKED_FILE_PATH_SHOW_PARENT_LINK 
     19        html = link_to("root",  
     20                       :overwrite_params => {:page => nil,  
     21                                             :path => nil,  
     22                                             :server => nil}) 
     23        html += "::" 
     24      end 
     25      if LINKED_FILE_PATH_SHOW_CURRENT 
     26        html += h(@server.name) 
     27        html += ":" 
     28      end 
     29    elsif @directory and not @directory.parent_id 
     30      # On top directory level 
     31      if LINKED_FILE_PATH_SHOW_PARENT_LINK 
     32        html = link_to("..",  
     33                       :overwrite_params => {:page => nil,  
     34                                             :path => nil}) 
     35        html += ":" 
     36      end 
     37    else 
     38      # On deeper directory level 
     39      if LINKED_FILE_PATH_SHOW_PARENT_LINK 
     40        html = link_to("..",  
     41                       :overwrite_params => {:page => nil,  
     42                                             :path => @directory.parent.path}) 
     43      end 
     44    end 
     45    self_and_ancestors_up_to(file.directory, @directory).reverse.each do |parent|  
     46      if parent == @directory 
     47        if LINKED_FILE_PATH_SHOW_CURRENT 
     48          html += h(parent.name.gsub(/ /, " ")) 
     49          html += "/<wbr/>" 
     50        end 
     51      else  
     52        html += link_to(parent.name.gsub(/ /, "&nbsp;"),  
     53                        :overwrite_params => {:page => nil,  
     54                                              :server => file.directory.server.name,   
     55                                              :path => parent.path}) 
     56        html += "/<wbr/>" 
     57      end 
     58    end 
     59    html 
     60  end 
    261end 
  • trunk/app/views/browser/flat.rhtml

    r1024 r1068  
    6868          </td> 
    6969          <td class="path"> 
    70             <% if not @server %><%= link_to file.directory.server.name, :overwrite_params => {:page => nil, :server => file.directory.server.name, :path => nil} %>:<% else %><% if not (@directory.nil? or @directory.parent_id.nil?) %><%= link_to("..", :overwrite_params => {:page => nil, :path => @directory.parent.path}) %>/<% end %><% end %><% self_and_ancestors_up_to(file.directory, @directory).reverse.each do |parent| %><% if parent == @directory %><%= h parent.name.gsub(/ /, "&nbsp;") %><% else %><%= link_to(parent.name.gsub(/ /, "&nbsp;"), :overwrite_params => {:page => nil, :server => file.directory.server.name, :path => parent.path}) %><% end %>/<wbr/><% end %> 
     70            <%= linked_file_path(file) %> 
    7171          </td> 
    7272          <td class="modified">