Merge lp:~camptocamp/project-service/7.0-port-project_service_type into lp:~project-core-editors/project-service/trunk
- 7.0-port-project_service_type
- Merge into trunk
Status: | Work in progress |
---|---|
Proposed branch: | lp:~camptocamp/project-service/7.0-port-project_service_type |
Merge into: | lp:~project-core-editors/project-service/trunk |
Diff against target: |
512 lines (+291/-153) 7 files modified
project_service_type/__init__.py (+18/-24) project_service_type/__openerp__.py (+32/-40) project_service_type/i18n/en.po (+79/-0) project_service_type/i18n/fr.po (+79/-0) project_service_type/project.py (+36/-47) project_service_type/project_view.xml (+44/-42) project_service_type/security/ir.model.access.csv (+3/-0) |
To merge this branch: | bzr merge lp:~camptocamp/project-service/7.0-port-project_service_type |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Maxime Chambreuil (http://www.savoirfairelinux.com) | Abstain | ||
Guewen Baconnier @ Camptocamp | Needs Fixing | ||
Daniel Reis | Needs Information | ||
Review via email: mp+162135@code.launchpad.net |
Commit message
Description of the change
Frederic Clementi - Camptocamp (frederic-clementi) wrote : | # |
Ok for the comment. Do you agree with this king of comment ?
Fixed price -> 'when project price is an upfront agreed price'
Responsibility / Closed price -> 'when invoicing is based on actual worked time (only an hourly/daily price has been agreed).
Yannick Vaucher @ Camptocamp (yvaucher-c2c) wrote : | # |
I updated the terms and made help text:
Forfait (FR) -> Fixed price
Plafond (FR) -> Responsibility / Closed price
Régie (FR) -> Force account
Maybe not the best terms?
Daniel Reis (dreis-pt) wrote : | # |
Sorry for not commenting earlier.
I've just learned that v7 official modules have some support for different type of service projects: take a look at https:/
If you install "Contract Management", you get new fields for the invoicing methods to use:
- `fix_price_
- `invoice_on timesheets` flag, if there is invoicing based on actual work
Could this make the new `project_type` unnecessary?
Guewen Baconnier @ Camptocamp (gbaconnier-c2c) wrote : | # |
> I updated the terms and made help text:
>
> Forfait (FR) -> Fixed price
> Plafond (FR) -> Responsibility / Closed price
> Régie (FR) -> Force account
>
> Maybe not the best terms?
Renaming the string of a selection is a thing. The 'stored' part of the selection should be renamed as well.
> If you install "Contract Management", you get new fields for the invoicing methods to use:
> - `fix_price_
> - `invoice_on timesheets` flag, if there is invoicing based on actual work
>
> Could this make the new `project_type` unnecessary?
Good catch, this is something to consider.
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) wrote : | # |
Based on Daniel's comment, I would disapprove this MP as the need is already answered.
But I guess this module is a dependency of others and their migration requires an effort I don't know, which is why I will abstain.
Guewen Baconnier @ Camptocamp (gbaconnier-c2c) wrote : | # |
That's a module we use at least for our own OpenERP.
My guess is that project_type exists for historical reasons, and we might consider to remove it if it can be replaced by native fields. I don't know exactly what it is used for and the implications if we change that.
Yannick, can you check, according to the Daniel's comment, if the 'project_type' is really a requirement for us and if it can be replaced by 'fix_price_
Thanks!
Unmerged revisions
- 32. By Yannick Vaucher @ Camptocamp
-
[ADD] project_
service_ type - translations + reformat help message for field project_type - 31. By Yannick Vaucher @ Camptocamp
-
[IMP] project_
service_ type - change class name to camelcase - 30. By Yannick Vaucher @ Camptocamp
-
[FIX] project_
service_ type - remove extra coma - 29. By Yannick Vaucher @ Camptocamp
-
[ADD] project_
service_ type - security - 28. By Yannick Vaucher @ Camptocamp
-
[IMP] project_
service_ type - translate budget types - 27. By Yannick Vaucher @ Camptocamp
-
[IMP] project_
service_ type - retab xml file - 26. By Yannick Vaucher @ Camptocamp
-
[IMP] project_
service_ type - update license to AGPL - 25. By Yannick Vaucher @ Camptocamp
-
[IMP] project_
service_ type - use orm.Model instead of alias osv.osv - 24. By Yannick Vaucher @ Camptocamp
-
[MIG] portage of project_
service_ type by OpenERP
Preview Diff
1 | === modified file 'project_service_type/__init__.py' |
2 | --- project_service_type/__init__.py 2011-08-12 12:33:12 +0000 |
3 | +++ project_service_type/__init__.py 2013-06-17 13:17:26 +0000 |
4 | @@ -1,29 +1,23 @@ |
5 | # -*- coding: utf-8 -*- |
6 | ############################################################################## |
7 | # |
8 | -# Copyright (c) 2010 Camtocamp SA |
9 | -# @author Joël Grand-Guillaume |
10 | -# |
11 | -# WARNING: This program as such is intended to be used by professional |
12 | -# programmers who take the whole responsability of assessing all potential |
13 | -# consequences resulting from its eventual inadequacies and bugs |
14 | -# End users who are looking for a ready-to-use solution with commercial |
15 | -# garantees and support are strongly adviced to contract a Free Software |
16 | -# Service Company |
17 | -# |
18 | -# This program is Free Software; you can redistribute it and/or |
19 | -# modify it under the terms of the GNU General Public License |
20 | -# as published by the Free Software Foundation; either version 2 |
21 | -# of the License, or (at your option) any later version. |
22 | -# |
23 | -# This program is distributed in the hope that it will be useful, |
24 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of |
25 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
26 | -# GNU General Public License for more details. |
27 | -# |
28 | -# You should have received a copy of the GNU General Public License |
29 | -# along with this program; if not, write to the Free Software |
30 | -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
31 | +# Author: Joël Grand-Guillaume |
32 | +# Copyright 2010 Camptocamp SA |
33 | +# |
34 | +# This program is free software: you can redistribute it and/or modify |
35 | +# it under the terms of the GNU Affero General Public License as |
36 | +# published by the Free Software Foundation, either version 3 of the |
37 | +# License, or (at your option) any later version. |
38 | +# |
39 | +# This program is distributed in the hope that it will be useful, |
40 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
41 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
42 | +# GNU Affero General Public License for more details. |
43 | +# |
44 | +# You should have received a copy of the GNU Affero General Public License |
45 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
46 | # |
47 | ############################################################################## |
48 | -import project |
49 | \ No newline at end of file |
50 | +import project |
51 | + |
52 | +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
53 | |
54 | === modified file 'project_service_type/__openerp__.py' |
55 | --- project_service_type/__openerp__.py 2013-03-04 16:16:31 +0000 |
56 | +++ project_service_type/__openerp__.py 2013-06-17 13:17:26 +0000 |
57 | @@ -1,48 +1,40 @@ |
58 | # -*- coding: utf-8 -*- |
59 | ############################################################################## |
60 | # |
61 | -# @author Grand-Guillaume Joel |
62 | -# WARNING: This program as such is intended to be used by professional |
63 | -# programmers who take the whole responsability of assessing all potential |
64 | -# consequences resulting from its eventual inadequacies and bugs |
65 | -# End users who are looking for a ready-to-use solution with commercial |
66 | -# garantees and support are strongly adviced to contract a Free Software |
67 | -# Service Company |
68 | -# |
69 | -# This program is Free Software; you can redistribute it and/or |
70 | -# modify it under the terms of the GNU General Public License |
71 | -# as published by the Free Software Foundation; either version 2 |
72 | -# of the License, or (at your option) any later version. |
73 | -# |
74 | -# This program is distributed in the hope that it will be useful, |
75 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of |
76 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
77 | -# GNU General Public License for more details. |
78 | -# |
79 | -# You should have received a copy of the GNU General Public License |
80 | -# along with this program; if not, write to the Free Software |
81 | -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
82 | +# Author: Joël Grand-Guillaume |
83 | +# Copyright 2010 Camptocamp SA |
84 | +# |
85 | +# This program is free software: you can redistribute it and/or modify |
86 | +# it under the terms of the GNU Affero General Public License as |
87 | +# published by the Free Software Foundation, either version 3 of the |
88 | +# License, or (at your option) any later version. |
89 | +# |
90 | +# This program is distributed in the hope that it will be useful, |
91 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
92 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
93 | +# GNU Affero General Public License for more details. |
94 | +# |
95 | +# You should have received a copy of the GNU Affero General Public License |
96 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
97 | # |
98 | ############################################################################## |
99 | - |
100 | { |
101 | - "name": "Add type of service on project", |
102 | - "version": "1.0", |
103 | - "author": "Camptocamp", |
104 | - "category": "Generic Modules/Projects & Services", |
105 | - "description": |
106 | -""" |
107 | + 'name' : 'Add type of service on project', |
108 | + 'version' : '1.0', |
109 | + 'category' : 'Generic Modules/Projects & Services', |
110 | + 'description': |
111 | +''' |
112 | This will add a type of service on project allowing you to categorize them. |
113 | -""", |
114 | - "website": "http://camptocamp.com", |
115 | - "depends": [ |
116 | - "project", |
117 | - ], |
118 | - "init_xml": [], |
119 | - "demo_xml": [], |
120 | - "update_xml": [ |
121 | - "project_view.xml" |
122 | - ], |
123 | - "active": False, |
124 | - "installable": False |
125 | +''', |
126 | + 'author' : 'Camptocamp', |
127 | + 'website': 'http://camptocamp.com', |
128 | + 'depends' : ['project'], |
129 | + 'data' : ['project_view.xml'], |
130 | + 'demo_xml' : [], |
131 | + 'test': [], |
132 | + 'installable': True, |
133 | + 'auto_install': False, |
134 | + 'application': False |
135 | } |
136 | + |
137 | +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
138 | |
139 | === added directory 'project_service_type/i18n' |
140 | === added file 'project_service_type/i18n/en.po' |
141 | --- project_service_type/i18n/en.po 1970-01-01 00:00:00 +0000 |
142 | +++ project_service_type/i18n/en.po 2013-06-17 13:17:26 +0000 |
143 | @@ -0,0 +1,79 @@ |
144 | +# Translation of OpenERP Server. |
145 | +# This file contains the translation of the following modules: |
146 | +# * project_service_type |
147 | +# |
148 | +msgid "" |
149 | +msgstr "" |
150 | +"Project-Id-Version: OpenERP Server 7.0\n" |
151 | +"Report-Msgid-Bugs-To: \n" |
152 | +"POT-Creation-Date: 2013-06-17 12:56+0000\n" |
153 | +"PO-Revision-Date: 2013-06-17 12:56+0000\n" |
154 | +"Last-Translator: <>\n" |
155 | +"Language-Team: \n" |
156 | +"MIME-Version: 1.0\n" |
157 | +"Content-Type: text/plain; charset=UTF-8\n" |
158 | +"Content-Transfer-Encoding: \n" |
159 | +"Plural-Forms: \n" |
160 | + |
161 | +#. module: project_service_type |
162 | +#: field:project.project,project_type:0 |
163 | +msgid "Budget Type" |
164 | +msgstr "Budget Type" |
165 | + |
166 | +#. module: project_service_type |
167 | +#: selection:project.project,project_type:0 |
168 | +msgid "Force account" |
169 | +msgstr "Force account" |
170 | + |
171 | +#. module: project_service_type |
172 | +#: field:project.project,project_service_id:0 |
173 | +#: view:project.service_type:0 |
174 | +#: field:project.service_type,name:0 |
175 | +msgid "Service Type" |
176 | +msgstr "Service Type" |
177 | + |
178 | +#. module: project_service_type |
179 | +#: model:ir.model,name:project_service_type.model_project_service_type |
180 | +msgid "Service type" |
181 | +msgstr "Service type" |
182 | + |
183 | +#. module: project_service_type |
184 | +#: model:ir.module.module,shortdesc:project_service_type.module_meta_information |
185 | +msgid "Add type of service on project" |
186 | +msgstr "Add type of service on project" |
187 | + |
188 | +#. module: project_service_type |
189 | +#: model:ir.model,name:project_service_type.model_project_project |
190 | +msgid "Project" |
191 | +msgstr "Project" |
192 | + |
193 | +#. module: project_service_type |
194 | +#: model:ir.module.module,description:project_service_type.module_meta_information |
195 | +msgid "\n" |
196 | +"This will add a type of service on project allowing you to categorize them.\n" |
197 | +"" |
198 | +msgstr "\n" |
199 | +"This will add a type of service on project allowing you to categorize them.\n" |
200 | +"" |
201 | + |
202 | +#. module: project_service_type |
203 | +#: model:ir.actions.act_window,name:project_service_type.action_service_type |
204 | +#: model:ir.ui.menu,name:project_service_type.menu_service_type |
205 | +msgid "Service Types" |
206 | +msgstr "Service Types" |
207 | + |
208 | +#. module: project_service_type |
209 | +#: selection:project.project,project_type:0 |
210 | +msgid "Responsibility / Closed price" |
211 | +msgstr "Responsibility / Closed price" |
212 | + |
213 | +#. module: project_service_type |
214 | +#: selection:project.project,project_type:0 |
215 | +msgid "Fixed price" |
216 | +msgstr "Fixed price" |
217 | + |
218 | +#. module: project_service_type |
219 | +#: help:project.project,project_type:0 |
220 | +msgid "Fixed price: When project is an upfront agreed price.\nResponsibility / Closed price : When a ceiling price is defined for the project.\nForce account: When invoicing is based on actual worked time (only an hourly/daily price has been agreed)." |
221 | +msgstr "Fixed price: When project is an upfront agreed price.\nResponsibility / Closed price : When a ceiling price is defined for the project.\nForce account: When invoicing is based on actual worked time (only an hourly/daily price has been agreed)." |
222 | + |
223 | |
224 | === added file 'project_service_type/i18n/fr.po' |
225 | --- project_service_type/i18n/fr.po 1970-01-01 00:00:00 +0000 |
226 | +++ project_service_type/i18n/fr.po 2013-06-17 13:17:26 +0000 |
227 | @@ -0,0 +1,79 @@ |
228 | +# Translation of OpenERP Server. |
229 | +# This file contains the translation of the following modules: |
230 | +# * project_service_type |
231 | +# |
232 | +msgid "" |
233 | +msgstr "" |
234 | +"Project-Id-Version: OpenERP Server 7.0\n" |
235 | +"Report-Msgid-Bugs-To: \n" |
236 | +"POT-Creation-Date: 2013-06-17 12:57+0000\n" |
237 | +"PO-Revision-Date: 2013-06-17 12:57+0000\n" |
238 | +"Last-Translator: Yannick Vaucher (Camptocamp) <>\n" |
239 | +"Language-Team: \n" |
240 | +"MIME-Version: 1.0\n" |
241 | +"Content-Type: text/plain; charset=UTF-8\n" |
242 | +"Content-Transfer-Encoding: \n" |
243 | +"Plural-Forms: \n" |
244 | + |
245 | +#. module: project_service_type |
246 | +#: field:project.project,project_type:0 |
247 | +msgid "Budget Type" |
248 | +msgstr "Type de budget" |
249 | + |
250 | +#. module: project_service_type |
251 | +#: selection:project.project,project_type:0 |
252 | +msgid "Force account" |
253 | +msgstr "Régie" |
254 | + |
255 | +#. module: project_service_type |
256 | +#: field:project.project,project_service_id:0 |
257 | +#: view:project.service_type:0 |
258 | +#: field:project.service_type,name:0 |
259 | +msgid "Service Type" |
260 | +msgstr "Type de service" |
261 | + |
262 | +#. module: project_service_type |
263 | +#: model:ir.model,name:project_service_type.model_project_service_type |
264 | +msgid "Service type" |
265 | +msgstr "Type de service" |
266 | + |
267 | +#. module: project_service_type |
268 | +#: model:ir.module.module,shortdesc:project_service_type.module_meta_information |
269 | +msgid "Add type of service on project" |
270 | +msgstr "Ajoute un type de service au project" |
271 | + |
272 | +#. module: project_service_type |
273 | +#: model:ir.model,name:project_service_type.model_project_project |
274 | +msgid "Project" |
275 | +msgstr "Projet" |
276 | + |
277 | +#. module: project_service_type |
278 | +#: model:ir.module.module,description:project_service_type.module_meta_information |
279 | +msgid "\n" |
280 | +"This will add a type of service on project allowing you to categorize them.\n" |
281 | +"" |
282 | +msgstr "\n" |
283 | +"Ceci va ajouter un type de service au projet, ce qui permet de les catégoriser.\n" |
284 | +"" |
285 | + |
286 | +#. module: project_service_type |
287 | +#: model:ir.actions.act_window,name:project_service_type.action_service_type |
288 | +#: model:ir.ui.menu,name:project_service_type.menu_service_type |
289 | +msgid "Service Types" |
290 | +msgstr "Types de service" |
291 | + |
292 | +#. module: project_service_type |
293 | +#: selection:project.project,project_type:0 |
294 | +msgid "Responsibility / Closed price" |
295 | +msgstr "Plafond" |
296 | + |
297 | +#. module: project_service_type |
298 | +#: selection:project.project,project_type:0 |
299 | +msgid "Fixed price" |
300 | +msgstr "Forfait" |
301 | + |
302 | +#. module: project_service_type |
303 | +#: help:project.project,project_type:0 |
304 | +msgid "Fixed price: When project is an upfront agreed price.\nResponsibility / Closed price : When a ceiling price is defined for the project.\nForce account: When invoicing is based on actual worked time (only an hourly/daily price has been agreed)." |
305 | +msgstr "Forfait: Quand le prix convenu du projet est un prix défini à l'avance.\nPlafond : Quand un prix plafond est défini pour le projet.\nRégie: Quand la facturation se base sur le temps de travail accompli (seul un tarif heure/jour à été convenu)." |
306 | + |
307 | |
308 | === modified file 'project_service_type/project.py' |
309 | --- project_service_type/project.py 2011-08-12 12:33:12 +0000 |
310 | +++ project_service_type/project.py 2013-06-17 13:17:26 +0000 |
311 | @@ -1,57 +1,46 @@ |
312 | # -*- coding: utf-8 -*- |
313 | ############################################################################## |
314 | # |
315 | -# Copyright (c) 2010 Camtocamp SA |
316 | -# @author Joël Grand-Guillaume |
317 | -# $Id: $ |
318 | -# |
319 | -# WARNING: This program as such is intended to be used by professional |
320 | -# programmers who take the whole responsability of assessing all potential |
321 | -# consequences resulting from its eventual inadequacies and bugs |
322 | -# End users who are looking for a ready-to-use solution with commercial |
323 | -# garantees and support are strongly adviced to contract a Free Software |
324 | -# Service Company |
325 | -# |
326 | -# This program is Free Software; you can redistribute it and/or |
327 | -# modify it under the terms of the GNU General Public License |
328 | -# as published by the Free Software Foundation; either version 2 |
329 | -# of the License, or (at your option) any later version. |
330 | -# |
331 | -# This program is distributed in the hope that it will be useful, |
332 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of |
333 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
334 | -# GNU General Public License for more details. |
335 | -# |
336 | -# You should have received a copy of the GNU General Public License |
337 | -# along with this program; if not, write to the Free Software |
338 | -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
339 | +# Author: Joël Grand-Guillaume |
340 | +# Copyright 2010 Camptocamp SA |
341 | +# |
342 | +# This program is free software: you can redistribute it and/or modify |
343 | +# it under the terms of the GNU Affero General Public License as |
344 | +# published by the Free Software Foundation, either version 3 of the |
345 | +# License, or (at your option) any later version. |
346 | +# |
347 | +# This program is distributed in the hope that it will be useful, |
348 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
349 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
350 | +# GNU Affero General Public License for more details. |
351 | +# |
352 | +# You should have received a copy of the GNU Affero General Public License |
353 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
354 | # |
355 | ############################################################################## |
356 | - |
357 | -from osv import fields |
358 | -from osv import osv |
359 | - |
360 | -from tools import config |
361 | - |
362 | -class project_service_type(osv.osv): |
363 | +from openerp.osv import orm, fields |
364 | + |
365 | +class ProjectServiceType(orm.Model): |
366 | _name = "project.service_type" |
367 | _description = "Service type" |
368 | - |
369 | _columns = { |
370 | - 'name': fields.char('Service type', required=True, size=64), |
371 | - } |
372 | - |
373 | - |
374 | -project_service_type() |
375 | - |
376 | - |
377 | -class project_project(osv.osv): |
378 | + 'name': fields.char('Service Type', required=True, size=64), |
379 | + } |
380 | + |
381 | + |
382 | +class ProjectProject(orm.Model): |
383 | _inherit = 'project.project' |
384 | - |
385 | _columns = { |
386 | - 'project_service_id':fields.many2one('project.service_type', 'Service type', required=True), |
387 | - 'project_type': fields.selection([('forfait', 'Forfait'),('plafond', 'Plafond'),('regie', 'Regie')], 'Type', required=True), |
388 | - } |
389 | - |
390 | - |
391 | -project_project() |
392 | + 'project_service_id':fields.many2one('project.service_type', 'Service Type', required=True), |
393 | + 'project_type': fields.selection( |
394 | + [('forfait', 'Fixed price'), |
395 | + ('plafond', 'Responsibility / Closed price'), |
396 | + ('regie', 'Force account')], 'Budget Type', required=True, |
397 | + help=( |
398 | + "Fixed price: When project is an upfront agreed price.\n" |
399 | + "Responsibility / Closed price : When a ceiling price is defined for the project.\n" |
400 | + "Force account: When invoicing is based on actual" |
401 | + " worked time (only an hourly/daily price has been agreed).")), |
402 | + } |
403 | + |
404 | +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
405 | |
406 | === modified file 'project_service_type/project_view.xml' |
407 | --- project_service_type/project_view.xml 2011-08-12 12:33:12 +0000 |
408 | +++ project_service_type/project_view.xml 2013-06-17 13:17:26 +0000 |
409 | @@ -1,50 +1,52 @@ |
410 | -<terp> |
411 | -<data> |
412 | - |
413 | +<?xml version="1.0" encoding="utf-8"?> |
414 | +<openerp> |
415 | + <data> |
416 | + |
417 | <record model="ir.ui.view" id="view_service_type_form"> |
418 | - <field name="name">project.service_type.form</field> |
419 | - <field name="model">project.service_type</field> |
420 | - <field name="type">form</field> |
421 | - <field name="arch" type="xml"> |
422 | - <form string="Service type"> |
423 | - <field name="name" select="1"/> |
424 | - </form> |
425 | - </field> |
426 | + <field name="name">project.service_type.form</field> |
427 | + <field name="model">project.service_type</field> |
428 | + <field name="arch" type="xml"> |
429 | + <form string="Service Type" version="7.0"> |
430 | + <group> |
431 | + <field name="name"/> |
432 | + </group> |
433 | + </form> |
434 | + </field> |
435 | </record> |
436 | + |
437 | <record model="ir.ui.view" id="view_service_type_list"> |
438 | - <field name="name">project.service_type.list</field> |
439 | - <field name="model">project.service_type</field> |
440 | - <field name="type">tree</field> |
441 | - <field name="priority" eval="6"/> |
442 | - <field name="arch" type="xml"> |
443 | - <tree string="Service type"> |
444 | - <field name="name"/> |
445 | - </tree> |
446 | - </field> |
447 | + <field name="name">project.service_type.list</field> |
448 | + <field name="model">project.service_type</field> |
449 | + <field name="priority" eval="6"/> |
450 | + <field name="arch" type="xml"> |
451 | + <tree string="Service Type"> |
452 | + <field name="name"/> |
453 | + </tree> |
454 | + </field> |
455 | </record> |
456 | - |
457 | + |
458 | <record model="ir.actions.act_window" id="action_service_type"> |
459 | - <field name="name">Service types</field> |
460 | - <field name="type">ir.actions.act_window</field> |
461 | - <field name="res_model">project.service_type</field> |
462 | - <field name="view_type">form</field> |
463 | - <field name="view_mode">tree,form</field> |
464 | - <field name="view_id" ref="view_service_type_list"/> |
465 | + <field name="name">Service Types</field> |
466 | + <field name="type">ir.actions.act_window</field> |
467 | + <field name="res_model">project.service_type</field> |
468 | + <field name="view_type">form</field> |
469 | + <field name="view_mode">tree,form</field> |
470 | + <field name="view_id" ref="view_service_type_list"/> |
471 | </record> |
472 | - |
473 | - <menuitem parent="project.menu_definitions" id="menu_service_type" action="action_service_type"/> |
474 | - |
475 | + |
476 | + <menuitem parent="base.menu_definitions" id="menu_service_type" action="action_service_type"/> |
477 | + |
478 | <record id="edit_project" model="ir.ui.view"> |
479 | - <field name="name">project.project.form</field> |
480 | - <field name="model">project.project</field> |
481 | - <field name="type">form</field> |
482 | - <field name="inherit_id" ref="project.edit_project" /> |
483 | - <field name="arch" type="xml"> |
484 | - <xpath expr="/form/notebook/page/group/field[@name='warn_manager']" position="before"> |
485 | - <field name="project_service_id" widget="selection" /> |
486 | - <field name="project_type" /> |
487 | - </xpath> |
488 | - </field> |
489 | + <field name="name">project.project.form</field> |
490 | + <field name="model">project.project</field> |
491 | + <field name="inherit_id" ref="project.edit_project" /> |
492 | + <field name="arch" type="xml"> |
493 | + <xpath expr="/form/sheet/notebook/page[@string='Other Info']/group/group[@string='Miscellaneous']/field[@name='currency_id']" position="after"> |
494 | + <field name="project_service_id" widget="selection" /> |
495 | + <field name="project_type" /> |
496 | + </xpath> |
497 | + </field> |
498 | </record> |
499 | -</data> |
500 | -</terp> |
501 | + |
502 | + </data> |
503 | +</openerp> |
504 | |
505 | === added directory 'project_service_type/security' |
506 | === added file 'project_service_type/security/ir.model.access.csv' |
507 | --- project_service_type/security/ir.model.access.csv 1970-01-01 00:00:00 +0000 |
508 | +++ project_service_type/security/ir.model.access.csv 2013-06-17 13:17:26 +0000 |
509 | @@ -0,0 +1,3 @@ |
510 | +"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" |
511 | +"access_project_service_type","project.service_type","model_project_service_type","project.group_project_user",1,0,0,0 |
512 | +"access_project_service_type_manager","project.service_type","model_project_service_type","project.group_project_manager",1,1,1,1 |
To fix: service_ type has no access rules, consider adding one."
- "WARNING: The model project.
Other comments:
- Project "Type": would it be adequate to call it "Budget type"? Personally I'm not familiar with "Forfait" and "Regie" terms. Probably I know them as "Fixed price" and "Responsibility / Closed price". It would be nice to add a little explanation on these on the field's Help text.