From d28f454c6eea3bdda96478a4ab460b3c2e108ddd Mon Sep 17 00:00:00 2001 From: bootstraponline Date: Tue, 31 Jul 2012 21:56:07 -0600 Subject: [PATCH] Send path when renaming pages. Fix nil error on editing a non-existent page. Use baseURL on delete. --- lib/gollum/frontend/app.rb | 2 +- .../public/gollum/javascript/gollum.js | 23 +++++++++++-------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/lib/gollum/frontend/app.rb b/lib/gollum/frontend/app.rb index 431ec90e..11f7ad6c 100644 --- a/lib/gollum/frontend/app.rb +++ b/lib/gollum/frontend/app.rb @@ -143,7 +143,7 @@ module Precious page = wiki.page(rename) if rename - redirect to("/#{page.escaped_url_path}") + redirect to("/#{page.escaped_url_path}") unless page.nil? end get '/delete/*' do diff --git a/lib/gollum/frontend/public/gollum/javascript/gollum.js b/lib/gollum/frontend/public/gollum/javascript/gollum.js index 5d11ddf8..6c4bea4f 100755 --- a/lib/gollum/frontend/public/gollum/javascript/gollum.js +++ b/lib/gollum/frontend/public/gollum/javascript/gollum.js @@ -4,7 +4,7 @@ $(document).ready(function() { var ok = confirm($(this).data('confirm')); if ( ok ) { var loc = window.location; - loc = loc.protocol + '//' + loc.host + '/delete' + loc.pathname + loc = baseUrl + 'delete' + loc.pathname window.location = loc; } // Don't navigate on cancel. @@ -113,8 +113,11 @@ $(document).ready(function() { $('#minibutton-rename-page').click(function(e) { e.preventDefault(); - var path = window.location.pathname; - var oldName = path.substring(path.lastIndexOf('/')+1); + // Path name without the leading slash. + var pathname = window.location.pathname.substr(1); + var slashIndex = pathname.lastIndexOf('/'); + var oldName = pathname.substr(slashIndex + 1) + var path = pathname.substr(0, slashIndex); $.GollumDialog.init({ title: 'Rename Page', @@ -127,19 +130,19 @@ $(document).ready(function() { } ], OK: function( res ) { - var name = 'Rename Page'; + var newName = 'Rename Page'; if ( res['name'] ) { - name = res['name']; + newName = res['name']; } - var msg = 'Renamed ' + oldName + ' to ' + name; + var msg = 'Renamed ' + oldName + ' to ' + newName; jQuery.ajax( { type: 'POST', - url: baseUrl + '/edit/' + oldName, + url: baseUrl + 'edit/' + oldName, // omit path: pathName until https://github.com/github/gollum/issues/446 is fixed. - data: { rename: name, page: oldName, message: msg }, + data: { path: path, rename: newName, page: oldName, message: msg }, success: function() { - window.location = baseUrl + '/' + encodeURIComponent(name); + window.location = baseUrl + encodeURIComponent(newName); } }); } @@ -172,7 +175,7 @@ $(document).ready(function() { if ( res['name'] ) { name = res['name']; } - window.location = baseUrl + '/' + encodeURIComponent(name); + window.location = baseUrl + encodeURIComponent(name); } }); });