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.
Files changed (35) hide show
  1. odoo/addons/project_task_stock/README.rst +146 -0
  2. odoo/addons/project_task_stock/__init__.py +1 -0
  3. odoo/addons/project_task_stock/__manifest__.py +24 -0
  4. odoo/addons/project_task_stock/demo/project_data.xml +28 -0
  5. odoo/addons/project_task_stock/demo/stock_picking_type_data.xml +11 -0
  6. odoo/addons/project_task_stock/i18n/es.po +337 -0
  7. odoo/addons/project_task_stock/i18n/fr.po +337 -0
  8. odoo/addons/project_task_stock/i18n/hr.po +345 -0
  9. odoo/addons/project_task_stock/i18n/it.po +344 -0
  10. odoo/addons/project_task_stock/i18n/project_task_stock.pot +329 -0
  11. odoo/addons/project_task_stock/i18n/pt_BR.po +345 -0
  12. odoo/addons/project_task_stock/models/__init__.py +7 -0
  13. odoo/addons/project_task_stock/models/account_analytic_line.py +21 -0
  14. odoo/addons/project_task_stock/models/project_project.py +45 -0
  15. odoo/addons/project_task_stock/models/project_task.py +279 -0
  16. odoo/addons/project_task_stock/models/stock_move.py +135 -0
  17. odoo/addons/project_task_stock/models/stock_scrap.py +25 -0
  18. odoo/addons/project_task_stock/readme/CONFIGURE.md +25 -0
  19. odoo/addons/project_task_stock/readme/CONTRIBUTORS.md +3 -0
  20. odoo/addons/project_task_stock/readme/DESCRIPTION.md +1 -0
  21. odoo/addons/project_task_stock/readme/USAGE.md +21 -0
  22. odoo/addons/project_task_stock/static/description/icon.png +0 -0
  23. odoo/addons/project_task_stock/static/description/index.html +485 -0
  24. odoo/addons/project_task_stock/tests/__init__.py +4 -0
  25. odoo/addons/project_task_stock/tests/common.py +100 -0
  26. odoo/addons/project_task_stock/tests/test_project_task_stock.py +350 -0
  27. odoo/addons/project_task_stock/views/project_project_view.xml +24 -0
  28. odoo/addons/project_task_stock/views/project_task_type_view.xml +14 -0
  29. odoo/addons/project_task_stock/views/project_task_view.xml +142 -0
  30. odoo/addons/project_task_stock/views/stock_move_view.xml +65 -0
  31. odoo/addons/project_task_stock/views/stock_scrap_views.xml +13 -0
  32. odoo_addon_project_task_stock-18.0.1.0.0.2.dist-info/METADATA +161 -0
  33. odoo_addon_project_task_stock-18.0.1.0.0.2.dist-info/RECORD +35 -0
  34. odoo_addon_project_task_stock-18.0.1.0.0.2.dist-info/WHEEL +5 -0
  35. 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,7 @@
1
+ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
2
+
3
+ from . import account_analytic_line
4
+ from . import project_project
5
+ from . import project_task
6
+ from . import stock_move
7
+ from . import stock_scrap
@@ -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