diff options
author | suelockwood <deathbearbrown@gmail.com> | 2013-10-16 16:41:28 -0400 |
---|---|---|
committer | suelockwood <deathbearbrown@gmail.com> | 2013-10-16 16:42:01 -0400 |
commit | 6b158a2f2fa75e15fa2fc4a1f200b386280c9e76 (patch) | |
tree | 4d0fb3990b920328a1cff1571ca59016d09d4c83 | |
parent | a3822a927f3057a9d6c4e9e0f464a8a52d822338 (diff) | |
download | couchdb-6b158a2f2fa75e15fa2fc4a1f200b386280c9e76.tar.gz |
Allow databases with / in the names
-rw-r--r-- | src/fauxton/app/modules/databases/views.js | 3 | ||||
-rw-r--r-- | src/fauxton/app/modules/documents/routes.js | 4 | ||||
-rw-r--r-- | src/fauxton/app/templates/databases/item.html | 2 |
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> |