Fix - cannot edit docs with IDs starting with 'new' (#1175)
diff --git a/app/addons/documents/base.js b/app/addons/documents/base.js
index 5fa6613..1aac29d 100644
--- a/app/addons/documents/base.js
+++ b/app/addons/documents/base.js
@@ -190,7 +190,7 @@
FauxtonAPI.registerUrls('new', {
newDocument: function (database) {
- return '/database/' + database + '/new';
+ return '/database/' + database + '/_new';
},
newView: function (database, partitionKey) {
diff --git a/app/addons/documents/helpers.js b/app/addons/documents/helpers.js
index a5c5921..c438969 100644
--- a/app/addons/documents/helpers.js
+++ b/app/addons/documents/helpers.js
@@ -41,7 +41,7 @@
return menuLinks;
}, [{
title: 'New Doc',
- url: newUrlPrefix + '/new' + partitionKeyQueryParam,
+ url: newUrlPrefix + '/_new' + partitionKeyQueryParam,
icon: 'fonticon-plus-circled'
}, {
title: 'New View',
diff --git a/app/addons/documents/routes-doc-editor.js b/app/addons/documents/routes-doc-editor.js
index 421bc14..6a54796 100644
--- a/app/addons/documents/routes-doc-editor.js
+++ b/app/addons/documents/routes-doc-editor.js
@@ -41,7 +41,8 @@
'database/:database/_design/:ddoc': 'showDesignDoc',
'database/:database/_local/:doc': 'showLocalDoc',
'database/:database/:doc': 'codeEditor',
- 'database/:database/new(:extra)': 'codeEditor'
+ 'database/:database/_new': 'codeEditor',
+ 'database/:database/_new?(:extra)': 'codeEditor'
},
revisionBrowser: function (databaseName, docId) {
diff --git a/app/addons/documents/tests/nightwatch/createsDocument.js b/app/addons/documents/tests/nightwatch/createsDocument.js
index 30aac01..c13ffcc 100644
--- a/app/addons/documents/tests/nightwatch/createsDocument.js
+++ b/app/addons/documents/tests/nightwatch/createsDocument.js
@@ -25,9 +25,9 @@
.loginToGUI()
.url(baseUrl + '/#/database/' + newDatabaseName + '/_all_docs')
.clickWhenVisible('#new-all-docs-button a')
- .clickWhenVisible('#new-all-docs-button a[href="#/database/' + newDatabaseName + '/new"]')
+ .clickWhenVisible('#new-all-docs-button a[href="#/database/' + newDatabaseName + '/_new"]')
.waitForElementPresent('#editor-container', waitTime, false)
- .verify.urlEquals(baseUrl + '/#/database/' + newDatabaseName + '/new')
+ .verify.urlEquals(baseUrl + '/#/database/' + newDatabaseName + '/_new')
.waitForElementPresent('.ace_gutter-active-line', waitTime, false)
// confirm the header elements are showing up
@@ -70,9 +70,9 @@
.loginToGUI()
.url(baseUrl + '/#/database/' + newDatabaseName + '/_all_docs')
.clickWhenVisible('#new-all-docs-button a')
- .clickWhenVisible('#new-all-docs-button a[href="#/database/' + newDatabaseName + '/new"]')
+ .clickWhenVisible('#new-all-docs-button a[href="#/database/' + newDatabaseName + '/_new"]')
.waitForElementPresent('#editor-container', waitTime, false)
- .verify.urlEquals(baseUrl + '/#/database/' + newDatabaseName + '/new')
+ .verify.urlEquals(baseUrl + '/#/database/' + newDatabaseName + '/_new')
.waitForElementPresent('.ace_gutter-active-line', waitTime, false)
// confirm the header elements are showing up
@@ -121,7 +121,7 @@
.waitForElementPresent('.tableview-checkbox-cell', waitTime, false)
.clickWhenVisible('.document-result-screen__toolbar-create-btn')
.waitForElementPresent('#editor-container', waitTime, false)
- .verify.urlEquals(baseUrl + '/#database/' + newDatabaseName + '/new')
+ .verify.urlEquals(baseUrl + '/#database/' + newDatabaseName + '/_new')
.waitForElementPresent('.ace_gutter-active-line', waitTime, false)
// confirm the header elements are showing up
diff --git a/app/addons/documents/tests/nightwatch/createsDocumentWithoutId.js b/app/addons/documents/tests/nightwatch/createsDocumentWithoutId.js
index d7c7c5e..2f0649f 100644
--- a/app/addons/documents/tests/nightwatch/createsDocumentWithoutId.js
+++ b/app/addons/documents/tests/nightwatch/createsDocumentWithoutId.js
@@ -25,9 +25,9 @@
.url(baseUrl + '/#/database/' + newDatabaseName + '/_all_docs')
.clickWhenVisible('#new-all-docs-button a')
- .clickWhenVisible('#new-all-docs-button a[href="#/database/' + newDatabaseName + '/new"]')
+ .clickWhenVisible('#new-all-docs-button a[href="#/database/' + newDatabaseName + '/_new"]')
.waitForElementPresent('#editor-container', waitTime, false)
- .verify.urlEquals(baseUrl + '/#/database/' + newDatabaseName + '/new')
+ .verify.urlEquals(baseUrl + '/#/database/' + newDatabaseName + '/_new')
.waitForElementPresent('.ace_gutter-active-line', waitTime, false)
// confirm the header elements are showing up
diff --git a/app/addons/documents/tests/nightwatch/editDocumentWithStringEditor.js b/app/addons/documents/tests/nightwatch/editDocumentWithStringEditor.js
index 595c7fd..69a36a6 100644
--- a/app/addons/documents/tests/nightwatch/editDocumentWithStringEditor.js
+++ b/app/addons/documents/tests/nightwatch/editDocumentWithStringEditor.js
@@ -23,7 +23,7 @@
client
.createDatabase(newDatabaseName)
.loginToGUI()
- .url(baseUrl + '/#/database/' + newDatabaseName + '/new')
+ .url(baseUrl + '/#/database/' + newDatabaseName + '/_new')
.waitForElementPresent('#editor-container', waitTime, false)
.waitForElementPresent('.ace_gutter-active-line', waitTime, false)
// Move editor cursor to _id field
diff --git a/app/addons/documents/tests/nightwatch/navigateAfterEditingDocShouldShowAConfirmationBox.js b/app/addons/documents/tests/nightwatch/navigateAfterEditingDocShouldShowAConfirmationBox.js
index 9128aa8..24757e9 100644
--- a/app/addons/documents/tests/nightwatch/navigateAfterEditingDocShouldShowAConfirmationBox.js
+++ b/app/addons/documents/tests/nightwatch/navigateAfterEditingDocShouldShowAConfirmationBox.js
@@ -19,7 +19,7 @@
newDatabaseName = client.globals.testDatabaseName,
baseUrl = client.globals.test_settings.launch_url;
- var newLink = '#/database/' + newDatabaseName + '/new';
+ var newLink = '#/database/' + newDatabaseName + '/_new';
client
.loginToGUI()
diff --git a/app/addons/documents/tests/nightwatch/navigateFromNewDoc.js b/app/addons/documents/tests/nightwatch/navigateFromNewDoc.js
index 323fc85..a3b4520 100644
--- a/app/addons/documents/tests/nightwatch/navigateFromNewDoc.js
+++ b/app/addons/documents/tests/nightwatch/navigateFromNewDoc.js
@@ -21,7 +21,7 @@
newDatabaseName = client.globals.testDatabaseName,
baseUrl = client.globals.test_settings.launch_url;
- var newLink = '/#/database/' + newDatabaseName + '/new';
+ var newLink = '/#/database/' + newDatabaseName + '/_new';
client
.loginToGUI()