Files: Fix buggy dialogs when more than one external storage requires authentication

This commit is contained in:
Aleksander Machniak 2019-03-08 15:34:30 +00:00
parent 02a1ad8f64
commit 1d9490f60b

View file

@ -4136,14 +4136,14 @@ function kolab_files_ui()
delete result.auth_errors[i]; delete result.auth_errors[i];
} }
}); });
$.extend(this.auth_errors, result.auth_errors); $.extend(this.auth_errors, result.auth_errors);
} }
// ask for password to the first storage on the list // ask for password to the first storage on the list
var ref = this; var ref = this;
$.each(this.auth_errors || [], function(i, v) { $.each(this.auth_errors || [], function(i, v) {
file_api.folder_list_auth_dialog(i, v); if (file_api.folder_list_auth_dialog(i, v))
delete ref.auth_errors[i];
return false; return false;
}); });
}; };
@ -4155,6 +4155,9 @@ function kolab_files_ui()
dialog = $('#files-folder-auth-dialog'), dialog = $('#files-folder-auth-dialog'),
content = this.folder_list_auth_form(driver); content = this.folder_list_auth_form(driver);
if ($('#files-folder-auth-dialog').is(':visible'))
return false;
dialog.find('table.propform').remove(); dialog.find('table.propform').remove();
$('.auth-options', dialog).before(content); $('.auth-options', dialog).before(content);
@ -4190,13 +4193,17 @@ function kolab_files_ui()
} }
}); });
}); });
return true;
}; };
// folder_auth handler // folder_auth handler
this.folder_auth_response = function(response, params) this.folder_auth_response = function(response, params)
{ {
if (!this.response(response)) if (!this.response(response)) {
this.folder_list_auth_errors();
return; return;
}
delete this.auth_errors[response.result.folder]; delete this.auth_errors[response.result.folder];