odoo-addon-project-task-stock 18.0.1.0.0.2__py3-none-any.whl → 18.0.1.1.0__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.
@@ -1,3 +1,7 @@
1
+ .. image:: https://odoo-community.org/readme-banner-image
2
+ :target: https://odoo-community.org/get-involved?utm_source=readme
3
+ :alt: Odoo Community Association
4
+
1
5
  ==================
2
6
  Project Task Stock
3
7
  ==================
@@ -7,13 +11,13 @@ Project Task Stock
7
11
  !! This file is generated by oca-gen-addon-readme !!
8
12
  !! changes will be overwritten. !!
9
13
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10
- !! source digest: sha256:f4449348b761ce99bc87fd7df05d21f50bc3fc545a1d9a997017cfe768f08fce
14
+ !! source digest: sha256:242c581176cfc77f755cc535f6cd33d657b87ea678afb0ccaa09569d68d94aeb
11
15
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12
16
 
13
17
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
14
18
  :target: https://odoo-community.org/page/development-status
15
19
  :alt: Beta
16
- .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
20
+ .. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
17
21
  :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
18
22
  :alt: License: AGPL-3
19
23
  .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproject-lightgray.png?logo=github
@@ -94,6 +98,12 @@ Usage
94
98
  - \`Cancel Materials\`: Set the moves of the products as cancelled.
95
99
  - \`Scrap\`: Allows the defined products to be scrapped.
96
100
 
101
+ Known issues / Roadmap
102
+ ======================
103
+
104
+ #. Lot compatibility (similar to what happens in pickings). #. Release
105
+ stock reserves if the task is deleted.
106
+
97
107
  Bug Tracker
98
108
  ===========
99
109
 
@@ -2,7 +2,7 @@
2
2
  # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3
3
  {
4
4
  "name": "Project Task Stock",
5
- "version": "18.0.1.0.0",
5
+ "version": "18.0.1.1.0",
6
6
  "category": "Project Management",
7
7
  "website": "https://github.com/OCA/project",
8
8
  "author": "Tecnativa, Odoo Community Association (OCA)",
@@ -38,11 +38,21 @@ msgstr ""
38
38
  msgid "Analytic Line"
39
39
  msgstr ""
40
40
 
41
+ #. module: project_task_stock
42
+ #: model:ir.model.fields,field_description:project_task_stock.field_stock_move__analytic_line_ids
43
+ msgid "Analytic Lines"
44
+ msgstr ""
45
+
41
46
  #. module: project_task_stock
42
47
  #: model:ir.model.fields,field_description:project_task_stock.field_project_task__analytic_precision
43
48
  msgid "Analytic Precision"
44
49
  msgstr ""
45
50
 
51
+ #. module: project_task_stock
52
+ #: model_terms:ir.ui.view,arch_db:project_task_stock.view_stock_move_raw_list
53
+ msgid "Are you sure you want to proceed?"
54
+ msgstr ""
55
+
46
56
  #. module: project_task_stock
47
57
  #: model:ir.model.fields.selection,name:project_task_stock.selection__project_task__stock_state__assigned
48
58
  msgid "Assigned"
@@ -50,6 +60,7 @@ msgstr ""
50
60
 
51
61
  #. module: project_task_stock
52
62
  #: model:ir.model.fields.selection,name:project_task_stock.selection__project_task__stock_state__cancel
63
+ #: model_terms:ir.ui.view,arch_db:project_task_stock.view_stock_move_raw_list
53
64
  msgid "Cancel"
54
65
  msgstr ""
55
66
 
@@ -217,6 +228,11 @@ msgstr ""
217
228
  msgid "Scraps"
218
229
  msgstr ""
219
230
 
231
+ #. module: project_task_stock
232
+ #: model:ir.model.fields,field_description:project_task_stock.field_stock_move__show_cancel_button_in_task
233
+ msgid "Show Cancel Button In Task"
234
+ msgstr ""
235
+
220
236
  #. module: project_task_stock
221
237
  #: model:ir.model.fields,field_description:project_task_stock.field_project_project__location_id
222
238
  #: model:ir.model.fields,field_description:project_task_stock.field_project_task__location_id
@@ -251,6 +267,7 @@ msgstr ""
251
267
 
252
268
  #. module: project_task_stock
253
269
  #: model:ir.model,name:project_task_stock.model_stock_move
270
+ #: model:ir.model.fields,field_description:project_task_stock.field_account_analytic_line__stock_move_id
254
271
  msgid "Stock Move"
255
272
  msgstr ""
256
273
 
@@ -9,6 +9,9 @@ class AccountAnalyticLine(models.Model):
9
9
  stock_task_id = fields.Many2one(
10
10
  comodel_name="project.task", string="Project Task", ondelete="cascade"
11
11
  )
12
+ stock_move_id = fields.Many2one(
13
+ comodel_name="stock.move", string="Stock Move", ondelete="cascade", copy=False
14
+ )
12
15
 
13
16
  def _timesheet_postprocess_values(self, values):
14
17
  """When hr_timesheet addon is installed, in the create() and write() methods,
@@ -208,8 +208,11 @@ class ProjectTask(models.Model):
208
208
  """Cancel the stock moves and remove the analytic lines created from
209
209
  stock moves when cancelling the task.
210
210
  """
211
- self.mapped("move_ids.move_line_ids").write({"quantity": 0})
211
+ for move in self.move_ids:
212
+ move.action_cancel_from_task()
212
213
  # Use sudo to avoid error for users with no access to analytic
214
+ # Although the action_cancel_from_task() method should have deleted
215
+ # all analytical entries, we want to make sure there are no old records left.
213
216
  self.sudo().stock_analytic_line_ids.unlink()
214
217
  self.stock_moves_is_locked = True
215
218
  return True
@@ -231,14 +234,6 @@ class ProjectTask(models.Model):
231
234
  ):
232
235
  move.quantity = move.product_uom_qty
233
236
  moves_to_do.picking_id.with_context(skip_sanity_check=True).button_validate()
234
- moves_done = self.move_ids.filtered(lambda x: x.state == "done")
235
- moves_todo = moves_done - moves_to_skip
236
- # Use sudo to avoid error for users with no access to analytic
237
- analytic_line_model = self.env["account.analytic.line"].sudo()
238
- for move in moves_todo:
239
- vals = move._prepare_analytic_line_from_task()
240
- if vals:
241
- analytic_line_model.create(vals)
242
237
 
243
238
  def action_see_move_scrap(self):
244
239
  self.ensure_one()
@@ -1,6 +1,7 @@
1
- # Copyright 2022 Tecnativa - Víctor Martínez
1
+ # Copyright 2022-2025 Tecnativa - Víctor Martínez
2
2
  # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)
3
3
  from odoo import api, fields, models
4
+ from odoo.tools import float_is_zero
4
5
 
5
6
 
6
7
  class StockMove(models.Model):
@@ -14,6 +15,14 @@ class StockMove(models.Model):
14
15
  raw_material_task_id = fields.Many2one(
15
16
  comodel_name="project.task", string="Task for material", check_company=True
16
17
  )
18
+ analytic_line_ids = fields.One2many(
19
+ comodel_name="account.analytic.line",
20
+ inverse_name="stock_move_id",
21
+ string="Analytic Lines",
22
+ )
23
+ show_cancel_button_in_task = fields.Boolean(
24
+ compute="_compute_show_cancel_button_in_task"
25
+ )
17
26
 
18
27
  @api.onchange("product_id")
19
28
  def _onchange_product_id(self):
@@ -24,6 +33,59 @@ class StockMove(models.Model):
24
33
  self.name = self.raw_material_task_id.name
25
34
  return res
26
35
 
36
+ def _compute_show_cancel_button_in_task(self):
37
+ dp = self.env["decimal.precision"].precision_get("Product Unit of Measure")
38
+ for item in self:
39
+ item.show_cancel_button_in_task = bool(
40
+ item.raw_material_task_id
41
+ and item.raw_material_task_id.stock_moves_is_locked
42
+ and item.raw_material_task_id.done_stock_moves
43
+ and item.state not in ("draft", "cancel")
44
+ and (
45
+ (
46
+ item.state == "done"
47
+ and not float_is_zero(item.quantity, precision_digits=dp)
48
+ )
49
+ or (
50
+ item.state != "done"
51
+ and not float_is_zero(item.product_uom_qty, precision_digits=dp)
52
+ )
53
+ )
54
+ )
55
+
56
+ def action_cancel_from_task(self):
57
+ self.ensure_one()
58
+ if not self.show_cancel_button_in_task:
59
+ return
60
+ # Use sudo to avoid error for users with no access to analytic
61
+ analytic_lines = self.sudo().analytic_line_ids
62
+ task_analytic_lines = self.raw_material_task_id.sudo().stock_analytic_line_ids
63
+ if analytic_lines:
64
+ analytic_lines.unlink()
65
+ elif not analytic_lines and task_analytic_lines and self.state == "done":
66
+ # Previously, analytic lines were not linked to the stock_move_id field,
67
+ # so we have to deduce which ones were linked.
68
+ data = self._prepare_analytic_line_from_task()
69
+ if data:
70
+ # Depending on whether the account module is installed or not, it will
71
+ # be filtered by one field or another.
72
+ f_name = "product_id" if "product_id" in data else "name"
73
+ f_value = data[f_name]
74
+ if f_name == "product_id":
75
+ f_value = self.env["product.product"].browse(f_value)
76
+ analytic_lines = task_analytic_lines.filtered(
77
+ lambda x: x.unit_amount == data["unit_amount"]
78
+ and x[f_name] == f_value
79
+ )
80
+ analytic_lines.unlink()
81
+ # It is important to do this process at the end, so that if
82
+ # the _prepare_analytic_line_from_task() method is used, it has the correct
83
+ # value.
84
+ if self.state == "done":
85
+ self.move_line_ids.write({"quantity": 0})
86
+ else:
87
+ self._action_cancel()
88
+
27
89
  def _prepare_analytic_line_from_task(self):
28
90
  product = self.product_id
29
91
  company_id = self.env.company
@@ -47,6 +109,7 @@ class StockMove(models.Model):
47
109
  "product_uom_id": self.product_uom.id,
48
110
  "company_id": analytic_account.company_id.id or self.env.company.id,
49
111
  "partner_id": task.partner_id.id or task.project_id.partner_id.id or False,
112
+ "stock_move_id": self.id,
50
113
  "stock_task_id": task.id,
51
114
  }
52
115
  amount_unit = product.with_context(uom=self.product_uom.id)._price_compute(
@@ -100,6 +163,17 @@ class StockMove(models.Model):
100
163
  )
101
164
  return defaults
102
165
 
166
+ def _action_done(self, cancel_backorder=False):
167
+ """Create the analytical notes for stock movements linked to tasks."""
168
+ moves_todo = super()._action_done(cancel_backorder)
169
+ # Use sudo to avoid error for users with no access to analytic
170
+ analytic_line_model = self.env["account.analytic.line"].sudo()
171
+ for move in moves_todo.filtered(lambda x: x.raw_material_task_id):
172
+ vals = move._prepare_analytic_line_from_task()
173
+ if vals:
174
+ analytic_line_model.create(vals)
175
+ return moves_todo
176
+
103
177
  def action_task_product_forecast_report(self):
104
178
  self.ensure_one()
105
179
  action = self.product_id.action_product_forecast_report()
@@ -0,0 +1,2 @@
1
+ #. Lot compatibility (similar to what happens in pickings).
2
+ #. Release stock reserves if the task is deleted.
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
5
  <meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
6
- <title>Project Task Stock</title>
6
+ <title>README.rst</title>
7
7
  <style type="text/css">
8
8
 
9
9
  /*
@@ -360,33 +360,39 @@ ul.auto-toc {
360
360
  </style>
361
361
  </head>
362
362
  <body>
363
- <div class="document" id="project-task-stock">
364
- <h1 class="title">Project Task Stock</h1>
363
+ <div class="document">
365
364
 
365
+
366
+ <a class="reference external image-reference" href="https://odoo-community.org/get-involved?utm_source=readme">
367
+ <img alt="Odoo Community Association" src="https://odoo-community.org/readme-banner-image" />
368
+ </a>
369
+ <div class="section" id="project-task-stock">
370
+ <h1>Project Task Stock</h1>
366
371
  <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
367
372
  !! This file is generated by oca-gen-addon-readme !!
368
373
  !! changes will be overwritten. !!
369
374
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
370
- !! source digest: sha256:f4449348b761ce99bc87fd7df05d21f50bc3fc545a1d9a997017cfe768f08fce
375
+ !! source digest: sha256:242c581176cfc77f755cc535f6cd33d657b87ea678afb0ccaa09569d68d94aeb
371
376
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
372
- <p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/project/tree/18.0/project_task_stock"><img alt="OCA/project" src="https://img.shields.io/badge/github-OCA%2Fproject-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/project-18-0/project-18-0-project_task_stock"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/project&amp;target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
377
+ <p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/project/tree/18.0/project_task_stock"><img alt="OCA/project" src="https://img.shields.io/badge/github-OCA%2Fproject-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/project-18-0/project-18-0-project_task_stock"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/project&amp;target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
373
378
  <p>This module allows to consume products directly from a project task.</p>
374
379
  <p><strong>Table of contents</strong></p>
375
380
  <div class="contents local topic" id="contents">
376
381
  <ul class="simple">
377
382
  <li><a class="reference internal" href="#configuration" id="toc-entry-1">Configuration</a></li>
378
383
  <li><a class="reference internal" href="#usage" id="toc-entry-2">Usage</a></li>
379
- <li><a class="reference internal" href="#bug-tracker" id="toc-entry-3">Bug Tracker</a></li>
380
- <li><a class="reference internal" href="#credits" id="toc-entry-4">Credits</a><ul>
381
- <li><a class="reference internal" href="#authors" id="toc-entry-5">Authors</a></li>
382
- <li><a class="reference internal" href="#contributors" id="toc-entry-6">Contributors</a></li>
383
- <li><a class="reference internal" href="#maintainers" id="toc-entry-7">Maintainers</a></li>
384
+ <li><a class="reference internal" href="#known-issues-roadmap" id="toc-entry-3">Known issues / Roadmap</a></li>
385
+ <li><a class="reference internal" href="#bug-tracker" id="toc-entry-4">Bug Tracker</a></li>
386
+ <li><a class="reference internal" href="#credits" id="toc-entry-5">Credits</a><ul>
387
+ <li><a class="reference internal" href="#authors" id="toc-entry-6">Authors</a></li>
388
+ <li><a class="reference internal" href="#contributors" id="toc-entry-7">Contributors</a></li>
389
+ <li><a class="reference internal" href="#maintainers" id="toc-entry-8">Maintainers</a></li>
384
390
  </ul>
385
391
  </li>
386
392
  </ul>
387
393
  </div>
388
394
  <div class="section" id="configuration">
389
- <h1><a class="toc-backref" href="#toc-entry-1">Configuration</a></h1>
395
+ <h2><a class="toc-backref" href="#toc-entry-1">Configuration</a></h2>
390
396
  <p>To configure this module, you need to:</p>
391
397
  <ol class="arabic simple">
392
398
  <li>Go to <em>Inventory -&gt; Configuration -&gt; Settings</em> and check “Storage
@@ -417,7 +423,7 @@ the created project.</li>
417
423
  </ol>
418
424
  </div>
419
425
  <div class="section" id="usage">
420
- <h1><a class="toc-backref" href="#toc-entry-2">Usage</a></h1>
426
+ <h2><a class="toc-backref" href="#toc-entry-2">Usage</a></h2>
421
427
  <ol class="arabic simple">
422
428
  <li>Go to <em>Projects -&gt; Task material (project)</em> and create a task and
423
429
  edit it.</li>
@@ -439,8 +445,13 @@ one location to another.</li>
439
445
  </li>
440
446
  </ol>
441
447
  </div>
448
+ <div class="section" id="known-issues-roadmap">
449
+ <h2><a class="toc-backref" href="#toc-entry-3">Known issues / Roadmap</a></h2>
450
+ <p>#. Lot compatibility (similar to what happens in pickings). #. Release
451
+ stock reserves if the task is deleted.</p>
452
+ </div>
442
453
  <div class="section" id="bug-tracker">
443
- <h1><a class="toc-backref" href="#toc-entry-3">Bug Tracker</a></h1>
454
+ <h2><a class="toc-backref" href="#toc-entry-4">Bug Tracker</a></h2>
444
455
  <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/project/issues">GitHub Issues</a>.
445
456
  In case of trouble, please check there if your issue has already been reported.
446
457
  If you spotted it first, help us to smash it by providing a detailed and welcomed
@@ -448,15 +459,15 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
448
459
  <p>Do not contact contributors directly about support or help with technical issues.</p>
449
460
  </div>
450
461
  <div class="section" id="credits">
451
- <h1><a class="toc-backref" href="#toc-entry-4">Credits</a></h1>
462
+ <h2><a class="toc-backref" href="#toc-entry-5">Credits</a></h2>
452
463
  <div class="section" id="authors">
453
- <h2><a class="toc-backref" href="#toc-entry-5">Authors</a></h2>
464
+ <h3><a class="toc-backref" href="#toc-entry-6">Authors</a></h3>
454
465
  <ul class="simple">
455
466
  <li>Tecnativa</li>
456
467
  </ul>
457
468
  </div>
458
469
  <div class="section" id="contributors">
459
- <h2><a class="toc-backref" href="#toc-entry-6">Contributors</a></h2>
470
+ <h3><a class="toc-backref" href="#toc-entry-7">Contributors</a></h3>
460
471
  <ul class="simple">
461
472
  <li><a class="reference external" href="https://www.tecnativa.com">Tecnativa</a>:<ul>
462
473
  <li>Víctor Martínez</li>
@@ -466,7 +477,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
466
477
  </ul>
467
478
  </div>
468
479
  <div class="section" id="maintainers">
469
- <h2><a class="toc-backref" href="#toc-entry-7">Maintainers</a></h2>
480
+ <h3><a class="toc-backref" href="#toc-entry-8">Maintainers</a></h3>
470
481
  <p>This module is maintained by the OCA.</p>
471
482
  <a class="reference external image-reference" href="https://odoo-community.org">
472
483
  <img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
@@ -481,5 +492,6 @@ promote its widespread use.</p>
481
492
  </div>
482
493
  </div>
483
494
  </div>
495
+ </div>
484
496
  </body>
485
497
  </html>
@@ -79,6 +79,20 @@ class TestProjectTaskStock(TestProjectStockBase):
79
79
  self.task.action_done()
80
80
  self.assertFalse(self.task.sudo().stock_analytic_line_ids)
81
81
 
82
+ def test_project_task_picking_done_analytic_items(self):
83
+ self.task = self.env["project.task"].browse(self.task.id)
84
+ self.task.action_assign()
85
+ picking = self.task.move_ids.picking_id
86
+ for move in picking.move_ids:
87
+ move.quantity = move.product_uom_qty
88
+ picking.button_validate()
89
+ self.assertEqual(picking.state, "done")
90
+ self._test_task_analytic_lines_from_task(-40)
91
+ self.assertEqual(
92
+ fields.first(self.task.stock_analytic_line_ids).date,
93
+ fields.Date.from_string("1990-01-01"),
94
+ )
95
+
82
96
  @users("manager-user")
83
97
  def test_project_task_without_analytic_account_manager_user(self):
84
98
  self.test_project_task_without_analytic_account()
@@ -197,6 +211,9 @@ class TestProjectTaskStock(TestProjectStockBase):
197
211
  self.assertEqual(self.move_product_a.quantity, 2)
198
212
  self.assertEqual(self.move_product_b.quantity, 1)
199
213
  self.assertTrue(self.task.sudo().stock_analytic_line_ids)
214
+ # We do this to test the previous behavior (when an analytic
215
+ # lines was not linked to a stock move).
216
+ self.move_product_a.analytic_line_ids.stock_move_id = False
200
217
  # action_cancel
201
218
  self.task.action_cancel()
202
219
  self.assertEqual(self.move_product_a.state, "done")
@@ -59,6 +59,15 @@
59
59
  <field name="product_uom_category_id" column_invisible="1" />
60
60
  <field name="quantity" string="Consumed" readonly="1" />
61
61
  <field name="group_id" column_invisible="1" />
62
+ <field name="show_cancel_button_in_task" column_invisible="1" />
63
+ <button
64
+ name="action_cancel_from_task"
65
+ type="object"
66
+ class="btn-secondary"
67
+ string="Cancel"
68
+ invisible="not show_cancel_button_in_task"
69
+ confirm="Are you sure you want to proceed?"
70
+ />
62
71
  </list>
63
72
  </field>
64
73
  </record>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-project_task_stock
3
- Version: 18.0.1.0.0.2
3
+ Version: 18.0.1.1.0
4
4
  Requires-Python: >=3.10
5
5
  Requires-Dist: odoo==18.0.*
6
6
  Summary: Project Task Stock
@@ -12,6 +12,11 @@ Classifier: Programming Language :: Python
12
12
  Classifier: Framework :: Odoo
13
13
  Classifier: Framework :: Odoo :: 18.0
14
14
  Classifier: License :: OSI Approved :: GNU Affero General Public License v3
15
+ Description-Content-Type: text/x-rst
16
+
17
+ .. image:: https://odoo-community.org/readme-banner-image
18
+ :target: https://odoo-community.org/get-involved?utm_source=readme
19
+ :alt: Odoo Community Association
15
20
 
16
21
  ==================
17
22
  Project Task Stock
@@ -22,13 +27,13 @@ Project Task Stock
22
27
  !! This file is generated by oca-gen-addon-readme !!
23
28
  !! changes will be overwritten. !!
24
29
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
25
- !! source digest: sha256:f4449348b761ce99bc87fd7df05d21f50bc3fc545a1d9a997017cfe768f08fce
30
+ !! source digest: sha256:242c581176cfc77f755cc535f6cd33d657b87ea678afb0ccaa09569d68d94aeb
26
31
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
27
32
 
28
33
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
29
34
  :target: https://odoo-community.org/page/development-status
30
35
  :alt: Beta
31
- .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
36
+ .. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
32
37
  :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
33
38
  :alt: License: AGPL-3
34
39
  .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproject-lightgray.png?logo=github
@@ -109,6 +114,12 @@ Usage
109
114
  - \`Cancel Materials\`: Set the moves of the products as cancelled.
110
115
  - \`Scrap\`: Allows the defined products to be scrapped.
111
116
 
117
+ Known issues / Roadmap
118
+ ======================
119
+
120
+ #. Lot compatibility (similar to what happens in pickings). #. Release
121
+ stock reserves if the task is deleted.
122
+
112
123
  Bug Tracker
113
124
  ===========
114
125
 
@@ -1,35 +1,36 @@
1
- odoo/addons/project_task_stock/README.rst,sha256=2oA8aoi8vagp5yAp03NSq7QdBzCc9xrSX05UnlP4GDo,4836
1
+ odoo/addons/project_task_stock/README.rst,sha256=pLBIxdWYtNWiObNyzUTOYW5XhisWB0tgbAshFVtaMvM,5159
2
2
  odoo/addons/project_task_stock/__init__.py,sha256=X9EJGOE2GtZbS0G82PtSXmWSZ_R8jEM0rlJTDliQjp4,21
3
- odoo/addons/project_task_stock/__manifest__.py,sha256=3giEKbkkNO102bm2EyyI3e4eATDZdMXIfOYBz2_KnIs,775
3
+ odoo/addons/project_task_stock/__manifest__.py,sha256=uU6kBxOzKrAPZb_wghhKWDy1hEr06E4NVuIfasuVwYg,775
4
4
  odoo/addons/project_task_stock/demo/project_data.xml,sha256=GbYSbj5CiOQHyAeQtdBWMbHajJyVDytBf50cBJv4tpI,1123
5
5
  odoo/addons/project_task_stock/demo/stock_picking_type_data.xml,sha256=c5i4QCAiyQe56NABAUPSJMEMQ9lgr7D1QzzW3M5N-hY,525
6
6
  odoo/addons/project_task_stock/i18n/es.po,sha256=aS-DolEb3_OAn-qz5Nfx0LSFHF0Dy_1fQB8nl0i7ALY,12671
7
7
  odoo/addons/project_task_stock/i18n/fr.po,sha256=xqZZROUbM_4vqkazjkUk1Bf02wd5nBwOl1M7VrP6Zvc,11126
8
8
  odoo/addons/project_task_stock/i18n/hr.po,sha256=p6TdErMU-3xEvWzIcw93UfvTHoizCxEg0S8MPw3UUJI,12613
9
9
  odoo/addons/project_task_stock/i18n/it.po,sha256=KR4YaCV7Ubyvg3BowFY25jbhHzI8rOqkdb8natC3fqg,12737
10
- odoo/addons/project_task_stock/i18n/project_task_stock.pot,sha256=hI2OSX8dBiEmHFnNtUeVNfyGo9siFCelm9zYK5uk-v8,10924
10
+ odoo/addons/project_task_stock/i18n/project_task_stock.pot,sha256=7FDZwz977F9ZG8AuYuys87Nt1nv8C9qjaAlC6Riu9qg,11613
11
11
  odoo/addons/project_task_stock/i18n/pt_BR.po,sha256=peCYNpMBp_FNJr9ZB0zi6c1G8Peb_rR7jTbnXiQKIO8,12843
12
12
  odoo/addons/project_task_stock/models/__init__.py,sha256=I5RT15Ty8nTgrnFlAVrkxRbKuQIpIZAsACSqPzffQ4U,209
13
- odoo/addons/project_task_stock/models/account_analytic_line.py,sha256=iWNk6Sp5PGj4RUYpIil1N4RH19wiu-_qBXamh6KBTTg,844
13
+ odoo/addons/project_task_stock/models/account_analytic_line.py,sha256=RSND1vjwTJlunJoFa1mPaJqfns8Q0DtsHE-cxAToB7A,974
14
14
  odoo/addons/project_task_stock/models/project_project.py,sha256=Qf_kkL7KUQxNo4XNJ28SruRlbK0Zy0sejYvWz6vLISk,1545
15
- odoo/addons/project_task_stock/models/project_task.py,sha256=9ClVyhmAbzmf3uqDddsALWoQzM0yRnN0uzeccKzVrrQ,10435
16
- odoo/addons/project_task_stock/models/stock_move.py,sha256=1ga7FzQfUKLlz-Dz2UHiiC_yfJPyoIfSyqaCcEXSIPo,5173
15
+ odoo/addons/project_task_stock/models/project_task.py,sha256=GTSPAJVP0zokAS-13b1vUtg7_aDl_5_e6H8U_O49DTg,10182
16
+ odoo/addons/project_task_stock/models/stock_move.py,sha256=eV6JpeafFT_o1TLWBf_YUP_P4bVflbrl0rd54cKPmGg,8565
17
17
  odoo/addons/project_task_stock/models/stock_scrap.py,sha256=zIHRHbc4cqtLeuIYtGGRvQDAKPFRdyGcJ-_NrrP3jlQ,875
18
18
  odoo/addons/project_task_stock/readme/CONFIGURE.md,sha256=4XwAh_S4bnXRLEWh5qSs9odeJFvtDvPEArQfq3fQUhg,903
19
19
  odoo/addons/project_task_stock/readme/CONTRIBUTORS.md,sha256=7B3TJAW9bVCbc9-u4HKUamqJSM0J1p_Z_47T3M3uXxE,83
20
20
  odoo/addons/project_task_stock/readme/DESCRIPTION.md,sha256=QokztTE5MwpfnbAogx3VLWAA2YdNch7c4BAyxXHPLwM,69
21
+ odoo/addons/project_task_stock/readme/ROADMAP.md,sha256=O5Fz1skeLk6S4CTmbHzscRXYOGfCBY_gtCAEf_E47Gw,109
21
22
  odoo/addons/project_task_stock/readme/USAGE.md,sha256=eOWL0QCwPpokebB-EJDovHkJSDT9ztTUSoEp1W0YY3I,845
22
23
  odoo/addons/project_task_stock/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
23
- odoo/addons/project_task_stock/static/description/index.html,sha256=Z3pRj6AgWDTduKPHJCwKd9L0jIH6aC2rzUhMJnvghBo,14776
24
+ odoo/addons/project_task_stock/static/description/index.html,sha256=Wjbq8YFE4goQBMBPTXdeCVqq7jbyPmAVN4UQDYjCtYc,15358
24
25
  odoo/addons/project_task_stock/tests/__init__.py,sha256=t2gqBJiFaqp2rOwkMCOmAnRKCBGKOddjpE4WVCMTJ3o,150
25
26
  odoo/addons/project_task_stock/tests/common.py,sha256=D_YbTvpSut235e35T8oDK6wb4ODDfAZOzkd1q2gPRHM,3705
26
- odoo/addons/project_task_stock/tests/test_project_task_stock.py,sha256=T304fWCZ0_OkuWQqtI7Q10HZzj3aW3nu7WvJXxf72cg,16124
27
+ odoo/addons/project_task_stock/tests/test_project_task_stock.py,sha256=ycaHyuI8E3iA_E-XX_JXbDhsfc79fdVEO1lYR9n3Oxg,16896
27
28
  odoo/addons/project_task_stock/views/project_project_view.xml,sha256=guERwgs5MebLRq0EMA8Nu8oWjMdVPOwZlJE8P-ER1yw,994
28
29
  odoo/addons/project_task_stock/views/project_task_type_view.xml,sha256=PuhMxiLk_brwDCFw9fQMUKCx6CmxjUcJXx_EnsY2G34,555
29
30
  odoo/addons/project_task_stock/views/project_task_view.xml,sha256=UI3NQ3QeDAzkSlZtL_k_mr2aFrGNxFihb8PmdaAShuk,6451
30
- odoo/addons/project_task_stock/views/stock_move_view.xml,sha256=eKT_EHqZ_b5Ih3fFDlkn3LNehZAPwJ2_JDZC8CSOtOY,2822
31
+ odoo/addons/project_task_stock/views/stock_move_view.xml,sha256=uguTAZaMh7bOwuo9f9G0hCVcr9-xOhKimOVT0zUw8_U,3236
31
32
  odoo/addons/project_task_stock/views/stock_scrap_views.xml,sha256=sOCk3Nv159QHO3gqiuVubbUH1mWHgKTwOURXnkWsxno,507
32
- odoo_addon_project_task_stock-18.0.1.0.0.2.dist-info/METADATA,sha256=HE0HWQUVDik8K39bBXcZL8uDgsw9PRo43l_dF4U28c4,5335
33
- odoo_addon_project_task_stock-18.0.1.0.0.2.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
34
- odoo_addon_project_task_stock-18.0.1.0.0.2.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
35
- odoo_addon_project_task_stock-18.0.1.0.0.2.dist-info/RECORD,,
33
+ odoo_addon_project_task_stock-18.0.1.1.0.dist-info/METADATA,sha256=4vPc0e0v8OkRdCOak5tfqsYwvPS5t-oI4VWxjlQHMVc,5693
34
+ odoo_addon_project_task_stock-18.0.1.1.0.dist-info/WHEEL,sha256=ZhOvUsYhy81Dx67gN3TV0RchQWBIIzutDZaJODDg2Vo,81
35
+ odoo_addon_project_task_stock-18.0.1.1.0.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
36
+ odoo_addon_project_task_stock-18.0.1.1.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: Whool 1.2
2
+ Generator: Whool 1.3
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5