[FIX] website_*: prevent record to be unpublished on website change

Before this commit, when changing the website field in a record form view,
the is_published field would be force to false, ending unpublishing the record
if it was published.

That behavior was coming from the fact that is_published field is missing from
the form view. Thus, onchange on website is triggering a recompute server side
without is_published as the JS framework is not sending the field.
The ORM is then fallbacking on default Boolean value (False) for is_published
when sending back the onchange result.

This would only appear on object with 'website.published.multi.mixin' and with
website_id in the form view.

Replacing website_published by is_published will fix the behavior and has more
sense has website_published is the 'is_published' state in a website context.
In the backend, we are not in a website context.

task-1919689
This commit is contained in:
Romain Derie
2019-01-04 15:50:45 +00:00
parent 59cc261448
commit 30ed4c08cc
13 changed files with 13 additions and 13 deletions
@@ -65,7 +65,7 @@
<div class="oe_button_box" name="button_box">
<button class="oe_stat_button" name="website_publish_button"
type="object" icon="fa-globe">
<field name="website_published" widget="website_button"/>
<field name="is_published" widget="website_button"/>
</button>
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
@@ -60,7 +60,7 @@
<div class="oe_button_box" name="button_box">
<button class="oe_stat_button" name="website_publish_button"
type="object" icon="fa-globe">
<field name="website_published" widget="website_button"/>
<field name="is_published" widget="website_button"/>
</button>
</div>
<div class="oe_title">
+1 -1
View File
@@ -39,7 +39,7 @@
type="object"
class="oe_stat_button"
icon="fa-globe">
<field name="website_published" widget="website_button"/>
<field name="is_published" widget="website_button"/>
</button>
</button>
<label for="is_online" position="after">
@@ -116,7 +116,7 @@
<field name="website_url" invisible="1"/>
<button class="oe_stat_button" name="website_publish_button"
type="object" icon="fa-globe">
<field name="website_published" widget="website_button"/>
<field name="is_published" widget="website_button"/>
</button>
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
@@ -14,7 +14,7 @@
<button name="toggle_active" position="before">
<button class="oe_stat_button" name="open_website_url"
type="object" icon="fa-globe">
<field name="website_published" widget="website_button"/>
<field name="is_published" widget="website_button"/>
</button>
</button>
</field>
@@ -9,7 +9,7 @@
<button name="toggle_active" position="before">
<button class="oe_stat_button" name="website_publish_button"
type="object" icon="fa-globe" groups="hr.group_hr_user">
<field name="website_published" widget="website_button"/>
<field name="is_published" widget="website_button"/>
</button>
</button>
<xpath expr="//page[@name='public']/group" position="inside">
@@ -19,7 +19,7 @@
<div name="button_box" position="inside">
<button class="oe_stat_button" name="website_publish_button"
type="object" icon="fa-globe">
<field name="website_published" widget="website_button"/>
<field name="is_published" widget="website_button"/>
</button>
</div>
</field>
@@ -10,7 +10,7 @@
<div name="button_box" position="inside">
<button class="oe_stat_button" name="website_publish_button"
type="object" icon="fa-globe">
<field name="website_published" widget="website_button"/>
<field name="is_published" widget="website_button"/>
</button>
</div>
</field>
@@ -10,7 +10,7 @@
<button name="toggle_active" position="before">
<button class="oe_stat_button" name="website_publish_button"
type="object" icon="fa-globe">
<field name="website_published" widget="website_button"/>
<field name="is_published" widget="website_button"/>
</button>
</button>
</data>
+1 -1
View File
@@ -79,7 +79,7 @@
<xpath expr="//button[@name='toggle_active']" position="before">
<button class="oe_stat_button" name="website_publish_button"
type="object" icon="fa-globe" attrs="{'invisible': [('sale_ok','=',False)]}">
<field name="website_published" widget="website_button"/>
<field name="is_published" widget="website_button"/>
</button>
</xpath>
<xpath expr="//page[@name='sales']" position="after">
@@ -13,7 +13,7 @@
</xpath>
<xpath expr="//button[@name='toggle_active']" position='before'>
<button class="oe_stat_button" name="website_publish_button" type="object" icon="fa-globe">
<field name="website_published" widget="website_button"/>
<field name="is_published" widget="website_button"/>
</button>
</xpath>
</field>
@@ -51,7 +51,7 @@
<div class="oe_button_box" name="button_box">
<button class="oe_stat_button" name="website_publish_button"
type="object" icon="fa-globe">
<field name="website_published" widget="website_button"/>
<field name="is_published" widget="website_button"/>
</button>
<button name="toggle_active" type="object" confirm="(Un)archiving a channel automatically (un)archives its slides. Do you want to proceed?" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
@@ -40,7 +40,7 @@
<div class="oe_button_box" name="button_box">
<button class="oe_stat_button" name="website_publish_button"
type="object" icon="fa-globe">
<field name="website_published" widget="website_button"/>
<field name="is_published" widget="website_button"/>
</button>
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>