diff --git a/addons/website/static/src/snippets/s_website_form/000.js b/addons/website/static/src/snippets/s_website_form/000.js
index 6bd6e54cfa7..3f61f6a04a7 100644
--- a/addons/website/static/src/snippets/s_website_form/000.js
+++ b/addons/website/static/src/snippets/s_website_form/000.js
@@ -545,6 +545,10 @@ odoo.define('website.s_website_form', function (require) {
return value >= comparable;
case 'less or equal':
return value <= comparable;
+ case 'fileSet':
+ return value.name !== '';
+ case '!fileSet':
+ return value.name === '';
}
// Date & Date Time comparison requires formatting the value
if (value.includes(':')) {
diff --git a/addons/website/static/src/snippets/s_website_form/options.js b/addons/website/static/src/snippets/s_website_form/options.js
index 96dba522ec9..75318581a0a 100644
--- a/addons/website/static/src/snippets/s_website_form/options.js
+++ b/addons/website/static/src/snippets/s_website_form/options.js
@@ -1162,6 +1162,8 @@ options.registry.WebsiteFieldEditor = FieldEditor.extend({
return dependencyEl && dependencyEl.dataset.target && dependencyEl.dataset.target.includes('#datepicker');
case 'hidden_condition_datetime_opt':
return dependencyEl && dependencyEl.dataset.target && dependencyEl.dataset.target.includes('#datetimepicker');
+ case 'hidden_condition_file_opt':
+ return dependencyEl && dependencyEl.type === 'file';
case 'hidden_condition_opt':
return this.$target[0].classList.contains('s_website_form_field_hidden_if');
case 'char_input_type_opt':
@@ -1256,6 +1258,8 @@ options.registry.WebsiteFieldEditor = FieldEditor.extend({
} else if (['text', 'email', 'tel', 'url', 'search', 'password', 'number'].includes(dependencyEl.type)
|| dependencyEl.nodeName === 'TEXTAREA') {
this.$target[0].dataset.visibilityComparator = 'equal';
+ } else if (dependencyEl.type === 'file') {
+ this.$target[0].dataset.visibilityComparator = 'fileSet';
}
}
}
diff --git a/addons/website/views/snippets/s_website_form.xml b/addons/website/views/snippets/s_website_form.xml
index da436168824..1f532753454 100644
--- a/addons/website/views/snippets/s_website_form.xml
+++ b/addons/website/views/snippets/s_website_form.xml
@@ -179,6 +179,11 @@
Is between (included)
Is not between (excluded)
+
+
+ Is set
+ Is not set
+