summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2014-04-06 12:22:07 +0300
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2014-04-06 21:33:15 +0300
commita7469dcde4a74020d29df0d7c40a5669e8349ef2 (patch)
treed7e75e0fe167aebb934f5b3e76c82b3c50412254 /web
parent61223f79ea6aaaae435c22b111b957312dc6e091 (diff)
downloadaconf-a7469dcde4a74020d29df0d7c40a5669e8349ef2.tar.bz2
aconf-a7469dcde4a74020d29df0d7c40a5669e8349ef2.tar.xz
web client: disallow empty collection members
Diffstat (limited to 'web')
-rw-r--r--web/transaction.js10
1 files changed, 9 insertions, 1 deletions
diff --git a/web/transaction.js b/web/transaction.js
index 7c2101f..5c0488d 100644
--- a/web/transaction.js
+++ b/web/transaction.js
@@ -157,6 +157,9 @@ define(
ensureKeyPresence(name);
var value = data.get(name, true);
+ var empty = newValue === null &&
+ type.isCollection(data.meta);
+ if (newValue === undefined) newValue = null;
var tn = _.isObject(newValue);
var npv = tn ? mpath : newValue;
@@ -186,6 +189,11 @@ define(
}
prevTask.always(function() {
+ if (empty) {
+ def.reject("Value not set");
+ return;
+ }
+
var del = newValue == null;
var options;
@@ -330,7 +338,7 @@ define(
var def = $.Deferred();
var length = data.data.length;
- data.set(name, null).done(function(txnValid) {
+ data.set(name).done(function(txnValid) {
if (type.isTreeNode(data.meta) &&
data.meta.type != "set") {