From d46e3a501e7bad4242d896de36f02c19b8781143 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 4 Nov 2007 11:20:21 +0000 Subject: [PATCH] Pretty URL for the repository browser (Cyril Mougel) git-svn-id: http://redmine.rubyforge.org/svn/trunk@880 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/repositories_controller.rb | 4 ++-- app/views/repositories/_revisions.rhtml | 3 +-- config/routes.rb | 7 +++++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 945cb2623..235754770 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -110,7 +110,7 @@ class RepositoriesController < ApplicationController @cache_key = "repositories/diff/#{@repository.id}/" + Digest::MD5.hexdigest("#{@path}-#{@rev}-#{@rev_to}-#{@diff_type}") unless read_fragment(@cache_key) - @diff = @repository.diff(@path, @rev, @rev_to, type) + @diff = @repository.diff(@path, @rev, @rev_to, @diff_type) show_error and return unless @diff end end @@ -145,7 +145,7 @@ private @project = Project.find(params[:id]) @repository = @project.repository render_404 and return false unless @repository - @path = params[:path].squeeze('/') if params[:path] + @path = params[:path].join('/') unless params[:path].nil? @path ||= '' @rev = params[:rev].to_i if params[:rev] rescue ActiveRecord::RecordNotFound diff --git a/app/views/repositories/_revisions.rhtml b/app/views/repositories/_revisions.rhtml index 1cdc45a35..c12488d33 100644 --- a/app/views/repositories/_revisions.rhtml +++ b/app/views/repositories/_revisions.rhtml @@ -1,4 +1,4 @@ -<% form_tag({:controller => 'repositories', :action => 'diff', :id => @project}, :method => :get) do %> +<% form_tag({:controller => 'repositories', :action => 'diff', :id => @project, :path => path}, :method => :get) do %> @@ -24,6 +24,5 @@ <% end %>
#
-<%= hidden_field_tag 'path', path %> <%= submit_tag(l(:label_view_diff), :class => 'small', :name => nil) if show_diff %> <% end %> diff --git a/config/routes.rb b/config/routes.rb index 80fa58942..bb61b4c0f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -16,6 +16,13 @@ ActionController::Routing::Routes.draw do |map| map.connect 'issues/:issue_id/relations/:action/:id', :controller => 'issue_relations' map.connect 'projects/:project_id/boards/:action/:id', :controller => 'boards' map.connect 'boards/:board_id/topics/:action/:id', :controller => 'messages' + + map.with_options :controller => 'repositories' do |omap| + omap.repositories_show 'repositories/browse/:id/*path', :action => 'browse' + omap.repositories_changes 'repositories/changes/:id/*path', :action => 'changes' + omap.repositories_diff 'repositories/diff/:id/*path', :action => 'diff' + omap.repositories_entry 'repositories/entry/:id/*path', :action => 'entry' + end # Allow downloading Web Service WSDL as a file with an extension # instead of a file named 'wsdl' -- 2.39.5