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

View File

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