Skip to content

Commit fd2a6c9

Browse files
author
Laurent Stukkens (LTU)
committed
[IMP] project: add task dependencies in demo data
This commit adds task dependencies data in the demo data. task-2647340 Related PR: odoo/enterprise#21391 closes odoo#79103 X-original-commit: d7c2a7e Related: odoo/enterprise#21933 Signed-off-by: Xavier <[email protected]> Signed-off-by: Laurent Stukkens (ltu) <[email protected]>
1 parent 3f590e8 commit fd2a6c9

File tree

2 files changed

+80
-82
lines changed

2 files changed

+80
-82
lines changed

addons/project/data/project_demo.xml

Lines changed: 76 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@
77
<field name="groups_id" eval="[(4, ref('group_project_manager'))]"/>
88
</record>
99

10-
<!-- Groups : Add subtasks and recurring tasks by default -->
10+
<!-- Groups : Add subtasks, recurring tasks and task dependencies by default -->
1111
<record id="base.group_user" model="res.groups">
12-
<field name="implied_ids" eval="[(4, ref('group_subtask_project')), (4, ref('group_project_recurring_tasks'))]"/>
12+
<field name="implied_ids"
13+
eval="[(4, ref('group_subtask_project')), (4, ref('group_project_recurring_tasks')), (4, ref('group_project_task_dependencies'))]"/>
1314
</record>
1415

1516
<!-- Categories -->
@@ -398,6 +399,47 @@
398399
<field name="mail_message_id" ref="project_task_7_mail_message_1"/>
399400
</record>
400401

402+
<record id="project_task_22" model="project.task">
403+
<field name="planned_hours">12.0</field>
404+
<field name="stage_id" ref="project_stage_1"/>
405+
<field name="user_ids" eval="[(4, ref('base.user_admin')), (4, ref('base.user_demo'))]"/>
406+
<field name="priority">0</field>
407+
<field name="project_id" ref="project.project_project_2"/>
408+
<field name="name">Customer analysis + Architecture</field>
409+
<field name="color">7</field>
410+
<field name="create_date" eval="DateTime.now() - relativedelta(months=5)"/>
411+
</record>
412+
<record id="project_task_22_mail_message_1" model="mail.message">
413+
<field name="model">project.task</field>
414+
<field name="res_id" ref="project.project_task_22"/>
415+
<field name="message_type">notification</field>
416+
<field name="subtype_id" ref="mt_task_stage"/>
417+
<field name="date" eval="DateTime.now() - relativedelta(months=2)"/>
418+
<field name="author_id" ref="base.partner_admin"/>
419+
</record>
420+
<record id="project_task_22_mail_message_1_track_1" model="mail.tracking.value">
421+
<field name="field" model="ir.model.fields" eval="obj().search([('model', '=', 'project.task'), ('name', '=', 'stage_id')])"/>
422+
<field name="field_desc">Stage</field>
423+
<field name="old_value_char">New</field>
424+
<field name="new_value_char">In Progress</field>
425+
<field name="field_type">many2one</field>
426+
<field name="old_value_integer">1</field>
427+
<field name="new_value_integer">2</field>
428+
<field name="mail_message_id" ref="project_task_22_mail_message_1"/>
429+
</record>
430+
431+
<record id="project_task_12" model="project.task">
432+
<field name="planned_hours" eval="40.0"/>
433+
<field name="user_ids" eval="[(4, ref('base.user_admin'))]"/>
434+
<field name="priority">1</field>
435+
<field name="project_id" ref="project.project_project_2"/>
436+
<field name="name">Planning and budget</field>
437+
<field name="stage_id" ref="project_stage_0"/>
438+
<field name="color">6</field>
439+
<field name="create_date" eval="DateTime.now() - relativedelta(months=5)"/>
440+
<field name="depend_on_ids" eval="[(4, ref('project.project_task_22'))]"/>
441+
</record>
442+
401443
<record id="project_task_8" model="project.task">
402444
<field name="planned_hours" eval="22.0"/>
403445
<field name="user_ids" eval="[(4, ref('base.user_demo'))]"/>
@@ -409,6 +451,7 @@
409451
<field name="tag_ids" eval="[(6, 0, [
410452
ref('project.project_tags_02')])]"/>
411453
<field name="create_date" eval="DateTime.now() - relativedelta(months=5)"/>
454+
<field name="depend_on_ids" eval="[(4, ref('project.project_task_12'))]"/>
412455
</record>
413456
<record id="project_task_8_mail_message_1" model="mail.message">
414457
<field name="model">project.task</field>
@@ -447,15 +490,6 @@
447490
<field name="mail_message_id" ref="project_task_8_mail_message_2"/>
448491
</record>
449492

