odoo-addon-project-task-stock 18.0.1.0.0.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- odoo/addons/project_task_stock/README.rst +146 -0
- odoo/addons/project_task_stock/__init__.py +1 -0
- odoo/addons/project_task_stock/__manifest__.py +24 -0
- odoo/addons/project_task_stock/demo/project_data.xml +28 -0
- odoo/addons/project_task_stock/demo/stock_picking_type_data.xml +11 -0
- odoo/addons/project_task_stock/i18n/es.po +337 -0
- odoo/addons/project_task_stock/i18n/fr.po +337 -0
- odoo/addons/project_task_stock/i18n/hr.po +345 -0
- odoo/addons/project_task_stock/i18n/it.po +344 -0
- odoo/addons/project_task_stock/i18n/project_task_stock.pot +329 -0
- odoo/addons/project_task_stock/i18n/pt_BR.po +345 -0
- odoo/addons/project_task_stock/models/__init__.py +7 -0
- odoo/addons/project_task_stock/models/account_analytic_line.py +21 -0
- odoo/addons/project_task_stock/models/project_project.py +45 -0
- odoo/addons/project_task_stock/models/project_task.py +279 -0
- odoo/addons/project_task_stock/models/stock_move.py +135 -0
- odoo/addons/project_task_stock/models/stock_scrap.py +25 -0
- odoo/addons/project_task_stock/readme/CONFIGURE.md +25 -0
- odoo/addons/project_task_stock/readme/CONTRIBUTORS.md +3 -0
- odoo/addons/project_task_stock/readme/DESCRIPTION.md +1 -0
- odoo/addons/project_task_stock/readme/USAGE.md +21 -0
- odoo/addons/project_task_stock/static/description/icon.png +0 -0
- odoo/addons/project_task_stock/static/description/index.html +485 -0
- odoo/addons/project_task_stock/tests/__init__.py +4 -0
- odoo/addons/project_task_stock/tests/common.py +100 -0
- odoo/addons/project_task_stock/tests/test_project_task_stock.py +350 -0
- odoo/addons/project_task_stock/views/project_project_view.xml +24 -0
- odoo/addons/project_task_stock/views/project_task_type_view.xml +14 -0
- odoo/addons/project_task_stock/views/project_task_view.xml +142 -0
- odoo/addons/project_task_stock/views/stock_move_view.xml +65 -0
- odoo/addons/project_task_stock/views/stock_scrap_views.xml +13 -0
- odoo_addon_project_task_stock-18.0.1.0.0.2.dist-info/METADATA +161 -0
- odoo_addon_project_task_stock-18.0.1.0.0.2.dist-info/RECORD +35 -0
- odoo_addon_project_task_stock-18.0.1.0.0.2.dist-info/WHEEL +5 -0
- odoo_addon_project_task_stock-18.0.1.0.0.2.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
# Translation of Odoo Server.
|
|
2
|
+
# This file contains the translation of the following modules:
|
|
3
|
+
# * project_task_stock
|
|
4
|
+
#
|
|
5
|
+
msgid ""
|
|
6
|
+
msgstr ""
|
|
7
|
+
"Project-Id-Version: Odoo Server 16.0\n"
|
|
8
|
+
"Report-Msgid-Bugs-To: \n"
|
|
9
|
+
"PO-Revision-Date: 2024-06-11 15:35+0000\n"
|
|
10
|
+
"Last-Translator: Rodrigo Macedo <sottomaiormacedotec@users.noreply."
|
|
11
|
+
"translation.odoo-community.org>\n"
|
|
12
|
+
"Language-Team: none\n"
|
|
13
|
+
"Language: pt_BR\n"
|
|
14
|
+
"MIME-Version: 1.0\n"
|
|
15
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
|
16
|
+
"Content-Transfer-Encoding: \n"
|
|
17
|
+
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
|
18
|
+
"X-Generator: Weblate 4.17\n"
|
|
19
|
+
|
|
20
|
+
#. module: project_task_stock
|
|
21
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__allow_moves_action_assign
|
|
22
|
+
msgid "Allow Moves Action Assign"
|
|
23
|
+
msgstr "Permitir Atribuição de Ação em Movimentos"
|
|
24
|
+
|
|
25
|
+
#. module: project_task_stock
|
|
26
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__allow_moves_action_confirm
|
|
27
|
+
msgid "Allow Moves Action Confirm"
|
|
28
|
+
msgstr "Permitir Confirmar Ação em Movimentos"
|
|
29
|
+
|
|
30
|
+
#. module: project_task_stock
|
|
31
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__unreserve_visible
|
|
32
|
+
msgid "Allowed to Unreserve Inventory"
|
|
33
|
+
msgstr "Permite cancelar a Reserva de Inventário"
|
|
34
|
+
|
|
35
|
+
#. module: project_task_stock
|
|
36
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__analytic_distribution
|
|
37
|
+
msgid "Analytic"
|
|
38
|
+
msgstr "Analítico"
|
|
39
|
+
|
|
40
|
+
#. module: project_task_stock
|
|
41
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__stock_analytic_distribution
|
|
42
|
+
msgid "Analytic Distribution"
|
|
43
|
+
msgstr "Distribuição Analítica"
|
|
44
|
+
|
|
45
|
+
#. module: project_task_stock
|
|
46
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__analytic_distribution_search
|
|
47
|
+
msgid "Analytic Distribution Search"
|
|
48
|
+
msgstr "Pesquisa de Distribuição Analítica"
|
|
49
|
+
|
|
50
|
+
#. module: project_task_stock
|
|
51
|
+
#: model:ir.model,name:project_task_stock.model_account_analytic_line
|
|
52
|
+
msgid "Analytic Line"
|
|
53
|
+
msgstr "Linha Analítica"
|
|
54
|
+
|
|
55
|
+
#. module: project_task_stock
|
|
56
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__stock_analytic_line_ids
|
|
57
|
+
msgid "Analytic Lines"
|
|
58
|
+
msgstr "Linhas Analíticas"
|
|
59
|
+
|
|
60
|
+
#. module: project_task_stock
|
|
61
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__analytic_precision
|
|
62
|
+
msgid "Analytic Precision"
|
|
63
|
+
msgstr "Precisão Analítica"
|
|
64
|
+
|
|
65
|
+
#. module: project_task_stock
|
|
66
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_project__stock_analytic_date
|
|
67
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__stock_analytic_date
|
|
68
|
+
msgid "Analytic date"
|
|
69
|
+
msgstr "Data Analítica"
|
|
70
|
+
|
|
71
|
+
#. module: project_task_stock
|
|
72
|
+
#: model:ir.model.fields.selection,name:project_task_stock.selection__project_task__stock_state__assigned
|
|
73
|
+
msgid "Assigned"
|
|
74
|
+
msgstr "Atribuído"
|
|
75
|
+
|
|
76
|
+
#. module: project_task_stock
|
|
77
|
+
#: model:ir.model.fields.selection,name:project_task_stock.selection__project_task__stock_state__cancel
|
|
78
|
+
msgid "Cancel"
|
|
79
|
+
msgstr "Cancelar"
|
|
80
|
+
|
|
81
|
+
#. module: project_task_stock
|
|
82
|
+
#: model_terms:ir.ui.view,arch_db:project_task_stock.view_task_form2
|
|
83
|
+
msgid "Cancel Materials"
|
|
84
|
+
msgstr "Cancelar Materiais"
|
|
85
|
+
|
|
86
|
+
#. module: project_task_stock
|
|
87
|
+
#: model_terms:ir.ui.view,arch_db:project_task_stock.view_task_form2
|
|
88
|
+
msgid "Check availability materials"
|
|
89
|
+
msgstr "Verifique a disponibilidade de materiais"
|
|
90
|
+
|
|
91
|
+
#. module: project_task_stock
|
|
92
|
+
#: model_terms:ir.ui.view,arch_db:project_task_stock.view_task_form2
|
|
93
|
+
msgid "Confirm materials"
|
|
94
|
+
msgstr "Confirmar Materiais"
|
|
95
|
+
|
|
96
|
+
#. module: project_task_stock
|
|
97
|
+
#: model:ir.model.fields.selection,name:project_task_stock.selection__project_task__stock_state__confirmed
|
|
98
|
+
msgid "Confirmed"
|
|
99
|
+
msgstr "Confirmado"
|
|
100
|
+
|
|
101
|
+
#. module: project_task_stock
|
|
102
|
+
#: model_terms:ir.ui.view,arch_db:project_task_stock.view_stock_move_raw_tree
|
|
103
|
+
msgid "Consumed"
|
|
104
|
+
msgstr "Consumido"
|
|
105
|
+
|
|
106
|
+
#. module: project_task_stock
|
|
107
|
+
#: model:ir.model.fields,help:project_task_stock.field_project_project__location_id
|
|
108
|
+
msgid "Default location from which materials are consumed."
|
|
109
|
+
msgstr "Local padrão de onde os materiais são consumidos."
|
|
110
|
+
|
|
111
|
+
#. module: project_task_stock
|
|
112
|
+
#: model:ir.model.fields,help:project_task_stock.field_project_project__location_dest_id
|
|
113
|
+
msgid "Default location to which materials are consumed."
|
|
114
|
+
msgstr "Local padrão para o qual os materiais são consumidos."
|
|
115
|
+
|
|
116
|
+
#. module: project_task_stock
|
|
117
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_project__location_dest_id
|
|
118
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__location_dest_id
|
|
119
|
+
msgid "Destination Location"
|
|
120
|
+
msgstr "Local de Destino"
|
|
121
|
+
|
|
122
|
+
#. module: project_task_stock
|
|
123
|
+
#: model:ir.model.fields.selection,name:project_task_stock.selection__project_task__stock_state__done
|
|
124
|
+
msgid "Done"
|
|
125
|
+
msgstr "Feito"
|
|
126
|
+
|
|
127
|
+
#. module: project_task_stock
|
|
128
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__done_stock_moves
|
|
129
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task_type__done_stock_moves
|
|
130
|
+
msgid "Done Stock Moves"
|
|
131
|
+
msgstr "Movimentos de Estoque Feitos"
|
|
132
|
+
|
|
133
|
+
#. module: project_task_stock
|
|
134
|
+
#: model_terms:ir.ui.view,arch_db:project_task_stock.view_stock_move_raw_tree
|
|
135
|
+
msgid "Forecasted Report"
|
|
136
|
+
msgstr "Relatório Previsto"
|
|
137
|
+
|
|
138
|
+
#. module: project_task_stock
|
|
139
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__group_id
|
|
140
|
+
msgid "Group"
|
|
141
|
+
msgstr "Grupo"
|
|
142
|
+
|
|
143
|
+
#. module: project_task_stock
|
|
144
|
+
#: model:ir.model.fields,help:project_task_stock.field_project_task__done_stock_moves
|
|
145
|
+
#: model:ir.model.fields,help:project_task_stock.field_project_task_type__done_stock_moves
|
|
146
|
+
msgid ""
|
|
147
|
+
"If you check this box, when a task is in this state, you will not be able to "
|
|
148
|
+
"add more stock moves but they can be viewed."
|
|
149
|
+
msgstr ""
|
|
150
|
+
"Se você marcar esta caixa, quando uma tarefa estiver neste estado, você não "
|
|
151
|
+
"poderá adicionar mais movimentos de estoque, mas eles poderão ser "
|
|
152
|
+
"visualizados."
|
|
153
|
+
|
|
154
|
+
#. module: project_task_stock
|
|
155
|
+
#: model:ir.model.fields,help:project_task_stock.field_project_task__use_stock_moves
|
|
156
|
+
#: model:ir.model.fields,help:project_task_stock.field_project_task_type__use_stock_moves
|
|
157
|
+
msgid ""
|
|
158
|
+
"If you mark this check, when a task goes to this state, it will use stock "
|
|
159
|
+
"moves"
|
|
160
|
+
msgstr ""
|
|
161
|
+
"Se você marcar esta verificação, quando uma tarefa for para este estado, ela "
|
|
162
|
+
"usará movimentos de estoque"
|
|
163
|
+
|
|
164
|
+
#. module: project_task_stock
|
|
165
|
+
#: model:ir.actions.act_window,name:project_task_stock.action_project_task_moves
|
|
166
|
+
msgid "Inventory Moves"
|
|
167
|
+
msgstr "Movimentações de Inventário"
|
|
168
|
+
|
|
169
|
+
#. module: project_task_stock
|
|
170
|
+
#. odoo-python
|
|
171
|
+
#: code:addons/project_task_stock/models/project_task.py:0
|
|
172
|
+
#, python-format
|
|
173
|
+
msgid "It is not possible to change this with reserved movements in tasks."
|
|
174
|
+
msgstr "Não é possível alterar isso com movimentos reservados em tarefas."
|
|
175
|
+
|
|
176
|
+
#. module: project_task_stock
|
|
177
|
+
#: model_terms:ir.ui.view,arch_db:project_task_stock.view_task_form2
|
|
178
|
+
msgid "Lock"
|
|
179
|
+
msgstr "Trancar"
|
|
180
|
+
|
|
181
|
+
#. module: project_task_stock
|
|
182
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__stock_analytic_account_id
|
|
183
|
+
msgid "Move Analytic Account"
|
|
184
|
+
msgstr "Conta Analítica do Movimento"
|
|
185
|
+
|
|
186
|
+
#. module: project_task_stock
|
|
187
|
+
#: model:ir.model.fields,help:project_task_stock.field_project_task__stock_analytic_account_id
|
|
188
|
+
msgid "Move created will be assigned to this analytic account"
|
|
189
|
+
msgstr "O movimento criado será atribuído a esta conta analítica"
|
|
190
|
+
|
|
191
|
+
#. module: project_task_stock
|
|
192
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_project__picking_type_id
|
|
193
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__picking_type_id
|
|
194
|
+
msgid "Operation Type"
|
|
195
|
+
msgstr "Tipo de Operação"
|
|
196
|
+
|
|
197
|
+
#. module: project_task_stock
|
|
198
|
+
#: model:ir.model.fields.selection,name:project_task_stock.selection__project_task__stock_state__pending
|
|
199
|
+
msgid "Pending"
|
|
200
|
+
msgstr "Pendente"
|
|
201
|
+
|
|
202
|
+
#. module: project_task_stock
|
|
203
|
+
#: model_terms:ir.ui.view,arch_db:project_task_stock.view_task_form2
|
|
204
|
+
msgid "Product Moves"
|
|
205
|
+
msgstr "Movimentações de Produtos"
|
|
206
|
+
|
|
207
|
+
#. module: project_task_stock
|
|
208
|
+
#: model:ir.model,name:project_task_stock.model_stock_move_line
|
|
209
|
+
msgid "Product Moves (Stock Move Line)"
|
|
210
|
+
msgstr "Movimentações de Produto (Linha de Movimentação de Estoque)"
|
|
211
|
+
|
|
212
|
+
#. module: project_task_stock
|
|
213
|
+
#: model:ir.model,name:project_task_stock.model_project_project
|
|
214
|
+
msgid "Project"
|
|
215
|
+
msgstr "Projeto"
|
|
216
|
+
|
|
217
|
+
#. module: project_task_stock
|
|
218
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_account_analytic_line__stock_task_id
|
|
219
|
+
msgid "Project Task"
|
|
220
|
+
msgstr "Tarefa do Projeto"
|
|
221
|
+
|
|
222
|
+
#. module: project_task_stock
|
|
223
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_stock_move__task_id
|
|
224
|
+
msgid "Related Task"
|
|
225
|
+
msgstr "Tarefa Relacionada"
|
|
226
|
+
|
|
227
|
+
#. module: project_task_stock
|
|
228
|
+
#: model_terms:ir.ui.view,arch_db:project_task_stock.view_stock_move_raw_tree
|
|
229
|
+
msgid "Reserved"
|
|
230
|
+
msgstr "Reservado"
|
|
231
|
+
|
|
232
|
+
#. module: project_task_stock
|
|
233
|
+
#. odoo-python
|
|
234
|
+
#: code:addons/project_task_stock/models/project_task.py:0
|
|
235
|
+
#: model:ir.model,name:project_task_stock.model_stock_scrap
|
|
236
|
+
#: model_terms:ir.ui.view,arch_db:project_task_stock.view_task_form2
|
|
237
|
+
#, python-format
|
|
238
|
+
msgid "Scrap"
|
|
239
|
+
msgstr "Sucatear"
|
|
240
|
+
|
|
241
|
+
#. module: project_task_stock
|
|
242
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__scrap_count
|
|
243
|
+
msgid "Scrap Move"
|
|
244
|
+
msgstr "Movimento de Sucata"
|
|
245
|
+
|
|
246
|
+
#. module: project_task_stock
|
|
247
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__scrap_ids
|
|
248
|
+
#: model_terms:ir.ui.view,arch_db:project_task_stock.view_task_form2
|
|
249
|
+
msgid "Scraps"
|
|
250
|
+
msgstr "Sucatas"
|
|
251
|
+
|
|
252
|
+
#. module: project_task_stock
|
|
253
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_project__location_id
|
|
254
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__location_id
|
|
255
|
+
msgid "Source Location"
|
|
256
|
+
msgstr "Local de Origem"
|
|
257
|
+
|
|
258
|
+
#. module: project_task_stock
|
|
259
|
+
#: model_terms:ir.ui.view,arch_db:project_task_stock.edit_project
|
|
260
|
+
msgid "Stock"
|
|
261
|
+
msgstr "Estoque"
|
|
262
|
+
|
|
263
|
+
#. module: project_task_stock
|
|
264
|
+
#: model_terms:ir.ui.view,arch_db:project_task_stock.view_task_form2
|
|
265
|
+
msgid "Stock Info"
|
|
266
|
+
msgstr "Info Estoque"
|
|
267
|
+
|
|
268
|
+
#. module: project_task_stock
|
|
269
|
+
#: model:ir.model,name:project_task_stock.model_stock_move
|
|
270
|
+
msgid "Stock Move"
|
|
271
|
+
msgstr "Mover Estoque"
|
|
272
|
+
|
|
273
|
+
#. module: project_task_stock
|
|
274
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__move_ids
|
|
275
|
+
msgid "Stock Moves"
|
|
276
|
+
msgstr "Movimentação de Estoque"
|
|
277
|
+
|
|
278
|
+
#. module: project_task_stock
|
|
279
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__stock_moves_is_locked
|
|
280
|
+
msgid "Stock Moves Is Locked"
|
|
281
|
+
msgstr "Movimentação de Estoque esta Bloqueada"
|
|
282
|
+
|
|
283
|
+
#. module: project_task_stock
|
|
284
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__stock_state
|
|
285
|
+
msgid "Stock State"
|
|
286
|
+
msgstr "Situação do Estoque"
|
|
287
|
+
|
|
288
|
+
#. module: project_task_stock
|
|
289
|
+
#: model:ir.model,name:project_task_stock.model_project_task
|
|
290
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_stock_move_line__task_id
|
|
291
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_stock_scrap__task_id
|
|
292
|
+
msgid "Task"
|
|
293
|
+
msgstr "Tarefa"
|
|
294
|
+
|
|
295
|
+
#. module: project_task_stock
|
|
296
|
+
#: model:ir.model,name:project_task_stock.model_project_task_type
|
|
297
|
+
msgid "Task Stage"
|
|
298
|
+
msgstr "Estagio da Tarefa"
|
|
299
|
+
|
|
300
|
+
#. module: project_task_stock
|
|
301
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_stock_move__raw_material_task_id
|
|
302
|
+
msgid "Task for material"
|
|
303
|
+
msgstr "Tarefa para Material"
|
|
304
|
+
|
|
305
|
+
#. module: project_task_stock
|
|
306
|
+
#: model:project.project,name:project_task_stock.project_project_tm_test
|
|
307
|
+
#: model:stock.picking.type,name:project_task_stock.stock_picking_type_tm_test
|
|
308
|
+
msgid "Task material"
|
|
309
|
+
msgstr "Material de Tarefa"
|
|
310
|
+
|
|
311
|
+
#. module: project_task_stock
|
|
312
|
+
#: model:project.project,label_tasks:project_task_stock.project_project_tm_test
|
|
313
|
+
msgid "Tasks"
|
|
314
|
+
msgstr "Tarefas"
|
|
315
|
+
|
|
316
|
+
#. module: project_task_stock
|
|
317
|
+
#: model:ir.model.fields,help:project_task_stock.field_project_task__unreserve_visible
|
|
318
|
+
msgid "Technical field to check when we can unreserve"
|
|
319
|
+
msgstr "Campo técnico para verificar quando podemos cancelar a reserva"
|
|
320
|
+
|
|
321
|
+
#. module: project_task_stock
|
|
322
|
+
#: model_terms:ir.ui.view,arch_db:project_task_stock.view_stock_move_raw_tree
|
|
323
|
+
msgid "To Consume"
|
|
324
|
+
msgstr "Consumir"
|
|
325
|
+
|
|
326
|
+
#. module: project_task_stock
|
|
327
|
+
#: model_terms:ir.ui.view,arch_db:project_task_stock.view_task_form2
|
|
328
|
+
msgid "Transfer Materials"
|
|
329
|
+
msgstr "Transferir Materiais"
|
|
330
|
+
|
|
331
|
+
#. module: project_task_stock
|
|
332
|
+
#: model_terms:ir.ui.view,arch_db:project_task_stock.view_task_form2
|
|
333
|
+
msgid "Unlock"
|
|
334
|
+
msgstr "Destravar"
|
|
335
|
+
|
|
336
|
+
#. module: project_task_stock
|
|
337
|
+
#: model_terms:ir.ui.view,arch_db:project_task_stock.view_task_form2
|
|
338
|
+
msgid "Unreserve"
|
|
339
|
+
msgstr "Cancelar reserva"
|
|
340
|
+
|
|
341
|
+
#. module: project_task_stock
|
|
342
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task__use_stock_moves
|
|
343
|
+
#: model:ir.model.fields,field_description:project_task_stock.field_project_task_type__use_stock_moves
|
|
344
|
+
msgid "Use Stock Moves"
|
|
345
|
+
msgstr "Usar Movimentos de Estoque"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Copyright 2022 Tecnativa - Víctor Martínez
|
|
2
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)
|
|
3
|
+
from odoo import fields, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class AccountAnalyticLine(models.Model):
|
|
7
|
+
_inherit = "account.analytic.line"
|
|
8
|
+
|
|
9
|
+
stock_task_id = fields.Many2one(
|
|
10
|
+
comodel_name="project.task", string="Project Task", ondelete="cascade"
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
def _timesheet_postprocess_values(self, values):
|
|
14
|
+
"""When hr_timesheet addon is installed, in the create() and write() methods,
|
|
15
|
+
the amount is recalculated according to the employee cost.
|
|
16
|
+
We need to force that in the records related to stock tasks the price is not
|
|
17
|
+
updated."""
|
|
18
|
+
res = super()._timesheet_postprocess_values(values)
|
|
19
|
+
for key in self.filtered(lambda x: x.stock_task_id).ids:
|
|
20
|
+
res[key].pop("amount", None)
|
|
21
|
+
return res
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Copyright 2022 Tecnativa - Víctor Martínez
|
|
2
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)
|
|
3
|
+
from odoo import api, fields, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class ProjectProject(models.Model):
|
|
7
|
+
_inherit = "project.project"
|
|
8
|
+
|
|
9
|
+
picking_type_id = fields.Many2one(
|
|
10
|
+
comodel_name="stock.picking.type",
|
|
11
|
+
string="Operation Type",
|
|
12
|
+
readonly=False,
|
|
13
|
+
domain="[('company_id', '=?', company_id)]",
|
|
14
|
+
index=True,
|
|
15
|
+
)
|
|
16
|
+
location_id = fields.Many2one(
|
|
17
|
+
comodel_name="stock.location",
|
|
18
|
+
string="Source Location",
|
|
19
|
+
readonly=False,
|
|
20
|
+
check_company=True,
|
|
21
|
+
index=True,
|
|
22
|
+
help="Default location from which materials are consumed.",
|
|
23
|
+
)
|
|
24
|
+
location_dest_id = fields.Many2one(
|
|
25
|
+
comodel_name="stock.location",
|
|
26
|
+
string="Destination Location",
|
|
27
|
+
readonly=False,
|
|
28
|
+
index=True,
|
|
29
|
+
check_company=True,
|
|
30
|
+
help="Default location to which materials are consumed.",
|
|
31
|
+
)
|
|
32
|
+
stock_analytic_date = fields.Date()
|
|
33
|
+
|
|
34
|
+
@api.onchange("picking_type_id")
|
|
35
|
+
def _onchange_picking_type_id(self):
|
|
36
|
+
self.location_id = self.picking_type_id.default_location_src_id.id
|
|
37
|
+
self.location_dest_id = self.picking_type_id.default_location_dest_id.id
|
|
38
|
+
|
|
39
|
+
def write(self, vals):
|
|
40
|
+
"""Update location information on pending moves when changed."""
|
|
41
|
+
res = super().write(vals)
|
|
42
|
+
field_names = ("location_id", "location_dest_id")
|
|
43
|
+
if any(vals.get(field) for field in field_names):
|
|
44
|
+
self.task_ids._update_moves_info()
|
|
45
|
+
return res
|