[FIX] website: only display website languages for conditional visibility

The languages displayed for the ConditionalVisibility option are now the
ones available for the website.
The select widget is hidden if there is only one.

task-2629245

closes odoo/odoo#76537

X-original-commit: 380edf50bd1d8d1f7b1a33fd4fa1ad70dbc12804
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
This commit is contained in:
Younn Olivier
2021-09-15 09:02:16 +00:00
parent 522cb20e77
commit 096a6e72a9
2 changed files with 14 additions and 10 deletions
@@ -1900,7 +1900,7 @@ const ListUserValueWidget = UserValueWidget.extend({
if (this.createWidget) {
const selectedIds = currentValues.map(({ id }) => id)
.filter(id => typeof id === 'number');
this.createWidget.options.domain = ['!', ['id', 'in', selectedIds]];
this.createWidget.options.domain = [...this.createWidget.options.domain, ['id', 'not in', selectedIds]];
this.createWidget.setValue('');
this.createWidget.inputEl.value = '';
$(this.createWidget.inputEl).trigger('input');
+13 -9
View File
@@ -317,7 +317,7 @@
t-att-data-save-attribute="save_attribute"
t-att-data-attribute-name="attribute_name"
data-no-preview="true"
t-att-data-model="model" t-att-data-call-with="call_with" data-select-record="" t-att-data-fields="data_fields"
t-att-data-model="model" t-att-data-call-with="call_with" data-select-record="" t-att-data-fields="data_fields" t-att-data-domain="domain"
data-allow-delete="true" data-fakem2m="true"/>
</template>
@@ -1132,6 +1132,7 @@
</div>
<div data-js="ConditionalVisibility" data-selector="section">
<t t-set="current_website" t-value="request.env['website'].get_current_website()"/>
<we-collapse>
<we-select string="Visibility" data-attribute-name="visibility" data-no-preview="true">
<we-button data-select-data-attribute="">Always visible</we-button>
@@ -1149,14 +1150,17 @@
<t t-set="data_fields">[&quot;code&quot;]</t>
</t>
</t>
<t t-call="website.snippet_options_conditional_visibility">
<t t-set="option_name">⌙ Languages</t>
<t t-set="attribute_rule">visibilityValueLangRule</t>
<t t-set="save_attribute">visibilityValueLang</t>
<t t-set="attribute_name">lang</t>
<t t-set="model">res.lang</t>
<t t-set="call_with">code</t>
<t t-set="data_fields">[&quot;code&quot;]</t>
<t t-if="len(current_website.language_ids) > 1">
<t t-call="website.snippet_options_conditional_visibility">
<t t-set="option_name">⌙ Languages</t>
<t t-set="attribute_rule">visibilityValueLangRule</t>
<t t-set="save_attribute">visibilityValueLang</t>
<t t-set="attribute_name">lang</t>
<t t-set="model">res.lang</t>
<t t-set="call_with">code</t>
<t t-set="domain">[["id", "in", <t t-out="current_website.language_ids.ids"/>]]</t>
<t t-set="data_fields">[&quot;code&quot;]</t>
</t>
</t>
<t t-call="website.snippet_options_conditional_visibility">
<t t-set="option_name">⌙ UTM Campaign</t>