450-
<record id="project_task_9" model="project.task">
451-
<field name="planned_hours" eval="18.0"/>
452-
<field name="user_ids" eval="[(4, ref('base.user_demo'))]"/>
453-
<field name="priority">1</field>
454-
<field name="project_id" ref="project.project_project_2"/>
455-
<field name="name">Document management</field>
456-
<field name="stage_id" ref="project_stage_0"/>
457-
<field name="create_date" eval="DateTime.now() - relativedelta(months=5)"/>
458-
</record>
459493
<record id="project_task_10" model="project.task">
460494
<field name="planned_hours" eval="38.0"/>
461495
<field name="user_ids" eval="[(4, ref('base.user_demo'))]"/>
@@ -465,6 +499,7 @@
465499
<field name="kanban_state">blocked</field>
466500
<field name="stage_id" ref="project_stage_1"/>
467501
<field name="create_date" eval="DateTime.now() - relativedelta(months=5)"/>
502+
<field name="depend_on_ids" eval="[(4, ref('project.project_task_12'))]"/>
468503
</record>
469504
<record id="project_task_10_mail_message_1" model="mail.message">
470505
<field name="model">project.task</field>
@@ -496,6 +531,7 @@
496531
ref('project.project_tags_03')])]"/>
497532
<field name="stage_id" ref="project_stage_1"/>
498533
<field name="create_date" eval="DateTime.now() - relativedelta(months=5)"/>
534+
<field name="depend_on_ids" eval="[(4, ref('project.project_task_12'))]"/>
499535
</record>
500536
<record id="project_task_11_mail_message_1" model="mail.message">
501537
<field name="model">project.task</field>
@@ -516,82 +552,27 @@
516552
<field name="mail_message_id" ref="project_task_11_mail_message_1"/>
517553
</record>
518554

