diff --git a/group/templates/group/group_wiki.html b/group/templates/group/group_wiki.html
index 8f4d72e451..1e55e3c4d2 100644
--- a/group/templates/group/group_wiki.html
+++ b/group/templates/group/group_wiki.html
@@ -103,7 +103,7 @@ $('#page-list').click(function () {
});
$('#page-history').click(function () {
- window.open("{% url 'file_revisions' repo_id %}" + "?p=" + "{{path}}");
+ window.open("{% url 'file_revisions' repo_id %}" + "?p=" + "{{path|urlencode}}");
});
addConfirmTo($('#page-delete'), {
diff --git a/group/views.py b/group/views.py
index 9a7882d0fe..1a4f36a536 100644
--- a/group/views.py
+++ b/group/views.py
@@ -1338,7 +1338,7 @@ def group_wiki_page_new(request, group, page_name="home"):
repo = find_wiki_repo(request, group)
if not repo:
return render_error(request, _('Wiki is not found.'))
-
+
filename = page_name + ".md"
filepath = "/" + page_name + ".md"
@@ -1349,8 +1349,9 @@ def group_wiki_page_new(request, group, page_name="home"):
if not post_empty_file(repo.id, "/", filename, request.user.username):
return render_error(request, _('Failed to create wiki page. Please retry later.'))
- url = "%srepo/%s/file/edit/?p=%s&from=wiki_page_new&gid=%s" % \
- (SITE_ROOT, repo.id, filepath, group.id)
+ url = "%s?p=%s&from=wiki_page_new&gid=%s" % (
+ reverse('file_edit', args=[repo.id]),
+ urllib2.quote(filepath.encode('utf-8')), group.id)
return HttpResponseRedirect(url)
@@ -1364,8 +1365,10 @@ def group_wiki_page_edit(request, group, page_name="home"):
return render_error(request, _('Wiki is not found.'))
filepath = "/" + page_name + ".md"
- url = "%srepo/%s/file/edit/?p=%s&from=wiki_page_edit&gid=%s" % \
- (SITE_ROOT, repo.id, filepath, group.id)
+ url = "%s?p=%s&from=wiki_page_edit&gid=%s" % (
+ reverse('file_edit', args=[repo.id]),
+ urllib2.quote(filepath.encode('utf-8')), group.id)
+
return HttpResponseRedirect(url)
diff --git a/urls.py b/urls.py
index 225ba2e0c0..a0d3354191 100644
--- a/urls.py
+++ b/urls.py
@@ -60,7 +60,7 @@ urlpatterns = patterns('',
url(r'^repo/(?P[-0-9a-f]{36})/history/files/$', view_history_file, name="view_history_file"),
url(r'^repo/(?P[-0-9a-f]{36})/trash/files/$', view_trash_file, name="view_trash_file"),
url(r'^repo/(?P[-0-9a-f]{36})/snapshot/files/$', view_snapshot_file, name="view_snapshot_file"),
- (r'^repo/(?P[-0-9a-f]{36})/file/edit/$', file_edit),
+ url(r'^repo/(?P[-0-9a-f]{36})/file/edit/$', file_edit, name='file_edit'),
url(r'^repo/(?P[-0-9a-f]{36})/(?P[^/]+)/$', repo_access_file, name='repo_access_file'),
(r'^repo/save_settings$', repo_save_settings),