attach next file if dup detected

This commit is contained in:
James Campos 2011-08-06 20:42:57 -07:00
parent 0ea0b43f38
commit 2a74af9b3b
2 changed files with 40 additions and 23 deletions

View File

@ -1242,16 +1242,22 @@
return $('#recaptcha_response_field').id = '';
},
attach: function() {
var fileDiv, files;
var fileDiv;
$('#auto', qr.el).checked = true;
files = $('#files', qr.el);
fileDiv = $.el('div', {
innerHTML: '<input type=file name=upfile><a>X</a>'
});
$.bind(fileDiv.lastChild, 'click', (function() {
return $.rm(this.parentNode);
}));
return $.prepend(files, file);
return $.prepend(qr.files, fileDiv);
},
attachNext: function() {
var file, fileDiv, oldFile;
fileDiv = $.rm(qr.files.lastChild);
file = fileDiv.firstChild;
oldFile = $('#qr_form input[type=file]', qr.el);
return $.replace(oldFile, file);
},
autoPost: function() {
var captcha, responseField;
@ -1307,6 +1313,7 @@
top: '0px',
left: '0px'
}, html);
qr.files = $('#files', qr.el);
qr.refresh();
$('textarea', qr.el).value = $('textarea').value;
$.bind($('input[name=name]', qr.el), 'mousedown', function(e) {
@ -1321,7 +1328,7 @@
return $.append(d.body, qr.el);
},
message: function(e) {
var data, duration, file, fileDiv, oldFile;
var data, duration;
Recaptcha.reload();
$('iframe[name=iframe]').src = 'about:blank';
data = e.data;
@ -1331,19 +1338,22 @@
$('#recaptcha_response_field', qr.el).value = '';
$('#autohide', qr.el).checked = false;
if (data.textContent === 'You seem to have mistyped the verification.') {
qr.autoPost();
if (qr.captcha.length) {
qr.autoPost();
}
} else if (data.textContent === 'Error: Duplicate file entry detected.' && qr.files.childElementCount) {
qr.attachNext();
if (qr.captcha.length) {
qr.autoPost();
}
}
return;
}
if (qr.el) {
fileDiv = $('#files div:last-child', qr.el);
if (g.REPLY && (conf['Persistent QR'] || fileDiv)) {
if (g.REPLY && (conf['Persistent QR'] || qr.files.childElementCount)) {
qr.refresh();
if (fileDiv) {
$.rm(fileDiv);
file = fileDiv.firstChild;
oldFile = $('#qr_form input[type=file]', qr.el);
$.replace(oldFile, file);
if (qr.files.childElementCount) {
qr.attachNext();
}
} else {
qr.close();

View File

@ -966,10 +966,10 @@ cooldown =
qr.autoPost()
qr =
# TODO
# error handling
# persistent captcha
# rm Recaptcha
# group captcha
# error too large error should happen on attach
init: ->
g.callbacks.push qr.node
@ -987,10 +987,15 @@ qr =
attach: ->
$('#auto', qr.el).checked = true
files = $ '#files', qr.el
fileDiv = $.el 'div', innerHTML: '<input type=file name=upfile><a>X</a>'
$.bind fileDiv.lastChild, 'click', (-> $.rm @parentNode)
$.prepend files, file
$.prepend qr.files, fileDiv
attachNext: ->
fileDiv = $.rm qr.files.lastChild
file = fileDiv.firstChild
oldFile = $ '#qr_form input[type=file]', qr.el
$.replace oldFile, file
autoPost: ->
responseField = $ '#recaptcha_response_field', qr.el
@ -1053,6 +1058,7 @@ qr =
<a id=error class=error></a>
"
qr.el = ui.dialog 'qr', top: '0px', left: '0px', html
qr.files = $ '#files', qr.el
qr.refresh()
$('textarea', qr.el).value = $('textarea').value
@ -1078,18 +1084,19 @@ qr =
$('#recaptcha_response_field', qr.el).value = ''
$('#autohide', qr.el).checked = false
if data.textContent is 'You seem to have mistyped the verification.'
qr.autoPost()
if qr.captcha.length
qr.autoPost()
else if data.textContent is 'Error: Duplicate file entry detected.' and qr.files.childElementCount
qr.attachNext()
if qr.captcha.length
qr.autoPost()
return
if qr.el
fileDiv = $ '#files div:last-child', qr.el
if g.REPLY and (conf['Persistent QR'] or fileDiv)
if g.REPLY and (conf['Persistent QR'] or qr.files.childElementCount)
qr.refresh()
if fileDiv
$.rm fileDiv
file = fileDiv.firstChild
oldFile = $ '#qr_form input[type=file]', qr.el
$.replace oldFile, file
if qr.files.childElementCount
qr.attachNext()
else
qr.close()
if conf['Cooldown']