Skip to content

Commit

Permalink
Avoid overzealous URI encoding.
Browse files Browse the repository at this point in the history
Fix raw view document link.

Closes COUCHDB-998

git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.0.x@1057422 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information
janl committed Jan 11, 2011
1 parent 5af920c commit 6ce291d
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
4 changes: 4 additions & 0 deletions share/www/database.html
Expand Up @@ -40,6 +40,10 @@
$("h1 strong").text(page.db.name);
var viewPath = page.viewName || "_all_docs";
if (viewPath != "_temp_view" && viewPath != "_design_docs") {
viewPath = $.map(viewPath.split("/"), function (part) {
return encodeURIComponent(part);
}).join("/");

$("h1 a.raw").attr("href", "/" + encodeURIComponent(page.db.name) +
"/" + viewPath);
}
Expand Down
8 changes: 4 additions & 4 deletions share/www/script/futon.browse.js
Expand Up @@ -116,7 +116,7 @@

var viewName = (urlParts.length > 0) ? urlParts.join("/") : null;
if (viewName) {
$.futon.storage.set("view", viewName);
$.futon.storage.set("view", decodeURIComponent(viewName));
} else {
viewName = $.futon.storage.get("view");
if (viewName) {
Expand All @@ -128,6 +128,7 @@
var db = $.couch.db(dbName);

this.dbName = dbName;
viewName = decodeURIComponent(viewName);
this.viewName = viewName;
this.viewLanguage = "javascript";
this.db = db;
Expand Down Expand Up @@ -578,7 +579,7 @@

this.updateDesignDocLink = function() {
if (viewName && /^_design/.test(viewName)) {
var docId = "_design/" + decodeURIComponent(viewName.split("/")[1]);
var docId = "_design/" + encodeURIComponent(decodeURIComponent(viewName).split("/")[1]);
$("#designdoc-link").attr("href", "document.html?" +
encodeURIComponent(dbName) + "/" + $.couch.encodeDocId(docId)).text(docId);
} else {
Expand Down Expand Up @@ -774,8 +775,7 @@
if (page.isDirty) {
db.query(currentMapCode, currentReduceCode, page.viewLanguage, options);
} else {
var viewParts = viewName.split('/');

var viewParts = decodeURIComponent(viewName).split('/');
if ($.futon.storage.get("stale")) {
options.stale = "ok";
}
Expand Down

0 comments on commit 6ce291d

Please sign in to comment.