Files
odoo_source/addons/website_slides/data/gamification_data.xml
T
Romain Derie cc1d78a80b [IMP] *: correctly read/write website_published
The `website_published` field from the website's mixins is basically a readonly
from `is_published` field.
On read, this field will simply read `is_published` and check if the record's
website_id is accessible (only for the multi mixin).
On write, it will always write on `is_published`.

This commit improves a few things:
- A lot of code was writting on website_published which was just then writting
  on is_published. Writting directly on is_published makes more sense.
- Some backend fields would still reference `website_published` instead of
  `is_published` which would just go through the related for no reason.
  Plus, using `is_published` will make the field tooltip more accurate as we
  are not in a website context ('Visible on current website' to 'Is Published')
- Filter and search on tree view were still using the `website_published`
  related field, which is just a readonly when we are not in a frontend
  context.
- Some create and write function would have security check on
  `website_published` value but that was wrong as the user could bypass that by
  simply writting on `is_published`. For the write method, check `is_published`
  is more accurate as it will cover both case since `website_published` will
  then call the write method on `is_published`
2019-08-03 09:51:22 +00:00

208 lines
10 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo><data noupdate="0">
<!-- Get started: register to the platform -->
<record id="badge_data_register" model="gamification.badge">
<field name="name">Get started</field>
<field name="description">Register to the platform</field>
<field name="image_1920" type="base64" file="website_slides/static/src/img/standard_badge_bronze.svg"/>
<field name="is_published" eval="True"/>
<field name="level">bronze</field>
<field name="rule_auth">nobody</field>
</record>
<record id="badge_data_register_goal" model="gamification.goal.definition">
<field name="name">Get started</field>
<field name="description">Register to the platform</field>
<field name="computation_mode">count</field>
<field name="display_mode">boolean</field>
<field name="model_id" eval="ref('base.model_res_users')"/>
<field name="condition">higher</field>
<field name="domain">[
('active', '!=', False),
('karma', '>', 0),
]</field>
<field name="batch_mode">True</field>
<field name="batch_distinctive_field" eval="ref('base.field_res_users__id')"/>
<field name="batch_user_expression">user.id</field>
</record>
<record id="badge_data_register_challenge" model="gamification.challenge">
<field name="name">Register to the platform</field>
<field name="category">slides</field>
<field name="period">once</field>
<field name="visibility_mode">personal</field>
<field name="report_message_frequency">never</field>
<field name="reward_id" eval="ref('badge_data_register')"/>
<field name="reward_realtime">True</field>
<field name="user_domain">[('karma', '>', 0)]</field>
<field name="state">inprogress</field>
</record>
<record id="badge_data_register_challenge_line_0" model="gamification.challenge.line">
<field name="definition_id" eval="ref('badge_data_register_goal')"/>
<field name="challenge_id" eval="ref('badge_data_register_challenge')"/>
<field name="target_goal">1</field>
</record>
<!-- Know yourself: complete your profile -->
<record id="badge_data_profile" model="gamification.badge">
<field name="name">Know yourself</field>
<field name="description">Complete your profile</field>
<field name="image_1920" type="base64" file="website_slides/static/src/img/standard_badge_bronze.svg"/>
<field name="is_published" eval="True"/>
<field name="level">bronze</field>
<field name="rule_auth">nobody</field>
</record>
<record id="badge_data_profile_goal" model="gamification.goal.definition">
<field name="name">Know yourself</field>
<field name="description">Complete your profile</field>
<field name="computation_mode">count</field>
<field name="display_mode">boolean</field>
<field name="model_id" eval="ref('base.model_res_users')"/>
<field name="condition">higher</field>
<field name="domain">[
('partner_id.country_id', '!=', False),
('partner_id.city', '!=', False),
('partner_id.email', '!=', False)
]</field>
<field name="batch_mode">True</field>
<field name="batch_distinctive_field" eval="ref('base.field_res_users__id')"/>
<field name="batch_user_expression">user.id</field>
</record>
<record id="badge_data_profile_challenge" model="gamification.challenge">
<field name="name">Complete your profile</field>
<field name="category">slides</field>
<field name="period">once</field>
<field name="visibility_mode">personal</field>
<field name="report_message_frequency">never</field>
<field name="reward_id" eval="ref('badge_data_profile')"/>
<field name="reward_realtime">True</field>
<field name="user_domain">[('karma', '>', 0)]</field>
<field name="state">inprogress</field>
</record>
<record id="badge_data_profile_challenge_line_0" model="gamification.challenge.line">
<field name="definition_id" eval="ref('badge_data_profile_goal')"/>
<field name="challenge_id" eval="ref('badge_data_profile_challenge')"/>
<field name="target_goal">1</field>
</record>
<!-- Power User: complete a course -->
<record id="badge_data_course" model="gamification.badge">
<field name="name">Power User</field>
<field name="description">Complete a course</field>
<field name="image_1920" type="base64" file="website_slides/static/src/img/standard_badge_silver.svg"/>
<field name="is_published" eval="True"/>
<field name="level">silver</field>
<field name="rule_auth">nobody</field>
</record>
<record id="badge_data_course_goal" model="gamification.goal.definition">
<field name="name">Power User</field>
<field name="description">Complete a course</field>
<field name="computation_mode">count</field>
<field name="display_mode">boolean</field>
<field name="model_id" eval="ref('website_slides.model_slide_channel_partner')"/>
<field name="condition">higher</field>
<field name="domain">[
('completed', '=', True)
]</field>
<field name="batch_mode">True</field>
<field name="batch_distinctive_field" eval="ref('website_slides.field_slide_channel_partner__partner_id')"/>
<field name="batch_user_expression">user.partner_id.id</field>
</record>
<record id="badge_data_course_challenge" model="gamification.challenge">
<field name="name">Complete a course</field>
<field name="category">slides</field>
<field name="period">once</field>
<field name="visibility_mode">personal</field>
<field name="report_message_frequency">never</field>
<field name="reward_id" eval="ref('badge_data_course')"/>
<field name="reward_realtime">True</field>
<field name="user_domain">[('karma', '>', 0)]</field>
<field name="state">inprogress</field>
</record>
<record id="badge_data_course_challenge_line_0" model="gamification.challenge.line">
<field name="definition_id" eval="ref('badge_data_course_goal')"/>
<field name="challenge_id" eval="ref('badge_data_course_challenge')"/>
<field name="target_goal">1</field>
</record>
<!-- Certified Knowledge: get a certification -->
<record id="badge_data_certification" model="gamification.badge">
<field name="name">Certified Knowledge</field>
<field name="description">Get a certification</field>
<field name="image_1920" type="base64" file="website_slides/static/src/img/standard_badge_gold.svg"/>
<field name="is_published" eval="False"/>
<field name="level">gold</field>
<field name="rule_auth">nobody</field>
</record>
<record id="badge_data_certification_goal" model="gamification.goal.definition">
<field name="name">Certified Knowledge</field>
<field name="description">Get a certification</field>
<field name="computation_mode">count</field>
<field name="display_mode">boolean</field>
<field name="model_id" eval="ref('website_slides.model_slide_slide_partner')"/>
<field name="condition">higher</field>
<field name="domain">[
('completed', '=', True),
(0, '=', 1)
]</field>
<field name="batch_mode">True</field>
<field name="batch_distinctive_field" eval="ref('website_slides.field_slide_slide_partner__partner_id')"/>
<field name="batch_user_expression">user.partner_id.id</field>
</record>
<record id="badge_data_certification_challenge" model="gamification.challenge">
<field name="name">Get a certification</field>
<field name="category">slides</field>
<field name="period">once</field>
<field name="visibility_mode">personal</field>
<field name="report_message_frequency">never</field>
<field name="reward_id" eval="ref('badge_data_certification')"/>
<field name="reward_realtime">True</field>
<field name="user_domain">[('karma', '>', 0)]</field>
<field name="state">inprogress</field>
</record>
<record id="badge_data_certification_challenge_line_0" model="gamification.challenge.line">
<field name="definition_id" eval="ref('badge_data_certification_goal')"/>
<field name="challenge_id" eval="ref('badge_data_certification_challenge')"/>
<field name="target_goal">1</field>
</record>
<!-- Community hero: read 2000 XP -->
<record id="badge_data_karma" model="gamification.badge">
<field name="name">Community hero</field>
<field name="description">Reach 2000 XP</field>
<field name="image_1920" type="base64" file="website_slides/static/src/img/standard_badge_gold.svg"/>
<field name="is_published" eval="True"/>
<field name="level">gold</field>
<field name="rule_auth">nobody</field>
</record>
<record id="badge_data_karma_goal" model="gamification.goal.definition">
<field name="name">Community hero</field>
<field name="description">Reach 2000 XP</field>
<field name="computation_mode">count</field>
<field name="display_mode">boolean</field>
<field name="model_id" eval="ref('base.model_res_users')"/>
<field name="condition">higher</field>
<field name="domain">[
('karma', '>=', 2000)
]</field>
<field name="batch_mode">True</field>
<field name="batch_distinctive_field" eval="ref('base.field_res_users__id')"/>
<field name="batch_user_expression">user.id</field>
</record>
<record id="badge_data_karma_challenge" model="gamification.challenge">
<field name="name">Read 2000 XP</field>
<field name="category">slides</field>
<field name="period">once</field>
<field name="visibility_mode">personal</field>
<field name="report_message_frequency">never</field>
<field name="reward_id" eval="ref('badge_data_karma')"/>
<field name="reward_realtime">True</field>
<field name="user_domain">[('karma', '>', 0)]</field>
<field name="state">inprogress</field>
</record>
<record id="badge_data_karma_challenge_line_0" model="gamification.challenge.line">
<field name="definition_id" eval="ref('badge_data_karma_goal')"/>
<field name="challenge_id" eval="ref('badge_data_karma_challenge')"/>
<field name="target_goal">1</field>
</record>
</data></odoo>