519-
<record id="project_task_12" model="project.task">
520-
<field name="planned_hours" eval="40.0"/>
521-
<field name="user_ids" eval="[(4, ref('base.user_admin'))]"/>
522-
<field name="priority">1</field>
523-
<field name="project_id" ref="project.project_project_2"/>
524-
<field name="name">Planning and budget</field>
525-
<field name="stage_id" ref="project_stage_0"/>
526-
<field name="color">6</field>
527-
<field name="create_date" eval="DateTime.now() - relativedelta(months=5)"/>
528-
</record>
529-
530-
<record id="project_task_19" model="project.task">
531-
<field name="planned_hours">24.0</field>
532-
<field name="stage_id" ref="project_stage_3"/>
533-
<field name="user_ids" eval="False"/>
534-
<field name="project_id" ref="project.project_project_2"/>
535-
<field name="name">Basic outline</field>
536-
<field name="tag_ids" eval="[(6, 0, [
537-
ref('project_tags_02')])]"/>
538-
<field name="create_date" eval="DateTime.now() - relativedelta(months=5)"/>
539-
</record>
540-
<record id="project_task_19_mail_message_1" model="mail.message">
541-
<field name="model">project.task</field>
542-
<field name="res_id" ref="project.project_task_19"/>
543-
<field name="message_type">notification</field>
544-
<field name="subtype_id" ref="mt_task_stage"/>
545-
<field name="date" eval="DateTime.now() - relativedelta(months=4)"/>
546-
<field name="author_id" ref="base.partner_admin"/>
547-
</record>
548-
<record id="project_task_19_mail_message_2" model="mail.message">
549-
<field name="model">project.task</field>
550-
<field name="res_id" ref="project.project_task_19"/>
551-
<field name="message_type">notification</field>
552-
<field name="subtype_id" ref="mt_task_stage"/>
553-
<field name="date" eval="DateTime.now() - relativedelta(months=4, days=10)"/>
554-
<field name="author_id" ref="base.partner_admin"/>
555-
</record>
556-
<record id="project_task_19_mail_message_1_track_1" model="mail.tracking.value">
557-
<field name="field" model="ir.model.fields" eval="obj().search([('model', '=', 'project.task'), ('name', '=', 'stage_id')])"/>
558-
<field name="field_desc">Stage</field>
559-
<field name="old_value_char">New</field>
560-
<field name="new_value_char">In Progress</field>
561-
<field name="field_type">many2one</field>
562-
<field name="old_value_integer">1</field>
563-
<field name="new_value_integer">2</field>
564-
<field name="mail_message_id" ref="project_task_19_mail_message_1"/>
565-
</record>
566-
<record id="project_task_19_mail_message_2_track_1" model="mail.tracking.value">
567-
<field name="field" model="ir.model.fields" eval="obj().search([('model', '=', 'project.task'), ('name', '=', 'stage_id')])"/>
568-
<field name="field_desc">Stage</field>
569-
<field name="old_value_char">In Progress</field>
570-
<field name="new_value_char">Cancelled</field>
571-
<field name="field_type">many2one</field>
572-
<field name="old_value_integer">2</field>
573-
<field name="new_value_integer">4</field>
574-
<field name="mail_message_id" ref="project_task_19_mail_message_2"/>
575-
</record>
576-
577555
<record id="project_task_20" model="project.task">
578556
<field name="planned_hours">42.0</field>
579557
<field name="user_ids" eval="False"/>
580558
<field name="stage_id" ref="project_stage_0"/>
581559
<field name="project_id" ref="project.project_project_2"/>
582560
<field name="name">Create new components</field>
583561
<field name="create_date" eval="DateTime.now() - relativedelta(months=5)"/>
562+
<field name="depend_on_ids" eval="[(4, ref('project.project_task_12'))]"/>
584563
</record>
585564

586565
<record id="project_task_21" model="project.task">
587566
<field name="planned_hours">14.0</field>
588-
<field name="user_ids" eval="False"/>
567+
<field name="user_ids" eval="[(4, ref('base.user_admin')), (4, ref('base.user_demo'))]"/>
589568
<field name="stage_id" ref="project_stage_1"/>
590569
<field name="project_id" ref="project.project_project_2"/>
591-
<field name="name">Useablity review</field>
570+
<field name="name">Usability review</field>
592571
<field name="tag_ids" eval="[(6, 0, [
593572
ref('project_tags_03')])]"/>
594573
<field name="create_date" eval="DateTime.now() - relativedelta(months=5)"/>
574+
<field name="depend_on_ids"
575+
eval="[(4, ref('project.project_task_8')), (4, ref('project.project_task_10')), (4, ref('project.project_task_11')), (4, ref('project.project_task_20'))]"/>
595576
</record>
596577
<record id="project_task_21_mail_message_1" model="mail.message">
597578
<field name="model">project.task</field>
@@ -612,33 +593,45 @@
612593
<field name="mail_message_id" ref="project_task_21_mail_message_1"/>
613594
</record>
614595

