summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsuelockwood <deathbearbrown@gmail.com>2013-10-16 16:41:28 -0400
committersuelockwood <deathbearbrown@gmail.com>2013-10-16 16:42:01 -0400
commit6b158a2f2fa75e15fa2fc4a1f200b386280c9e76 (patch)
tree4d0fb3990b920328a1cff1571ca59016d09d4c83
parenta3822a927f3057a9d6c4e9e0f464a8a52d822338 (diff)
downloadcouchdb-6b158a2f2fa75e15fa2fc4a1f200b386280c9e76.tar.gz
Allow databases with / in the names
-rw-r--r--src/fauxton/app/modules/databases/views.js3
-rw-r--r--src/fauxton/app/modules/documents/routes.js4
-rw-r--r--src/fauxton/app/templates/databases/item.html2
3 files changed, 5 insertions, 4 deletions
diff --git a/src/fauxton/app/modules/databases/views.js b/src/fauxton/app/modules/databases/views.js
index 749f79c57..0f67d365e 100644
--- a/src/fauxton/app/modules/databases/views.js
+++ b/src/fauxton/app/modules/databases/views.js
@@ -26,6 +26,7 @@ function(app, Components, FauxtonAPI) {
serialize: function() {
return {
+ encoded: encodeURIComponent(this.model.get("name")),
database: this.model
};
}
@@ -59,7 +60,7 @@ function(app, Components, FauxtonAPI) {
// TODO: switch to using a model, or Databases.databaseUrl()
// Neither of which are in scope right now
// var db = new Database.Model({id: dbname});
- var url = ["/database/", dbname, "/_all_docs?limit=10"].join('');
+ var url = ["/database/", encodeURIComponent(dbname), "/_all_docs?limit=10"].join('');
FauxtonAPI.navigate(url);
}
},
diff --git a/src/fauxton/app/modules/documents/routes.js b/src/fauxton/app/modules/documents/routes.js
index 13b2bc9a9..df8c07da4 100644
--- a/src/fauxton/app/modules/documents/routes.js
+++ b/src/fauxton/app/modules/documents/routes.js
@@ -167,7 +167,7 @@ function(app, FauxtonAPI, Documents, Databases) {
var docOptions = app.getParams();
docOptions.include_docs = true;
- this.databaseName = options[0];
+ this.databaseName = encodeURIComponent(options[0]);
this.data = {
database: new Databases.Model({id:this.databaseName})
@@ -379,7 +379,7 @@ function(app, FauxtonAPI, Documents, Databases) {
},
initialize: function (route, masterLayout, options) {
- this.databaseName = options[0];
+ this.databaseName = encodeURIComponent(options[0]);
this.database = new Databases.Model({id: this.databaseName});
var docOptions = app.getParams();
diff --git a/src/fauxton/app/templates/databases/item.html b/src/fauxton/app/templates/databases/item.html
index 8740242f3..a8801b003 100644
--- a/src/fauxton/app/templates/databases/item.html
+++ b/src/fauxton/app/templates/databases/item.html
@@ -13,7 +13,7 @@ the License.
-->
<td>
- <a href="#/database/<%= database.get("name") %>/_all_docs?limit=100"><%= database.get("name") %></a>
+ <a href="#/database/<%=encoded%>/_all_docs?limit=100"><%= database.get("name") %></a>
</td>
<td><%= database.status.humanSize() %></td>
<td><%= database.status.numDocs() %></td>