Display posting errors. Clean/close QR on successful post.

This commit is contained in:
Nicolas Stepien 2012-01-23 02:12:36 +01:00
parent efa326d534
commit ce2cf2891e
2 changed files with 28 additions and 8 deletions

View File

@ -1306,8 +1306,10 @@
file = this.files[0]; file = this.files[0];
if (file.size > this.max) { if (file.size > this.max) {
qr.error('File too large.'); qr.error('File too large.');
qr.resetFileInput();
} else if (-1 === qr.mimeTypes.indexOf(file.type)) { } else if (-1 === qr.mimeTypes.indexOf(file.type)) {
qr.error('Unsupported file type.'); qr.error('Unsupported file type.');
qr.resetFileInput();
} else { } else {
qr.selected.setFile(file); qr.selected.setFile(file);
} }
@ -1399,6 +1401,7 @@
_Class.prototype.rm = function() { _Class.prototype.rm = function() {
var index, url; var index, url;
qr.resetFileInput();
$.rm(this.el); $.rm(this.el);
index = qr.replies.indexOf(this); index = qr.replies.indexOf(this);
if (qr.replies.length === 1) { if (qr.replies.length === 1) {
@ -1608,9 +1611,17 @@
return qr.message.send(post); return qr.message.send(post);
}, },
response: function(html) { response: function(html) {
var persona, reply, sage; var b, persona, reply, sage;
log(html); b = $('td b', $.el('a', {
if (!(conf['Persistent QR'] || qr.replies.length > 1)) {} innerHTML: html
}));
if (b.childElementCount) {
qr.error(b.firstChild.data);
log(b);
console.dir(b);
return;
}
if (!(conf['Persistent QR'] || qr.replies.length > 1)) qr.close();
reply = qr.replies[0]; reply = qr.replies[0];
sage = /sage/i.test(reply.email); sage = /sage/i.test(reply.email);
persona = { persona = {
@ -1618,7 +1629,8 @@
email: /^sage$/.test(reply.email) ? null : reply.email, email: /^sage$/.test(reply.email) ? null : reply.email,
sub: conf['Remember Subject'] ? reply.sub : null sub: conf['Remember Subject'] ? reply.sub : null
}; };
return $.set('qr.persona', persona); $.set('qr.persona', persona);
return reply.rm();
}, },
message: { message: {
init: function() { init: function() {

View File

@ -962,8 +962,10 @@ qr =
file = @files[0] file = @files[0]
if file.size > @max if file.size > @max
qr.error 'File too large.' qr.error 'File too large.'
qr.resetFileInput()
else if -1 is qr.mimeTypes.indexOf file.type else if -1 is qr.mimeTypes.indexOf file.type
qr.error 'Unsupported file type.' qr.error 'Unsupported file type.'
qr.resetFileInput()
else else
qr.selected.setFile file qr.selected.setFile file
return return
@ -1039,6 +1041,7 @@ qr =
$("[name=#{data}]", qr.el).value = @[data] $("[name=#{data}]", qr.el).value = @[data]
$('#spoiler', qr.el).checked = @spoiler $('#spoiler', qr.el).checked = @spoiler
rm: -> rm: ->
qr.resetFileInput()
$.rm @el $.rm @el
index = qr.replies.indexOf @ index = qr.replies.indexOf @
if qr.replies.length is 1 if qr.replies.length is 1
@ -1227,11 +1230,16 @@ qr =
qr.message.send post qr.message.send post
response: (html) -> response: (html) ->
log html b = $ 'td b', $.el('a', innerHTML: html)
# successful posting/error handling if b.childElementCount # error!
qr.error b.firstChild.data
log b
console.dir b
# error handling
return
unless conf['Persistent QR'] or qr.replies.length > 1 unless conf['Persistent QR'] or qr.replies.length > 1
;# qr.close() qr.close()
reply = qr.replies[0] reply = qr.replies[0]
sage = /sage/i.test reply.email sage = /sage/i.test reply.email
@ -1243,7 +1251,7 @@ qr =
sub: if conf['Remember Subject'] then reply.sub else null sub: if conf['Remember Subject'] then reply.sub else null
$.set 'qr.persona', persona $.set 'qr.persona', persona
# reply.rm() reply.rm()
message: message:
init: -> init: ->