diff options
author | Thomas Bruederli <thomas@roundcube.net> | 2014-03-13 22:58:57 +0100 |
---|---|---|
committer | Thomas Bruederli <thomas@roundcube.net> | 2014-03-13 23:01:39 +0100 |
commit | 8d3b27b9e8aff077b15ff33c0e9abaec3cfd9cb2 (patch) | |
tree | a2eebb08697473f828e1f5e5228de18e8125c6fa /program/js/app.js | |
parent | f4564ae20d3c85b374b1312cb72e794733957968 (diff) |
Fix message import dialog (#1489685):
- Display alert if no file is chosen
- Unlock the UI if form is not submitted
- Avoid duplicate error messages
- Fix javascript error due to missing attachments list widget
Diffstat (limited to 'program/js/app.js')
-rw-r--r-- | program/js/app.js | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/program/js/app.js b/program/js/app.js index fa48408ee..fe7cf8141 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -1177,8 +1177,12 @@ function rcube_webmail() case 'import-messages': var form = props || this.gui_objects.importform; - $('input[name="_unlock"]', form).val(this.set_busy(true, 'importwait')); - this.upload_file(form, 'import'); + var importlock = this.set_busy(true, 'importwait'); + $('input[name="_unlock"]', form).val(importlock); + if (!this.upload_file(form, 'import')) { + this.set_busy(false, null, importlock); + alert(this.get_label('selectimportfile')); + } break; case 'import': @@ -4015,11 +4019,13 @@ function rcube_webmail() if (this.env.upload_progress_time) { this.upload_progress_start('upload', ts); } + + // set reference to the form object + this.gui_objects.attachmentform = form; + return true; } - // set reference to the form object - this.gui_objects.attachmentform = form; - return true; + return false; }; // add file name to attachment list @@ -4061,8 +4067,10 @@ function rcube_webmail() this.remove_from_attachment_list = function(name) { - delete this.env.attachments[name]; - $('#'+name).remove(); + if (this.env.attachments) { + delete this.env.attachments[name]; + $('#'+name).remove(); + } }; this.remove_attachment = function(name) |