615-
<record id="project_task_22" model="project.task">
616-
<field name="planned_hours">12.0</field>
596+
<record id="project_task_9" model="project.task">
597+
<field name="planned_hours" eval="18.0"/>
598+
<field name="user_ids" eval="[(4, ref('base.user_admin')), (4, ref('base.user_demo'))]"/>
599+
<field name="priority">1</field>
600+
<field name="project_id" ref="project.project_project_2"/>
601+
<field name="name">Document management</field>
602+
<field name="stage_id" ref="project_stage_0"/>
603+
<field name="create_date" eval="DateTime.now() - relativedelta(months=5)"/>
604+
<field name="depend_on_ids" eval="[(4, ref('project.project_task_21'))]"/>
605+
</record>
606+
607+
<record id="project_task_19" model="project.task">
608+
<field name="planned_hours">24.0</field>
617609
<field name="stage_id" ref="project_stage_1"/>
618-
<field name="user_ids" eval="False"/>
619-
<field name="priority">0</field>
610+
<field name="user_ids" eval="[(4, ref('base.user_admin'))]"/>
620611
<field name="project_id" ref="project.project_project_2"/>
621-
<field name="name">Customer analysis + Architecture</field>
622-
<field name="color">7</field>
612+
<field name="name">Basic outline</field>
613+
<field name="tag_ids" eval="[(6, 0, [
614+
ref('project_tags_02')])]"/>
623615
<field name="create_date" eval="DateTime.now() - relativedelta(months=5)"/>
616+
<field name="depend_on_ids" eval="[(4, ref('project.project_task_22'))]"/>
624617
</record>
625-
<record id="project_task_22_mail_message_1" model="mail.message">
618+
<record id="project_task_19_mail_message_1" model="mail.message">
626619
<field name="model">project.task</field>
627-
<field name="res_id" ref="project.project_task_22"/>
620+
<field name="res_id" ref="project.project_task_19"/>
628621
<field name="message_type">notification</field>
629622
<field name="subtype_id" ref="mt_task_stage"/>
630-
<field name="date" eval="DateTime.now() - relativedelta(months=2)"/>
623+
<field name="date" eval="DateTime.now() - relativedelta(months=4)"/>
631624
<field name="author_id" ref="base.partner_admin"/>
632625
</record>
633-
<record id="project_task_22_mail_message_1_track_1" model="mail.tracking.value">
626+
<record id="project_task_19_mail_message_1_track_1" model="mail.tracking.value">
634627
<field name="field" model="ir.model.fields" eval="obj().search([('model', '=', 'project.task'), ('name', '=', 'stage_id')])"/>
635628
<field name="field_desc">Stage</field>
636629
<field name="old_value_char">New</field>
637630
<field name="new_value_char">In Progress</field>
638631
<field name="field_type">many2one</field>
639632
<field name="old_value_integer">1</field>
640633
<field name="new_value_integer">2</field>
641-
<field name="mail_message_id" ref="project_task_22_mail_message_1"/>
634+
<field name="mail_message_id" ref="project_task_19_mail_message_1"/>
642635
</record>
643636

644637
<record id="project_task_24" model="project.task">
@@ -708,6 +701,7 @@
708701
<field name="name">Unit Testing</field>
709702
<field name="stage_id" ref="project_stage_2"/>
710703
<field name="create_date" eval="DateTime.now() - relativedelta(months=5)"/>
704+
<field name="depend_on_ids" eval="[(4, ref('project.project_task_21'))]"/>
711705
</record>
712706
<record id="project_task_26_mail_message_1" model="mail.message">
713707
<field name="model">project.task</field>

addons/project/tests/test_task_dependencies.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,10 @@ def set_task_dependencies_setting(enabled):
140140
'allow_task_dependencies': False,
141141
})
142142

143+
# As the the Project General Setting group_project_task_dependencies needs to be toggled in order
144+
# to be applied on the existing projects we need to force it so that it does not depends on anything
145+
# (like demo data for instance)
146+
set_task_dependencies_setting(False)
143147
set_task_dependencies_setting(True)
144148
self.assertTrue(self.project_pigs.allow_task_dependencies, "Projects allow_task_dependencies should follow group_project_task_dependencies setting changes")
145149

0 commit comments

Comments
 (0)