[FIX] web: binary fields correctly resets
When uploading a file to a binary file, then clicking on the "clear" button, then reuploading the same file... Before this commit: The actual input of the field was only changed on user input. This means that the "clear" action didn't reset the actual value of the input, and the browser's default behaviour when getting the same path twice is not to change anything. In the use case, you couldn't upload the same file until you uploaded another one. After this commit: The "clear" action now also clears the value, allowing reuploading the same file over again. closes odoo/odoo#33843 Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
This commit is contained in:
@@ -1578,6 +1578,35 @@ QUnit.module('basic_fields', {
|
||||
list.destroy();
|
||||
});
|
||||
|
||||
QUnit.test("binary fields input value is empty whean clearing after uploading", function (assert) {
|
||||
assert.expect(2);
|
||||
|
||||
var form = createView({
|
||||
View: FormView,
|
||||
model: 'partner',
|
||||
data: this.data,
|
||||
arch: '<form string="Partners">' +
|
||||
'<field name="document" filename="foo"/>' +
|
||||
'<field name="foo"/>' +
|
||||
'</form>',
|
||||
res_id: 1,
|
||||
});
|
||||
|
||||
form.$buttons.find('.btn:contains("Edit")').click();
|
||||
// // We need to convert the input type since we can't programmatically set the value of a file input
|
||||
form.$('.o_input_file').attr('type', 'text').val('coucou.txt');
|
||||
|
||||
assert.strictEqual(form.$('.o_input_file').val(), 'coucou.txt',
|
||||
"input value should be changed to \"coucou.txt\"");
|
||||
|
||||
form.$('.o_field_binary_file > .o_clear_file_button').click();
|
||||
|
||||
assert.strictEqual(form.$('.o_input_file').val(), '',
|
||||
"input value should be empty");
|
||||
|
||||
form.destroy();
|
||||
});
|
||||
|
||||
QUnit.test('field text in editable list view', function (assert) {
|
||||
assert.expect(1);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user