RATIONALE Channel model is a mail.thread enabled model behaving strangely with followers, notifications and discuss. Its code should however be simplified to be more self contained and avoid unwanted side effects on other models. SPECIFICATIONS Remove ``channel_ids`` argument and support from ``message_subscribe`` and ``message_unsubscribe`` API. Indeed we do not support adding channel-based followers anymore. Only partners should be added or removed from followers. It also allows to simplify API and understanding of both methods. Various addons are updated to match the simplified (un)subscribe API. Some enterprise addons may also be impacted. LINKS Task ID-2070632 (main task) Task ID-2419762 (followup task) COM PR odoo/odoo#62859 ENT PR odoo/enterprise#15172 UPG PR odoo/upgrade#2005
320 lines
16 KiB
XML
320 lines
16 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<data noupdate="1">
|
|
|
|
<!-- Users -->
|
|
<record id="base.user_demo" model="res.users">
|
|
<field name="groups_id" eval="[(4, ref('group_project_manager'))]"/>
|
|
</record>
|
|
|
|
<!-- Categories -->
|
|
<record id="project_tags_00" model="project.tags">
|
|
<field name="name">Bug</field>
|
|
</record>
|
|
<record id="project_tags_01" model="project.tags">
|
|
<field name="name">New Feature</field>
|
|
</record>
|
|
<record id="project_tags_02" model="project.tags">
|
|
<field name="name">Experiment</field>
|
|
</record>
|
|
<record id="project_tags_03" model="project.tags">
|
|
<field name="name">Usability</field>
|
|
</record>
|
|
|
|
<!-- Stages -->
|
|
<record id="project_stage_0" model="project.task.type">
|
|
<field name="sequence">1</field>
|
|
<field name="name">New</field>
|
|
<field name="legend_blocked">Blocked</field>
|
|
<field name="mail_template_id" ref="project.mail_template_data_project_task"/>
|
|
</record>
|
|
<record id="project_stage_1" model="project.task.type">
|
|
<field name="sequence">10</field>
|
|
<field name="name">In Progress</field>
|
|
<field name="legend_blocked">Need functional or technical help</field>
|
|
<field name="legend_done">Buzz or set as done</field>
|
|
</record>
|
|
<record id="project_stage_2" model="project.task.type">
|
|
<field name="sequence">20</field>
|
|
<field name="name">Done</field>
|
|
<field name="fold" eval="True"/>
|
|
<field name="is_closed" eval="True"/>
|
|
</record>
|
|
<record id="project_stage_3" model="project.task.type">
|
|
<field name="sequence">30</field>
|
|
<field name="name">Cancelled</field>
|
|
<field name="legend_done">Ready to reopen</field>
|
|
<field name="fold" eval="True"/>
|
|
<field name="is_closed" eval="True"/>
|
|
</record>
|
|
|
|
<record id="project_project_1" model="project.project">
|
|
<field name="date_start" eval="time.strftime('%Y-%m-01 10:00:00')"/>
|
|
<field name="name">Office Design</field>
|
|
<field name="color">3</field>
|
|
<field name="user_id" ref="base.user_demo"/>
|
|
<field name="type_ids" eval="[(4, ref('project_stage_0')), (4, ref('project_stage_1')), (4, ref('project_stage_2')), (4, ref('project_stage_3'))]"/>
|
|
<field name="partner_id" ref="base.partner_demo_portal"/>
|
|
<field name="privacy_visibility">portal</field>
|
|
<field name="favorite_user_ids" eval="[(4, ref('base.user_admin'))]"/>
|
|
</record>
|
|
|
|
<record id="project_project_2" model="project.project">
|
|
<field name="name">Research & Development</field>
|
|
<field name="privacy_visibility">followers</field>
|
|
<field name="user_id" ref="base.user_demo"/>
|
|
<field name="type_ids" eval="[(4, ref('project_stage_0')), (4, ref('project_stage_1')), (4, ref('project_stage_2')), (4, ref('project_stage_3'))]"/>
|
|
<field name="favorite_user_ids" eval="[(4, ref('base.user_admin'))]"/>
|
|
</record>
|
|
|
|
<!-- Tasks -->
|
|
<record id="project_task_1" model="project.task">
|
|
<field name="planned_hours" eval="40.0"/>
|
|
<field name="user_id" ref="base.user_demo"/>
|
|
<field name="priority">0</field>
|
|
<field name="project_id" ref="project.project_project_1"/>
|
|
<field name="name">Meeting Room Furnitures</field>
|
|
<field name="stage_id" ref="project_stage_0"/>
|
|
<field name="color">3</field>
|
|
</record>
|
|
<record id="project_task_2" model="project.task">
|
|
<field name="planned_hours" eval="32.0"/>
|
|
<field name="user_id" ref="base.user_demo"/>
|
|
<field name="priority">0</field>
|
|
<field name="project_id" ref="project.project_project_1"/>
|
|
<field name="name">Lunch Room: kitchen</field>
|
|
<field name="stage_id" ref="project_stage_1"/>
|
|
</record>
|
|
<record id="project_task_3" model="project.task">
|
|
<field name="planned_hours" eval="10.0"/>
|
|
<field name="user_id" ref="base.user_admin"/>
|
|
<field name="priority">0</field>
|
|
<field name="project_id" ref="project.project_project_1"/>
|
|
<field name="name">Noise Reduction</field>
|
|
<field name="date_deadline" eval="time.strftime('%Y-%m-24')"/>
|
|
<field name="stage_id" ref="project_stage_2"/>
|
|
<field name="color">4</field>
|
|
</record>
|
|
<record id="project_task_4" model="project.task">
|
|
<field name="planned_hours" eval="60.0"/>
|
|
<field name="user_id" ref="base.user_demo"/>
|
|
<field name="priority">0</field>
|
|
<field name="project_id" ref="project.project_project_1"/>
|
|
<field name="name">Black Chairs for managers</field>
|
|
<field name="description">Use the account_budget module</field>
|
|
<field name="date_deadline" eval="time.strftime('%Y-%m-19')"/>
|
|
<field name="color">5</field>
|
|
<field name="stage_id" ref="project_stage_1"/>
|
|
<field name="tag_ids" eval="[(6, 0, [
|
|
ref('project_tags_01')])]"/>
|
|
</record>
|
|
<record id="project_task_5" model="project.task">
|
|
<field name="planned_hours" eval="76.0"/>
|
|
<field name="user_id" ref="base.user_admin"/>
|
|
<field name="priority">1</field>
|
|
<field name="project_id" ref="project.project_project_1"/>
|
|
<field name="name">Room 1: Decoration</field>
|
|
<field name="kanban_state">done</field>
|
|
<field name="priority">0</field>
|
|
<field name="date_deadline" eval="time.strftime('%Y-%m-%d')"/>
|
|
<field name="stage_id" ref="project_stage_1"/>
|
|
<field name="tag_ids" eval="[(6, 0, [
|
|
ref('project_tags_01')])]"/>
|
|
</record>
|
|
<record id="project_task_6" model="project.task">
|
|
<field name="planned_hours" eval="24.0"/>
|
|
<field name="user_id" ref="base.user_admin"/>
|
|
<field name="priority">1</field>
|
|
<field name="project_id" ref="project.project_project_1"/>
|
|
<field name="name">Room 2: Decoration</field>
|
|
<field name="stage_id" ref="project_stage_1"/>
|
|
</record>
|
|
<record id="project_task_7" model="project.task">
|
|
<field name="planned_hours" eval="15.0"/>
|
|
<field name="user_id" ref="base.user_admin"/>
|
|
<field name="priority">1</field>
|
|
<field name="project_id" ref="project.project_project_1"/>
|
|
<field name="name">Energy Certificate</field>
|
|
<field name="stage_id" ref="project_stage_1"/>
|
|
</record>
|
|
<record id="project_task_8" model="project.task">
|
|
<field name="planned_hours" eval="22.0"/>
|
|
<field name="user_id" ref="base.user_demo"/>
|
|
<field name="priority">1</field>
|
|
<field name="project_id" ref="project.project_project_2"/>
|
|
<field name="name">New portal system</field>
|
|
<field name="priority">0</field>
|
|
<field name="stage_id" ref="project_stage_2"/>
|
|
<field name="tag_ids" eval="[(6, 0, [
|
|
ref('project.project_tags_02')])]"/>
|
|
</record>
|
|
<record id="project_task_9" model="project.task">
|
|
<field name="planned_hours" eval="18.0"/>
|
|
<field name="user_id" ref="base.user_demo"/>
|
|
<field name="priority">1</field>
|
|
<field name="project_id" ref="project.project_project_2"/>
|
|
<field name="name">Document management</field>
|
|
<field name="stage_id" ref="project_stage_0"/>
|
|
</record>
|
|
<record id="project_task_10" model="project.task">
|
|
<field name="planned_hours" eval="38.0"/>
|
|
<field name="user_id" ref="base.user_demo"/>
|
|
<field name="priority">1</field>
|
|
<field name="project_id" ref="project.project_project_2"/>
|
|
<field name="name">Social network integration</field>
|
|
<field name="kanban_state">blocked</field>
|
|
<field name="stage_id" ref="project_stage_1"/>
|
|
</record>
|
|
<record id="project_task_11" model="project.task">
|
|
<field name="planned_hours" eval="16.0"/>
|
|
<field name="user_id" ref="base.user_admin"/>
|
|
<field name="priority">1</field>
|
|
<field name="project_id" ref="project.project_project_2"/>
|
|
<field name="name">User interface improvements</field>
|
|
<field name="tag_ids" eval="[(6, 0, [
|
|
ref('project.project_tags_01'),
|
|
ref('project.project_tags_03')])]"/>
|
|
<field name="stage_id" ref="project_stage_1"/>
|
|
</record>
|
|
|
|
<record id="project_task_12" model="project.task">
|
|
<field name="planned_hours" eval="40.0"/>
|
|
<field name="user_id" ref="base.user_admin"/>
|
|
<field name="priority">1</field>
|
|
<field name="project_id" ref="project.project_project_2"/>
|
|
<field name="name">Planning and budget</field>
|
|
<field name="stage_id" ref="project_stage_0"/>
|
|
<field name="color">6</field>
|
|
</record>
|
|
|
|
<record id="project_task_19" model="project.task">
|
|
<field name="planned_hours">24.0</field>
|
|
<field name="stage_id" ref="project_stage_3"/>
|
|
<field name="user_id" eval="False"/>
|
|
<field name="project_id" ref="project.project_project_2"/>
|
|
<field name="name">Basic outline</field>
|
|
<field name="tag_ids" eval="[(6, 0, [
|
|
ref('project_tags_02')])]"/>
|
|
</record>
|
|
|
|
<record id="project_task_20" model="project.task">
|
|
<field name="planned_hours">42.0</field>
|
|
<field name="user_id" eval="False"/>
|
|
<field name="stage_id" ref="project_stage_0"/>
|
|
<field name="project_id" ref="project.project_project_2"/>
|
|
<field name="name">Create new components</field>
|
|
</record>
|
|
|
|
<record id="project_task_21" model="project.task">
|
|
<field name="planned_hours">14.0</field>
|
|
<field name="user_id" eval="False"/>
|
|
<field name="stage_id" ref="project_stage_1"/>
|
|
<field name="project_id" ref="project.project_project_2"/>
|
|
<field name="name">Useablity review</field>
|
|
<field name="tag_ids" eval="[(6, 0, [
|
|
ref('project_tags_03')])]"/>
|
|
</record>
|
|
|
|
<record id="project_task_22" model="project.task">
|
|
<field name="planned_hours">12.0</field>
|
|
<field name="stage_id" ref="project_stage_1"/>
|
|
<field name="user_id" eval="False"/>
|
|
<field name="priority">0</field>
|
|
<field name="project_id" ref="project.project_project_2"/>
|
|
<field name="name">Customer analysis + Architecture</field>
|
|
<field name="color">7</field>
|
|
</record>
|
|
<record id="project_task_24" model="project.task">
|
|
<field name="sequence">17</field>
|
|
<field name="planned_hours">8.0</field>
|
|
<field name="stage_id" ref="project_stage_2"/>
|
|
<field name="user_id" eval="False"/>
|
|
<field name="priority">1</field>
|
|
<field name="project_id" ref="project.project_project_1"/>
|
|
<field name="name">Modifications asked by the customer</field>
|
|
<field name="tag_ids" eval="[(6, 0, [
|
|
ref('project_tags_00')])]"/>
|
|
</record>
|
|
|
|
<record id="project_task_25" model="project.task">
|
|
<field name="sequence">20</field>
|
|
<field name="planned_hours">20.0</field>
|
|
<field name="user_id" eval="False"/>
|
|
<field name="project_id" ref="project.project_project_1"/>
|
|
<field name="name">Office planning</field>
|
|
<field name="stage_id" ref="project_stage_0"/>
|
|
</record>
|
|
|
|
<record id="project_task_26" model="project.task">
|
|
<field name="sequence">20</field>
|
|
<field name="planned_hours">35.0</field>
|
|
<field name="user_id" eval="False"/>
|
|
<field name="project_id" ref="project.project_project_2"/>
|
|
<field name="name">Unit Testing</field>
|
|
<field name="stage_id" ref="project_stage_0"/>
|
|
</record>
|
|
|
|
<record id="message_task_1" model="mail.message">
|
|
<field name="model">project.task</field>
|
|
<field name="res_id" ref="project_task_22"/>
|
|
<field name="body">Hello Demo,
|
|
There is a change in customer requirement.
|
|
Can you check the document from customer again.
|
|
Thanks,</field>
|
|
<field name="message_type">comment</field>
|
|
<field name="author_id" ref="base.partner_root"/>
|
|
</record>
|
|
<record id="message_task_2" model="mail.message">
|
|
<field name="model">project.task</field>
|
|
<field name="res_id" ref="project_task_22"/>
|
|
<field name="parent_id" ref="message_task_1"/>
|
|
<field name="body">Ok, I have checked the mail,
|
|
I will update the document and let you know.</field>
|
|
<field name="message_type">comment</field>
|
|
<field name="author_id" ref="base.partner_demo"/>
|
|
</record>
|
|
<record id="message_task_3" model="mail.message">
|
|
<field name="model">project.task</field>
|
|
<field name="res_id" ref="project_task_22"/>
|
|
<field name="parent_id" ref="message_task_2"/>
|
|
<field name="body">Fine!
|
|
Send it ASAP, its urgent.</field>
|
|
<field name="message_type">comment</field>
|
|
<field name="author_id" ref="base.partner_root"/>
|
|
</record>
|
|
|
|
<function model="project.project" name="message_subscribe"
|
|
eval="[ref('project.project_project_1')], [ref('base.partner_demo_portal')]"/>
|
|
|
|
|
|
<!-- Rating Demo Data -->
|
|
<record id="rating_task_1" model="rating.rating">
|
|
<field name="res_model_id" ref="project.model_project_task"/>
|
|
<field name="rated_partner_id" ref="base.partner_root"/>
|
|
<field name="partner_id" ref="base.partner_demo"/>
|
|
<field name="res_id" ref="project.project_task_3"/>
|
|
</record>
|
|
<record id="rating_task_2" model="rating.rating">
|
|
<field name="res_model_id" ref="project.model_project_task"/>
|
|
<field name="rated_partner_id" ref="base.partner_demo"/>
|
|
<field name="partner_id" ref="base.partner_demo"/>
|
|
<field name="res_id" ref="project.project_task_8"/>
|
|
</record>
|
|
<record id="rating_task_5" model="rating.rating">
|
|
<field name="res_model_id" ref="project.model_project_task"/>
|
|
<field name="rated_partner_id" ref="base.partner_root"/>
|
|
<field name="partner_id" ref="base.res_partner_4"/>
|
|
<field name="res_id" ref="project.project_task_24"/>
|
|
</record>
|
|
|
|
<!-- add the email template as value for the project stage 2 -->
|
|
<record id="project.project_stage_2" model="project.task.type">
|
|
<field name="rating_template_id" ref="rating_project_request_email_template"/>
|
|
</record>
|
|
|
|
<function model="project.task" name="rating_apply" eval="([ref('project.project_task_3')], 5)"/>
|
|
<function model="project.task" name="rating_apply" eval="([ref('project.project_task_24')], 5)"/>
|
|
<function model="project.task" name="rating_apply" eval="([ref('project.project_task_8')], 1)"/>
|
|
</data>
|
|
</odoo>
|