You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ga...@apache.org on 2013/09/19 16:47:51 UTC
[1/2] git commit: updated refs/heads/reset-doc-id to a766cac
Updated Branches:
refs/heads/reset-doc-id [created] a766cac7f
Fauxton: warn user if they edit _id
Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/10f2be4c
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/10f2be4c
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/10f2be4c
Branch: refs/heads/reset-doc-id
Commit: 10f2be4ceb0945332a04ddcb007df6a9d5a5538c
Parents: d719b78
Author: Garren Smith <ga...@gmail.com>
Authored: Thu Sep 19 16:02:02 2013 +0200
Committer: Garren Smith <ga...@gmail.com>
Committed: Thu Sep 19 16:02:02 2013 +0200
----------------------------------------------------------------------
src/fauxton/Gruntfile.js | 6 +++---
src/fauxton/app/modules/documents/resources.js | 6 ++++++
src/fauxton/app/modules/documents/views.js | 18 +++++++++++++++---
3 files changed, 24 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb/blob/10f2be4c/src/fauxton/Gruntfile.js
----------------------------------------------------------------------
diff --git a/src/fauxton/Gruntfile.js b/src/fauxton/Gruntfile.js
index 29a70ba..f9af371 100644
--- a/src/fauxton/Gruntfile.js
+++ b/src/fauxton/Gruntfile.js
@@ -218,9 +218,9 @@ module.exports = function(grunt) {
port: 8000,
proxy: {
target: {
- host: 'localhost',
- port: 5984,
- https: false
+ host: 'garrensmith.cloudant.com',
+ port: 443,
+ https: true
},
// This sets the Host header in the proxy so that you can use external
// CouchDB instances and not have the Host set to 'localhost'
http://git-wip-us.apache.org/repos/asf/couchdb/blob/10f2be4c/src/fauxton/app/modules/documents/resources.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/modules/documents/resources.js b/src/fauxton/app/modules/documents/resources.js
index 395d171..de27ab0 100644
--- a/src/fauxton/app/modules/documents/resources.js
+++ b/src/fauxton/app/modules/documents/resources.js
@@ -44,6 +44,12 @@ function(app, FauxtonAPI) {
return this.database ? this.database : this.collection.database;
},
+ validate: function(attrs, options) {
+ if (this.id && this.id !== attrs._id && this.get('_rev') ) {
+ return "Cannot change a documents id.";
+ }
+ },
+
docType: function() {
return this.id.match(/^_design/) ? "design doc" : "doc";
},
http://git-wip-us.apache.org/repos/asf/couchdb/blob/10f2be4c/src/fauxton/app/modules/documents/views.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/modules/documents/views.js b/src/fauxton/app/modules/documents/views.js
index 09ef2b5..de19386 100644
--- a/src/fauxton/app/modules/documents/views.js
+++ b/src/fauxton/app/modules/documents/views.js
@@ -633,6 +633,7 @@ function(app, FauxtonAPI, Components, Documents, pouchdb, Codemirror, JSHint, re
event.preventDefault();
this.duplicateModal.showModal();
},
+
updateValues: function() {
var notification;
if (this.model.changedAttributes()) {
@@ -676,6 +677,7 @@ function(app, FauxtonAPI, Components, Documents, pouchdb, Codemirror, JSHint, re
this.getDocFromEditor();
notification = FauxtonAPI.addNotification({msg: "Saving document."});
+ console.log('save',this.model);
this.model.save().then(function () {
FauxtonAPI.navigate('/database/' + that.database.id + '/' + that.model.id);
@@ -684,9 +686,17 @@ function(app, FauxtonAPI, Components, Documents, pouchdb, Codemirror, JSHint, re
notification = FauxtonAPI.addNotification({
msg: "Save failed: " + responseText,
type: "error",
- clear: true
+ clear: true,
+ selector: "#doc .errors-container"
});
});
+ } else if(this.model.validationError && this.model.validationError === 'Cannot change a documents id.') {
+ notification = FauxtonAPI.addNotification({
+ msg: "Cannot save: " + 'Cannot change a documents _id, try Duplicate doc instead!',
+ type: "error",
+ selector: "#doc .errors-container"
+ });
+ delete this.model.validationError;
} else {
notification = FauxtonAPI.addNotification({
msg: "Please fix the JSON errors and try again.",
@@ -702,8 +712,10 @@ function(app, FauxtonAPI, Components, Documents, pouchdb, Codemirror, JSHint, re
}
json = JSON.parse(this.editor.getValue());
- this.model.clear({silent:true});
- this.model.set(json);
+ this.model.set(json, {validate: true});
+ if (this.model.validationError) {
+ return false;
+ }
return this.model;
},
[2/2] git commit: updated refs/heads/reset-doc-id to a766cac
Posted by ga...@apache.org.
show upload errors
Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/a766cac7
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/a766cac7
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/a766cac7
Branch: refs/heads/reset-doc-id
Commit: a766cac7f07d0bf3ad4c94407cb1a06828cddef6
Parents: 10f2be4
Author: Garren Smith <ga...@gmail.com>
Authored: Thu Sep 19 16:47:31 2013 +0200
Committer: Garren Smith <ga...@gmail.com>
Committed: Thu Sep 19 16:47:31 2013 +0200
----------------------------------------------------------------------
src/fauxton/app/modules/documents/views.js | 9 ++++++---
src/fauxton/app/templates/documents/upload_modal.html | 2 +-
2 files changed, 7 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb/blob/a766cac7/src/fauxton/app/modules/documents/views.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/modules/documents/views.js b/src/fauxton/app/modules/documents/views.js
index de19386..c70e94e 100644
--- a/src/fauxton/app/modules/documents/views.js
+++ b/src/fauxton/app/modules/documents/views.js
@@ -147,6 +147,7 @@ function(app, FauxtonAPI, Components, Documents, pouchdb, Codemirror, JSHint, re
event.preventDefault();
var docRev = this.model.get('_rev'),
+ that = this,
$form = this.$('#file-upload');
if (!docRev) {
@@ -165,21 +166,23 @@ function(app, FauxtonAPI, Components, Documents, pouchdb, Codemirror, JSHint, re
beforeSend: this.beforeSend,
uploadProgress: this.uploadProgress,
success: this.success,
- error: function () {
- console.log('ERR on upload', arguments);
+ error: function (resp) {
+ console.log('ERR on upload', resp);
+ return that.set_error_msg('Could not upload document: ' + JSON.parse(resp.responseText).reason);
}
});
},
success: function (resp) {
var hideModal = this.hideModal,
- $form = this.$('#file-upload');
+ $form = this.$('#file-upload');
FauxtonAPI.triggerRouteEvent('reRenderDoc');
//slight delay to make this transistion a little more fluid and less jumpy
setTimeout(function () {
$form.clearForm();
hideModal();
+ $('.modal-backdrop').remove();
}, 1000);
},
http://git-wip-us.apache.org/repos/asf/couchdb/blob/a766cac7/src/fauxton/app/templates/documents/upload_modal.html
----------------------------------------------------------------------
diff --git a/src/fauxton/app/templates/documents/upload_modal.html b/src/fauxton/app/templates/documents/upload_modal.html
index 08a14a6..33c2861 100644
--- a/src/fauxton/app/templates/documents/upload_modal.html
+++ b/src/fauxton/app/templates/documents/upload_modal.html
@@ -18,7 +18,7 @@ the License.
<h3>Upload an Attachment</h3>
</div>
<div class="modal-body">
- <div id="modal-error" class="hide alert alert-error"/>
+ <div id="modal-error" class="alert alert-error hide" style="font-size: 16px;"> </div>
<form id="file-upload" class="form" method="post">
<p class="help-block">
Please select the file you want to upload as an attachment to this document.