fix
[odoo/odoo.git] / addons / project_long_term / test / schedule_project_phases.yml
1 -
2   Create a project 'World Bank's Project'
3 -
4   !record {model: project.project, id: project_project_worldbanksproject0}:
5     name: "World Bank's Project"
6     priority: 4
7     members:
8       - project.res_users_analyst
9       - project.res_users_project_manager
10       - project.res_users_technical_leader
11       - project.res_users_developer
12       - project.res_users_designer
13       - project.res_users_tester
14
15 -
16   Create a project phase 'Defining Client's Basic Idea of Project'
17 -
18   !record {model: project.phase, id: project_phase_definingclientsbasicideaofproject0}:
19     date_start: !eval time.strftime('%Y-%m-%d')
20     duration: 15.0
21     name: "Defining Client's Basic Idea of Project"
22     product_uom: product.uom_day
23     project_id: project_project_worldbanksproject0
24
25 -
26   Create project phase 'Establishing Project Feasibility'
27 -
28   !record {model: project.phase, id: project_phase_establishingprojectfeasibility0}:
29     date_start: !eval time.strftime('%Y-%m-%d')
30     duration: 30.0
31     name: Establishing Project Feasibility
32     product_uom: product.uom_day
33     project_id: project_project_worldbanksproject0
34 -
35   Create the phase task 'Develop GUI for Server Configuration'
36 -
37   !record {model: project.task, id: project_task_t0}:
38     name: Develop GUI for Server Configuration
39     planned_hours: 20.0
40     state: draft
41     phase_id:  project_phase_definingclientsbasicideaofproject0
42     project_id: project_project_worldbanksproject0
43
44 -
45   Create the phase task 'Develop GUI for Modules Configuration'
46 -
47   !record {model: project.task, id: project_task_t1}:
48     name: Develop GUI for Modules Configuration
49     planned_hours: 25.0
50     remaining_hours: 25.0
51     state: draft
52     phase_id:  project_phase_definingclientsbasicideaofproject0
53     project_id: project_project_worldbanksproject0
54
55 -
56   Create project phase 'Preparation of Engineering Designs'
57 -
58   !record {model: project.phase, id: project_phase_preparationofengineeringdesigns0}:
59     date_start: !eval time.strftime('%Y-%m-%d')
60     duration: 100.0
61     name: Preparation of Engineering Designs
62     product_uom: product.uom_hour
63     project_id: project_project_worldbanksproject0
64
65 -
66   Create the phase task 'Develop GUI for Client Configuration'
67 -
68   !record {model: project.task, id: project_task_t2}:
69     name: Develop GUI for Server Configuration
70     planned_hours: 20.0
71     remaining_hours: 20.0
72     state: draft
73     phase_id:  project_phase_preparationofengineeringdesigns0
74     project_id: project_project_worldbanksproject0
75
76 -
77   Create the phase task 'Develop GUI for Client Module Configuration'
78 -
79   !record {model: project.task, id: project_task_t3}:
80     name: Develop GUI for Modules Configuration
81     planned_hours: 25.0
82     remaining_hours: 25.0
83     state: draft
84     phase_id:  project_phase_preparationofengineeringdesigns0
85     project_id: project_project_worldbanksproject0
86
87
88 -
89   Create project phase 'Procurement of Works and Goods'
90 -
91   !record {model: project.phase, id: project_phase_procurementofworksandgoods0}:
92     date_start: !eval time.strftime('%Y-%m-%d')
93     duration: 24.0
94     name: Procurement of Works and Goods
95     product_uom: product.uom_hour
96     project_id: project_project_worldbanksproject0
97
98 -
99   Create project phase 'Project Construction'
100 -
101   !record {model: project.phase, id: project_phase_projectconstruction0}:
102     date_start: !eval time.strftime('%Y-%m-%d')
103     duration: 4320.0
104     name: Project Construction
105     product_uom: product.uom_hour
106     project_id: project_project_worldbanksproject0
107
108
109 -
110   Create project phase 'Project Completion'
111 -
112   !record {model: project.phase, id: project_phase_projectcompletion0}:
113     date_start: !eval time.strftime('%Y-%m-%d')
114     duration: 240.0
115     name: Project Completion
116     product_uom: product.uom_hour
117     project_id: project_project_worldbanksproject0
118
119 -
120   Set previous phase for phase 'Establishing Project Feasibility'
121 -
122   !record {model: project.phase, id: project_phase_establishingprojectfeasibility0}:
123     previous_phase_ids:
124       - project_phase_definingclientsbasicideaofproject0
125
126
127 -
128   Set previous phase for phase 'Preparation of Engineering Designs'
129 -
130   !record {model: project.phase, id: project_phase_preparationofengineeringdesigns0}:
131     previous_phase_ids:
132       - project_phase_establishingprojectfeasibility0
133
134 -
135   Set previous phase for phase 'Procurement of Works and Goods'
136 -
137   !record {model: project.phase, id: project_phase_procurementofworksandgoods0}:
138     previous_phase_ids:
139       - project_phase_preparationofengineeringdesigns0
140
141 -
142   Set previous phase for phase 'Project Construction'
143 -
144   !record {model: project.phase, id: project_phase_projectconstruction0}:
145     previous_phase_ids:
146       - project_phase_procurementofworksandgoods0
147
148
149 -
150   Set previous phase for phase 'Project Completion'
151 -
152   !record {model: project.phase, id: project_phase_projectcompletion0}:
153     previous_phase_ids:
154       - project_phase_projectconstruction0
155
156
157 -
158   Get the project to schedule phases
159 -
160   !record {model: project.compute.phases, id: project_compute_phases_0}:
161     project_id: project_project_worldbanksproject0
162     target_project: one
163
164
165 -
166   Schedule project phases
167 -
168   !python {model: project.project}: |
169     self.schedule_phases(cr, uid, ref("project_project_worldbanksproject0"))
170
171 -
172   Check if phases scheduled, check that either of phase's start_date, end_date and user_id is not null
173 -
174   !python {model: project.project}: |
175      prj=self.browse(cr, uid, [ref("project_project_worldbanksproject0")])[0]
176      for phase in prj.phase_ids:
177         if (not phase.date_start) or (not phase.date_end):
178             raise AssertionError("Tasks not scheduled")
179
180