odoo-addon-shipment-advice 18.0.1.0.1.1__py3-none-any.whl → 18.0.1.1.0.1__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/shipment_advice/README.rst +1 -1
- odoo/addons/shipment_advice/__manifest__.py +1 -1
- odoo/addons/shipment_advice/i18n/es.po +24 -0
- odoo/addons/shipment_advice/i18n/fr.po +24 -0
- odoo/addons/shipment_advice/i18n/it.po +24 -0
- odoo/addons/shipment_advice/i18n/nl.po +24 -0
- odoo/addons/shipment_advice/i18n/pt_BR.po +24 -0
- odoo/addons/shipment_advice/i18n/shipment_advice.pot +23 -0
- odoo/addons/shipment_advice/models/shipment_advice.py +83 -1
- odoo/addons/shipment_advice/static/description/index.html +1 -1
- odoo/addons/shipment_advice/tests/__init__.py +1 -0
- odoo/addons/shipment_advice/tests/test_shipment_advice_to_load.py +51 -0
- odoo/addons/shipment_advice/views/shipment_advice.xml +13 -0
- {odoo_addon_shipment_advice-18.0.1.0.1.1.dist-info → odoo_addon_shipment_advice-18.0.1.1.0.1.dist-info}/METADATA +2 -2
- {odoo_addon_shipment_advice-18.0.1.0.1.1.dist-info → odoo_addon_shipment_advice-18.0.1.1.0.1.dist-info}/RECORD +17 -16
- {odoo_addon_shipment_advice-18.0.1.0.1.1.dist-info → odoo_addon_shipment_advice-18.0.1.1.0.1.dist-info}/WHEEL +0 -0
- {odoo_addon_shipment_advice-18.0.1.0.1.1.dist-info → odoo_addon_shipment_advice-18.0.1.1.0.1.dist-info}/top_level.txt +0 -0
|
@@ -11,7 +11,7 @@ Shipment Advice
|
|
|
11
11
|
!! This file is generated by oca-gen-addon-readme !!
|
|
12
12
|
!! changes will be overwritten. !!
|
|
13
13
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
14
|
-
!! source digest: sha256:
|
|
14
|
+
!! source digest: sha256:3c20858c435bf0b0f7cfc657a9526149f9676c578d16b36de7574c0cd6298986
|
|
15
15
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
16
16
|
|
|
17
17
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
{
|
|
5
5
|
"name": "Shipment Advice",
|
|
6
6
|
"summary": "Manage your (un)loading process through shipment advices.",
|
|
7
|
-
"version": "18.0.1.0
|
|
7
|
+
"version": "18.0.1.1.0",
|
|
8
8
|
"author": "Camptocamp, BCIM, Odoo Community Association (OCA)",
|
|
9
9
|
"maintainers": ["jbaudoux"],
|
|
10
10
|
"website": "https://github.com/OCA/stock-logistics-transport",
|
|
@@ -434,6 +434,16 @@ msgstr "Última actualización el"
|
|
|
434
434
|
msgid "Leave open"
|
|
435
435
|
msgstr "Dejar abierto"
|
|
436
436
|
|
|
437
|
+
#. module: shipment_advice
|
|
438
|
+
#: model:ir.model.fields,field_description:shipment_advice.field_shipment_advice__line_to_load_ids
|
|
439
|
+
msgid "Line To Load"
|
|
440
|
+
msgstr ""
|
|
441
|
+
|
|
442
|
+
#. module: shipment_advice
|
|
443
|
+
#: model:ir.model.fields,field_description:shipment_advice.field_shipment_advice__lines_to_load_count
|
|
444
|
+
msgid "Lines To Load Count"
|
|
445
|
+
msgstr ""
|
|
446
|
+
|
|
437
447
|
#. module: shipment_advice
|
|
438
448
|
#. odoo-python
|
|
439
449
|
#: code:addons/shipment_advice/wizards/load_shipment.py:0
|
|
@@ -443,6 +453,15 @@ msgstr ""
|
|
|
443
453
|
"Se actualizaron las líneas a incluir, manteniendo solo aquellas calificadas "
|
|
444
454
|
"como entrega."
|
|
445
455
|
|
|
456
|
+
#. module: shipment_advice
|
|
457
|
+
#: model:ir.model.fields,help:shipment_advice.field_shipment_advice__line_to_load_ids
|
|
458
|
+
msgid ""
|
|
459
|
+
"Lines to load in priority.\n"
|
|
460
|
+
"If the shipment is planned, it'll return the planned lines.\n"
|
|
461
|
+
"If the shipment is not planned, it'll return lines from transfers partially "
|
|
462
|
+
"loaded."
|
|
463
|
+
msgstr ""
|
|
464
|
+
|
|
446
465
|
#. module: shipment_advice
|
|
447
466
|
#: model_terms:ir.ui.view,arch_db:shipment_advice.wizard_load_shipment_form
|
|
448
467
|
msgid "Load in Shipment Advice"
|
|
@@ -1151,6 +1170,11 @@ msgstr ""
|
|
|
1151
1170
|
"Producto: %(product)s.\n"
|
|
1152
1171
|
"Albarán: %(picking)s"
|
|
1153
1172
|
|
|
1173
|
+
#. module: shipment_advice
|
|
1174
|
+
#: model_terms:ir.ui.view,arch_db:shipment_advice.shipment_advice_view_form
|
|
1175
|
+
msgid "To load"
|
|
1176
|
+
msgstr ""
|
|
1177
|
+
|
|
1154
1178
|
#. module: shipment_advice
|
|
1155
1179
|
#: model_terms:ir.ui.view,arch_db:shipment_advice.view_picking_internal_search
|
|
1156
1180
|
msgid "To plan in Shipment Advice"
|
|
@@ -430,6 +430,16 @@ msgstr ""
|
|
|
430
430
|
msgid "Leave open"
|
|
431
431
|
msgstr "Laisser ouvert"
|
|
432
432
|
|
|
433
|
+
#. module: shipment_advice
|
|
434
|
+
#: model:ir.model.fields,field_description:shipment_advice.field_shipment_advice__line_to_load_ids
|
|
435
|
+
msgid "Line To Load"
|
|
436
|
+
msgstr ""
|
|
437
|
+
|
|
438
|
+
#. module: shipment_advice
|
|
439
|
+
#: model:ir.model.fields,field_description:shipment_advice.field_shipment_advice__lines_to_load_count
|
|
440
|
+
msgid "Lines To Load Count"
|
|
441
|
+
msgstr ""
|
|
442
|
+
|
|
433
443
|
#. module: shipment_advice
|
|
434
444
|
#. odoo-python
|
|
435
445
|
#: code:addons/shipment_advice/wizards/load_shipment.py:0
|
|
@@ -439,6 +449,15 @@ msgstr ""
|
|
|
439
449
|
"Les lignes à inclure ont été mises à jour en ne gardant que celles définies "
|
|
440
450
|
"comme à livrer."
|
|
441
451
|
|
|
452
|
+
#. module: shipment_advice
|
|
453
|
+
#: model:ir.model.fields,help:shipment_advice.field_shipment_advice__line_to_load_ids
|
|
454
|
+
msgid ""
|
|
455
|
+
"Lines to load in priority.\n"
|
|
456
|
+
"If the shipment is planned, it'll return the planned lines.\n"
|
|
457
|
+
"If the shipment is not planned, it'll return lines from transfers partially "
|
|
458
|
+
"loaded."
|
|
459
|
+
msgstr ""
|
|
460
|
+
|
|
442
461
|
#. module: shipment_advice
|
|
443
462
|
#: model_terms:ir.ui.view,arch_db:shipment_advice.wizard_load_shipment_form
|
|
444
463
|
msgid "Load in Shipment Advice"
|
|
@@ -1137,6 +1156,11 @@ msgid ""
|
|
|
1137
1156
|
"Picking: %(picking)s"
|
|
1138
1157
|
msgstr ""
|
|
1139
1158
|
|
|
1159
|
+
#. module: shipment_advice
|
|
1160
|
+
#: model_terms:ir.ui.view,arch_db:shipment_advice.shipment_advice_view_form
|
|
1161
|
+
msgid "To load"
|
|
1162
|
+
msgstr ""
|
|
1163
|
+
|
|
1140
1164
|
#. module: shipment_advice
|
|
1141
1165
|
#: model_terms:ir.ui.view,arch_db:shipment_advice.view_picking_internal_search
|
|
1142
1166
|
msgid "To plan in Shipment Advice"
|
|
@@ -452,6 +452,16 @@ msgstr "Ultimo aggiornamento il"
|
|
|
452
452
|
msgid "Leave open"
|
|
453
453
|
msgstr "Lasciare aperta"
|
|
454
454
|
|
|
455
|
+
#. module: shipment_advice
|
|
456
|
+
#: model:ir.model.fields,field_description:shipment_advice.field_shipment_advice__line_to_load_ids
|
|
457
|
+
msgid "Line To Load"
|
|
458
|
+
msgstr ""
|
|
459
|
+
|
|
460
|
+
#. module: shipment_advice
|
|
461
|
+
#: model:ir.model.fields,field_description:shipment_advice.field_shipment_advice__lines_to_load_count
|
|
462
|
+
msgid "Lines To Load Count"
|
|
463
|
+
msgstr ""
|
|
464
|
+
|
|
455
465
|
#. module: shipment_advice
|
|
456
466
|
#. odoo-python
|
|
457
467
|
#: code:addons/shipment_advice/wizards/load_shipment.py:0
|
|
@@ -461,6 +471,15 @@ msgstr ""
|
|
|
461
471
|
"Le righe da includere sono state aggiornate, prendendo solo quelle "
|
|
462
472
|
"qualificate per la consegna."
|
|
463
473
|
|
|
474
|
+
#. module: shipment_advice
|
|
475
|
+
#: model:ir.model.fields,help:shipment_advice.field_shipment_advice__line_to_load_ids
|
|
476
|
+
msgid ""
|
|
477
|
+
"Lines to load in priority.\n"
|
|
478
|
+
"If the shipment is planned, it'll return the planned lines.\n"
|
|
479
|
+
"If the shipment is not planned, it'll return lines from transfers partially "
|
|
480
|
+
"loaded."
|
|
481
|
+
msgstr ""
|
|
482
|
+
|
|
464
483
|
#. module: shipment_advice
|
|
465
484
|
#: model_terms:ir.ui.view,arch_db:shipment_advice.wizard_load_shipment_form
|
|
466
485
|
msgid "Load in Shipment Advice"
|
|
@@ -1173,6 +1192,11 @@ msgstr ""
|
|
|
1173
1192
|
"Prodotto: %(product)s.\n"
|
|
1174
1193
|
"Prelievo: %(picking)s"
|
|
1175
1194
|
|
|
1195
|
+
#. module: shipment_advice
|
|
1196
|
+
#: model_terms:ir.ui.view,arch_db:shipment_advice.shipment_advice_view_form
|
|
1197
|
+
msgid "To load"
|
|
1198
|
+
msgstr ""
|
|
1199
|
+
|
|
1176
1200
|
#. module: shipment_advice
|
|
1177
1201
|
#: model_terms:ir.ui.view,arch_db:shipment_advice.view_picking_internal_search
|
|
1178
1202
|
msgid "To plan in Shipment Advice"
|
|
@@ -436,6 +436,16 @@ msgstr "Laatst bijgewerkt op"
|
|
|
436
436
|
msgid "Leave open"
|
|
437
437
|
msgstr "Open laten"
|
|
438
438
|
|
|
439
|
+
#. module: shipment_advice
|
|
440
|
+
#: model:ir.model.fields,field_description:shipment_advice.field_shipment_advice__line_to_load_ids
|
|
441
|
+
msgid "Line To Load"
|
|
442
|
+
msgstr ""
|
|
443
|
+
|
|
444
|
+
#. module: shipment_advice
|
|
445
|
+
#: model:ir.model.fields,field_description:shipment_advice.field_shipment_advice__lines_to_load_count
|
|
446
|
+
msgid "Lines To Load Count"
|
|
447
|
+
msgstr ""
|
|
448
|
+
|
|
439
449
|
#. module: shipment_advice
|
|
440
450
|
#. odoo-python
|
|
441
451
|
#: code:addons/shipment_advice/wizards/load_shipment.py:0
|
|
@@ -445,6 +455,15 @@ msgstr ""
|
|
|
445
455
|
"De te includeren regels zijn bijgewerkt, waarbij alleen de regels die als "
|
|
446
456
|
"levering zijn gekwalificeerd, behouden zijn."
|
|
447
457
|
|
|
458
|
+
#. module: shipment_advice
|
|
459
|
+
#: model:ir.model.fields,help:shipment_advice.field_shipment_advice__line_to_load_ids
|
|
460
|
+
msgid ""
|
|
461
|
+
"Lines to load in priority.\n"
|
|
462
|
+
"If the shipment is planned, it'll return the planned lines.\n"
|
|
463
|
+
"If the shipment is not planned, it'll return lines from transfers partially "
|
|
464
|
+
"loaded."
|
|
465
|
+
msgstr ""
|
|
466
|
+
|
|
448
467
|
#. module: shipment_advice
|
|
449
468
|
#: model_terms:ir.ui.view,arch_db:shipment_advice.wizard_load_shipment_form
|
|
450
469
|
msgid "Load in Shipment Advice"
|
|
@@ -1158,6 +1177,11 @@ msgstr ""
|
|
|
1158
1177
|
"Product: %(product)s.\n"
|
|
1159
1178
|
"Picking: %(picking)s"
|
|
1160
1179
|
|
|
1180
|
+
#. module: shipment_advice
|
|
1181
|
+
#: model_terms:ir.ui.view,arch_db:shipment_advice.shipment_advice_view_form
|
|
1182
|
+
msgid "To load"
|
|
1183
|
+
msgstr ""
|
|
1184
|
+
|
|
1161
1185
|
#. module: shipment_advice
|
|
1162
1186
|
#: model_terms:ir.ui.view,arch_db:shipment_advice.view_picking_internal_search
|
|
1163
1187
|
msgid "To plan in Shipment Advice"
|
|
@@ -421,6 +421,16 @@ msgstr ""
|
|
|
421
421
|
msgid "Leave open"
|
|
422
422
|
msgstr ""
|
|
423
423
|
|
|
424
|
+
#. module: shipment_advice
|
|
425
|
+
#: model:ir.model.fields,field_description:shipment_advice.field_shipment_advice__line_to_load_ids
|
|
426
|
+
msgid "Line To Load"
|
|
427
|
+
msgstr ""
|
|
428
|
+
|
|
429
|
+
#. module: shipment_advice
|
|
430
|
+
#: model:ir.model.fields,field_description:shipment_advice.field_shipment_advice__lines_to_load_count
|
|
431
|
+
msgid "Lines To Load Count"
|
|
432
|
+
msgstr ""
|
|
433
|
+
|
|
424
434
|
#. module: shipment_advice
|
|
425
435
|
#. odoo-python
|
|
426
436
|
#: code:addons/shipment_advice/wizards/load_shipment.py:0
|
|
@@ -428,6 +438,15 @@ msgid ""
|
|
|
428
438
|
"Lines to include have been updated, keeping only those qualified as delivery."
|
|
429
439
|
msgstr ""
|
|
430
440
|
|
|
441
|
+
#. module: shipment_advice
|
|
442
|
+
#: model:ir.model.fields,help:shipment_advice.field_shipment_advice__line_to_load_ids
|
|
443
|
+
msgid ""
|
|
444
|
+
"Lines to load in priority.\n"
|
|
445
|
+
"If the shipment is planned, it'll return the planned lines.\n"
|
|
446
|
+
"If the shipment is not planned, it'll return lines from transfers partially "
|
|
447
|
+
"loaded."
|
|
448
|
+
msgstr ""
|
|
449
|
+
|
|
431
450
|
#. module: shipment_advice
|
|
432
451
|
#: model_terms:ir.ui.view,arch_db:shipment_advice.wizard_load_shipment_form
|
|
433
452
|
msgid "Load in Shipment Advice"
|
|
@@ -1089,6 +1108,11 @@ msgid ""
|
|
|
1089
1108
|
"Picking: %(picking)s"
|
|
1090
1109
|
msgstr ""
|
|
1091
1110
|
|
|
1111
|
+
#. module: shipment_advice
|
|
1112
|
+
#: model_terms:ir.ui.view,arch_db:shipment_advice.shipment_advice_view_form
|
|
1113
|
+
msgid "To load"
|
|
1114
|
+
msgstr ""
|
|
1115
|
+
|
|
1092
1116
|
#. module: shipment_advice
|
|
1093
1117
|
#: model_terms:ir.ui.view,arch_db:shipment_advice.view_picking_internal_search
|
|
1094
1118
|
msgid "To plan in Shipment Advice"
|
|
@@ -412,6 +412,16 @@ msgstr ""
|
|
|
412
412
|
msgid "Leave open"
|
|
413
413
|
msgstr ""
|
|
414
414
|
|
|
415
|
+
#. module: shipment_advice
|
|
416
|
+
#: model:ir.model.fields,field_description:shipment_advice.field_shipment_advice__line_to_load_ids
|
|
417
|
+
msgid "Line To Load"
|
|
418
|
+
msgstr ""
|
|
419
|
+
|
|
420
|
+
#. module: shipment_advice
|
|
421
|
+
#: model:ir.model.fields,field_description:shipment_advice.field_shipment_advice__lines_to_load_count
|
|
422
|
+
msgid "Lines To Load Count"
|
|
423
|
+
msgstr ""
|
|
424
|
+
|
|
415
425
|
#. module: shipment_advice
|
|
416
426
|
#. odoo-python
|
|
417
427
|
#: code:addons/shipment_advice/wizards/load_shipment.py:0
|
|
@@ -420,6 +430,14 @@ msgid ""
|
|
|
420
430
|
"delivery."
|
|
421
431
|
msgstr ""
|
|
422
432
|
|
|
433
|
+
#. module: shipment_advice
|
|
434
|
+
#: model:ir.model.fields,help:shipment_advice.field_shipment_advice__line_to_load_ids
|
|
435
|
+
msgid ""
|
|
436
|
+
"Lines to load in priority.\n"
|
|
437
|
+
"If the shipment is planned, it'll return the planned lines.\n"
|
|
438
|
+
"If the shipment is not planned, it'll return lines from transfers partially loaded."
|
|
439
|
+
msgstr ""
|
|
440
|
+
|
|
423
441
|
#. module: shipment_advice
|
|
424
442
|
#: model_terms:ir.ui.view,arch_db:shipment_advice.wizard_load_shipment_form
|
|
425
443
|
msgid "Load in Shipment Advice"
|
|
@@ -1084,6 +1102,11 @@ msgid ""
|
|
|
1084
1102
|
"Picking: %(picking)s"
|
|
1085
1103
|
msgstr ""
|
|
1086
1104
|
|
|
1105
|
+
#. module: shipment_advice
|
|
1106
|
+
#: model_terms:ir.ui.view,arch_db:shipment_advice.shipment_advice_view_form
|
|
1107
|
+
msgid "To load"
|
|
1108
|
+
msgstr ""
|
|
1109
|
+
|
|
1087
1110
|
#. module: shipment_advice
|
|
1088
1111
|
#: model_terms:ir.ui.view,arch_db:shipment_advice.view_picking_internal_search
|
|
1089
1112
|
msgid "To plan in Shipment Advice"
|
|
@@ -132,6 +132,17 @@ class ShipmentAdvice(models.Model):
|
|
|
132
132
|
string="Package Levels",
|
|
133
133
|
)
|
|
134
134
|
loaded_packages_count = fields.Integer(compute="_compute_count")
|
|
135
|
+
line_to_load_ids = fields.One2many(
|
|
136
|
+
comodel_name="stock.move.line",
|
|
137
|
+
compute="_compute_line_to_load_ids",
|
|
138
|
+
help=(
|
|
139
|
+
"Lines to load in priority.\n"
|
|
140
|
+
"If the shipment is planned, it'll return the planned lines.\n"
|
|
141
|
+
"If the shipment is not planned, it'll return lines from transfers "
|
|
142
|
+
"partially loaded."
|
|
143
|
+
),
|
|
144
|
+
)
|
|
145
|
+
lines_to_load_count = fields.Integer(compute="_compute_count")
|
|
135
146
|
carrier_ids = fields.Many2many(
|
|
136
147
|
comodel_name="delivery.carrier",
|
|
137
148
|
string="Related shipping methods",
|
|
@@ -160,6 +171,69 @@ class ShipmentAdvice(models.Model):
|
|
|
160
171
|
def _default_run_in_queue_job(self):
|
|
161
172
|
return self.env.user.company_id.shipment_advice_run_in_queue_job
|
|
162
173
|
|
|
174
|
+
def _find_move_lines_domain(self, picking_type_ids=None):
|
|
175
|
+
"""Returns the base domain to look for move lines for a given shipment."""
|
|
176
|
+
self.ensure_one()
|
|
177
|
+
domain = [
|
|
178
|
+
("state", "in", ("assigned", "partially_available")),
|
|
179
|
+
("picking_code", "=", self.shipment_type),
|
|
180
|
+
"|",
|
|
181
|
+
("shipment_advice_id", "=", False),
|
|
182
|
+
("shipment_advice_id", "=", self.id),
|
|
183
|
+
]
|
|
184
|
+
# Restrict on picking types if provided
|
|
185
|
+
if picking_type_ids:
|
|
186
|
+
domain.insert(0, ("picking_id.picking_type_id", "in", picking_type_ids.ids))
|
|
187
|
+
else:
|
|
188
|
+
domain.insert(
|
|
189
|
+
0,
|
|
190
|
+
("picking_id.picking_type_id.warehouse_id", "=", self.warehouse_id.id),
|
|
191
|
+
)
|
|
192
|
+
# Shipment with planned content, restrict the search to it
|
|
193
|
+
if self.planned_move_ids:
|
|
194
|
+
domain.append(("move_id.shipment_advice_id", "=", self.id))
|
|
195
|
+
# Shipment without planned content, search for all unplanned moves
|
|
196
|
+
else:
|
|
197
|
+
domain.append(("move_id.shipment_advice_id", "=", False))
|
|
198
|
+
# Restrict to shipment carrier delivery types (providers)
|
|
199
|
+
if self.carrier_ids:
|
|
200
|
+
domain.extend(
|
|
201
|
+
[
|
|
202
|
+
"|",
|
|
203
|
+
(
|
|
204
|
+
"picking_id.carrier_id.delivery_type",
|
|
205
|
+
"in",
|
|
206
|
+
self.carrier_ids.mapped("delivery_type"),
|
|
207
|
+
),
|
|
208
|
+
("picking_id.carrier_id", "=", False),
|
|
209
|
+
]
|
|
210
|
+
)
|
|
211
|
+
return domain
|
|
212
|
+
|
|
213
|
+
@api.depends("planned_move_ids")
|
|
214
|
+
@api.depends_context("shipment_picking_type_ids")
|
|
215
|
+
def _compute_line_to_load_ids(self):
|
|
216
|
+
picking_type_ids = self.env.context.get("shipment_picking_type_ids", [])
|
|
217
|
+
for shipment in self:
|
|
218
|
+
domain = shipment._find_move_lines_domain(picking_type_ids)
|
|
219
|
+
# Restrict to lines not loaded
|
|
220
|
+
domain.insert(0, ("shipment_advice_id", "=", False))
|
|
221
|
+
# Find lines to load from partially loaded transfers if the shipment
|
|
222
|
+
# is not planned.
|
|
223
|
+
if not shipment.planned_move_ids:
|
|
224
|
+
all_lines_to_load = self.env["stock.move.line"].search(domain)
|
|
225
|
+
all_pickings = all_lines_to_load.picking_id
|
|
226
|
+
loaded_lines = self.env["stock.move.line"].search(
|
|
227
|
+
[
|
|
228
|
+
("picking_id", "in", all_pickings.ids),
|
|
229
|
+
("id", "not in", all_lines_to_load.ids),
|
|
230
|
+
("shipment_advice_id", "!=", False),
|
|
231
|
+
]
|
|
232
|
+
)
|
|
233
|
+
pickings_partially_loaded = loaded_lines.picking_id
|
|
234
|
+
domain += [("picking_id", "in", pickings_partially_loaded.ids)]
|
|
235
|
+
shipment.line_to_load_ids = self.env["stock.move.line"].search(domain)
|
|
236
|
+
|
|
163
237
|
def _check_include_package_level(self, package_level):
|
|
164
238
|
"""Check if a package level should be listed in the shipment advice.
|
|
165
239
|
|
|
@@ -198,7 +272,7 @@ class ShipmentAdvice(models.Model):
|
|
|
198
272
|
package_ids
|
|
199
273
|
)
|
|
200
274
|
|
|
201
|
-
@api.depends("planned_picking_ids", "planned_move_ids")
|
|
275
|
+
@api.depends("planned_picking_ids", "planned_move_ids", "line_to_load_ids")
|
|
202
276
|
def _compute_count(self):
|
|
203
277
|
for shipment in self:
|
|
204
278
|
shipment.planned_pickings_count = len(shipment.planned_picking_ids)
|
|
@@ -208,6 +282,7 @@ class ShipmentAdvice(models.Model):
|
|
|
208
282
|
shipment.loaded_move_line_without_package_ids
|
|
209
283
|
)
|
|
210
284
|
shipment.loaded_packages_count = len(shipment.loaded_package_ids)
|
|
285
|
+
shipment.lines_to_load_count = len(shipment.line_to_load_ids)
|
|
211
286
|
|
|
212
287
|
@api.depends("planned_picking_ids", "loaded_picking_ids")
|
|
213
288
|
def _compute_carrier_ids(self):
|
|
@@ -475,6 +550,13 @@ class ShipmentAdvice(models.Model):
|
|
|
475
550
|
action["domain"] = [("id", "in", self.loaded_package_ids.ids)]
|
|
476
551
|
return action
|
|
477
552
|
|
|
553
|
+
def button_open_to_load_move_lines(self):
|
|
554
|
+
action_xmlid = "stock.stock_move_line_action"
|
|
555
|
+
action = self.env["ir.actions.act_window"]._for_xml_id(action_xmlid)
|
|
556
|
+
action["domain"] = [("id", "in", self.line_to_load_ids.ids)]
|
|
557
|
+
action["context"] = {} # Disable filters
|
|
558
|
+
return action
|
|
559
|
+
|
|
478
560
|
def _domain_open_deliveries_in_progress(self):
|
|
479
561
|
self.ensure_one()
|
|
480
562
|
domain = []
|
|
@@ -372,7 +372,7 @@ ul.auto-toc {
|
|
|
372
372
|
!! This file is generated by oca-gen-addon-readme !!
|
|
373
373
|
!! changes will be overwritten. !!
|
|
374
374
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
375
|
-
!! source digest: sha256:
|
|
375
|
+
!! source digest: sha256:3c20858c435bf0b0f7cfc657a9526149f9676c578d16b36de7574c0cd6298986
|
|
376
376
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
377
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/stock-logistics-transport/tree/18.0/shipment_advice"><img alt="OCA/stock-logistics-transport" src="https://img.shields.io/badge/github-OCA%2Fstock--logistics--transport-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/stock-logistics-transport-18-0/stock-logistics-transport-18-0-shipment_advice"><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/stock-logistics-transport&target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
|
378
378
|
<p>Manage your (un)loading process through shipment advices.</p>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from . import test_shipment_advice
|
|
2
2
|
from . import test_shipment_advice_async
|
|
3
3
|
from . import test_shipment_advice_plan
|
|
4
|
+
from . import test_shipment_advice_to_load
|
|
4
5
|
from . import test_shipment_advice_load
|
|
5
6
|
from . import test_shipment_advice_picking_values
|
|
6
7
|
from . import test_shipment_advice_unload
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Copyright 2023 Camptocamp SA
|
|
2
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
from .common import Common
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class TestShipmentAdviceToLoad(Common):
|
|
9
|
+
def test_shipment_advice_not_planned_lines_to_load(self):
|
|
10
|
+
self.progress_shipment_advice(self.shipment_advice_out)
|
|
11
|
+
# Load a transfer partially
|
|
12
|
+
self.load_records_in_shipment(
|
|
13
|
+
self.shipment_advice_out, self.move_product_out1.move_line_ids
|
|
14
|
+
)
|
|
15
|
+
self.assertEqual(
|
|
16
|
+
self.move_product_out1.move_line_ids.shipment_advice_id,
|
|
17
|
+
self.shipment_advice_out,
|
|
18
|
+
)
|
|
19
|
+
# Check the lines computed by the shipment advice that could be loaded
|
|
20
|
+
lines_to_load = (
|
|
21
|
+
self.move_product_out2.move_line_ids | self.move_product_out3.move_line_ids
|
|
22
|
+
)
|
|
23
|
+
self.assertFalse(lines_to_load.shipment_advice_id)
|
|
24
|
+
self.assertEqual(self.shipment_advice_out.line_to_load_ids, lines_to_load)
|
|
25
|
+
|
|
26
|
+
def test_shipment_advice_planned_lines_to_load(self):
|
|
27
|
+
self.progress_shipment_advice(self.shipment_advice_out)
|
|
28
|
+
# Plan a transfer in the shipment advice
|
|
29
|
+
picking = self.move_product_out2.picking_id
|
|
30
|
+
self.plan_records_in_shipment(self.shipment_advice_out, picking)
|
|
31
|
+
# Check the lines computed by the shipment advice that could be loaded
|
|
32
|
+
# (= all the lines of the planned transfer)
|
|
33
|
+
lines_to_load = picking.move_line_ids
|
|
34
|
+
self.assertFalse(lines_to_load.shipment_advice_id)
|
|
35
|
+
self.assertEqual(self.shipment_advice_out.line_to_load_ids, lines_to_load)
|
|
36
|
+
# Load some goods from the planned transfer
|
|
37
|
+
self.load_records_in_shipment(
|
|
38
|
+
self.shipment_advice_out, self.move_product_out1.move_line_ids
|
|
39
|
+
)
|
|
40
|
+
self.assertEqual(
|
|
41
|
+
self.move_product_out1.move_line_ids.shipment_advice_id,
|
|
42
|
+
self.shipment_advice_out,
|
|
43
|
+
)
|
|
44
|
+
# Check the lines computed by the shipment advice that could be loaded
|
|
45
|
+
# (= the remaining planned lines of the transfer not yet loaded)
|
|
46
|
+
self.shipment_advice_out.invalidate_recordset()
|
|
47
|
+
lines_to_load2 = (
|
|
48
|
+
self.move_product_out2.move_line_ids | self.move_product_out3.move_line_ids
|
|
49
|
+
)
|
|
50
|
+
self.assertFalse(lines_to_load2.shipment_advice_id)
|
|
51
|
+
self.assertEqual(self.shipment_advice_out.line_to_load_ids, lines_to_load2)
|
|
@@ -140,6 +140,19 @@
|
|
|
140
140
|
widget="statinfo"
|
|
141
141
|
/>
|
|
142
142
|
</button>
|
|
143
|
+
<button
|
|
144
|
+
name="button_open_to_load_move_lines"
|
|
145
|
+
type="object"
|
|
146
|
+
class="oe_stat_button"
|
|
147
|
+
icon="fa-list"
|
|
148
|
+
invisible="shipment_type != 'outgoing' or state != 'in_progress'"
|
|
149
|
+
>
|
|
150
|
+
<field
|
|
151
|
+
string="To load"
|
|
152
|
+
name="lines_to_load_count"
|
|
153
|
+
widget="statinfo"
|
|
154
|
+
/>
|
|
155
|
+
</button>
|
|
143
156
|
<button
|
|
144
157
|
name="button_open_deliveries_in_progress"
|
|
145
158
|
type="object"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: odoo-addon-shipment_advice
|
|
3
|
-
Version: 18.0.1.0.1
|
|
3
|
+
Version: 18.0.1.1.0.1
|
|
4
4
|
Requires-Python: >=3.10
|
|
5
5
|
Requires-Dist: odoo-addon-queue_job==18.0.*
|
|
6
6
|
Requires-Dist: odoo-addon-stock_dock==18.0.*
|
|
@@ -29,7 +29,7 @@ Shipment Advice
|
|
|
29
29
|
!! This file is generated by oca-gen-addon-readme !!
|
|
30
30
|
!! changes will be overwritten. !!
|
|
31
31
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
32
|
-
!! source digest: sha256:
|
|
32
|
+
!! source digest: sha256:3c20858c435bf0b0f7cfc657a9526149f9676c578d16b36de7574c0cd6298986
|
|
33
33
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
34
34
|
|
|
35
35
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
odoo/addons/shipment_advice/README.rst,sha256=
|
|
1
|
+
odoo/addons/shipment_advice/README.rst,sha256=qXYXWFvjtUgx6xJ5Lm9yhBBLPgj7QSKEAy92TBzwmK4,3724
|
|
2
2
|
odoo/addons/shipment_advice/__init__.py,sha256=0XNpxETgFdVxFDEw03O8oL3NtTSk3we-HEZW2sPKzIU,43
|
|
3
|
-
odoo/addons/shipment_advice/__manifest__.py,sha256=
|
|
3
|
+
odoo/addons/shipment_advice/__manifest__.py,sha256=1rrR6hXDOTEHqX3P7Rv0HQ2dKavsq3SsMMK4u5DO8So,1329
|
|
4
4
|
odoo/addons/shipment_advice/data/ir_sequence.xml,sha256=7y13W1xPr3o_deB6s5a_UHSJGMpFGCA8JTc7xI5L0-c,1066
|
|
5
5
|
odoo/addons/shipment_advice/data/queue_job_channel.xml,sha256=HTEQATvxEq52hjDeYG0PjLOdMtMIDSGNAVFbGCaJKWQ,362
|
|
6
6
|
odoo/addons/shipment_advice/data/queue_job_function.xml,sha256=wH4AFoMRWdex1ukhstYBQ2TBE2lgyCrOr0OFOqRyRvE,1220
|
|
7
7
|
odoo/addons/shipment_advice/demo/stock_dock.xml,sha256=hhwcQa6JGbN-oQYrkrrgPmH1hbH1p7YEGuKZY9NGMT0,267
|
|
8
|
-
odoo/addons/shipment_advice/i18n/es.po,sha256=
|
|
9
|
-
odoo/addons/shipment_advice/i18n/fr.po,sha256=
|
|
10
|
-
odoo/addons/shipment_advice/i18n/it.po,sha256=
|
|
11
|
-
odoo/addons/shipment_advice/i18n/nl.po,sha256=
|
|
12
|
-
odoo/addons/shipment_advice/i18n/pt_BR.po,sha256=
|
|
13
|
-
odoo/addons/shipment_advice/i18n/shipment_advice.pot,sha256=
|
|
8
|
+
odoo/addons/shipment_advice/i18n/es.po,sha256=4WeFW81NZ5St-fpf7661gapgi3lcKce7WFN0W3AxAJ8,59243
|
|
9
|
+
odoo/addons/shipment_advice/i18n/fr.po,sha256=fRDnWMWqo3xP7aCN7Ez-zeNUTELzy15LrUPTOzAFrZA,56815
|
|
10
|
+
odoo/addons/shipment_advice/i18n/it.po,sha256=tDcfFqKhtZKPGGXxj333VB9FUCmMQyPZrYGogBq-dEg,62301
|
|
11
|
+
odoo/addons/shipment_advice/i18n/nl.po,sha256=mYjA766oSeEROGLTH9TruWdPT4lm4GFkuxXQjWLM-IE,60381
|
|
12
|
+
odoo/addons/shipment_advice/i18n/pt_BR.po,sha256=O2YqSg6EUyFwOK910wD4AobcaOiUx0y4csXCnxLKvRA,48371
|
|
13
|
+
odoo/addons/shipment_advice/i18n/shipment_advice.pot,sha256=pOEmbzai3FnaaEM3KlyEfv1YESkTVfeyKt3FzMtfv4w,48275
|
|
14
14
|
odoo/addons/shipment_advice/models/__init__.py,sha256=kvmDs7RDo8Tnvv0w_2GcxgVcw9nATFSixZ1tFlVNNz8,207
|
|
15
15
|
odoo/addons/shipment_advice/models/res_company.py,sha256=PXjmBwOvjDagL2xLA0JBD40E1cBJVyh_lVQc3R1I5tk,1669
|
|
16
16
|
odoo/addons/shipment_advice/models/res_config_settings.py,sha256=VGgAvuRnmaN2EoV3fZPdqW3gOJeKtFJX5w3R8cLHYeE,727
|
|
17
|
-
odoo/addons/shipment_advice/models/shipment_advice.py,sha256=
|
|
17
|
+
odoo/addons/shipment_advice/models/shipment_advice.py,sha256=Llfz7yRf849aVYZkBaLBBFbMIQo1I-X3WepkvZDCzEs,24045
|
|
18
18
|
odoo/addons/shipment_advice/models/stock_move.py,sha256=P6dman_04CcGZkQmfzcAn0O7DgR0FLrugCuVPW4IMtA,1237
|
|
19
19
|
odoo/addons/shipment_advice/models/stock_move_line.py,sha256=3XANFzV5ZTw2ova-YMTGiYGcpf4GNDdai_elGsbdD6Q,5503
|
|
20
20
|
odoo/addons/shipment_advice/models/stock_package_level.py,sha256=1OIYyfDho9pE6VB7PJHgSd7FIEwQRF-w4_DSdlzzV4A,1973
|
|
@@ -25,8 +25,8 @@ odoo/addons/shipment_advice/report/report_shipment_advice.xml,sha256=Wxxuwn_5-2d
|
|
|
25
25
|
odoo/addons/shipment_advice/report/reports.xml,sha256=8LeKVB1M0a4gsLyrwd68RMnxoUw0xCYIn2KN4jlCuLA,1523
|
|
26
26
|
odoo/addons/shipment_advice/security/ir.model.access.csv,sha256=FeiNV6yP6OOOwJw2MHyo1B3TQQ-umOz75A7QAlCTPZs,657
|
|
27
27
|
odoo/addons/shipment_advice/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
|
|
28
|
-
odoo/addons/shipment_advice/static/description/index.html,sha256=
|
|
29
|
-
odoo/addons/shipment_advice/tests/__init__.py,sha256=
|
|
28
|
+
odoo/addons/shipment_advice/static/description/index.html,sha256=gzuFxtddqozU43Z7oSfvKyo92Hqe0ibX029KgyKezlM,14037
|
|
29
|
+
odoo/addons/shipment_advice/tests/__init__.py,sha256=gGcrYVRWM0XICyYe-pAQ0EujlhZh99__ouu5-6LzrOM,383
|
|
30
30
|
odoo/addons/shipment_advice/tests/common.py,sha256=DVbphKo9ooNPIPc6IBfBW5SGRUtI-V-JDCxMtHt7oew,7971
|
|
31
31
|
odoo/addons/shipment_advice/tests/test_shipment_advice.py,sha256=-qEzJhGL2z8ZJReGilO00IJCBJPb0G47uK1ja1KQmHM,7636
|
|
32
32
|
odoo/addons/shipment_advice/tests/test_shipment_advice_async.py,sha256=2a2WzL9ivTyNucFhvidSszax2rN5mH5QcqUJ_2I_A6M,14566
|
|
@@ -35,9 +35,10 @@ odoo/addons/shipment_advice/tests/test_shipment_advice_load.py,sha256=ew8npNZcrs
|
|
|
35
35
|
odoo/addons/shipment_advice/tests/test_shipment_advice_picking_values.py,sha256=AQ55nwfQKAIZdDyOml2VFkNtsWxpmo8cQt2DqfLJC_o,766
|
|
36
36
|
odoo/addons/shipment_advice/tests/test_shipment_advice_plan.py,sha256=6-ArD_3ZjYo0q_TM8YLcRbEkEv3Y8bag6cz_F8WyCao,1548
|
|
37
37
|
odoo/addons/shipment_advice/tests/test_shipment_advice_stock_user.py,sha256=O3jhD_DmwJsNiEn0SjMrAPdRh763LiY5xgzdqRnT28s,4331
|
|
38
|
+
odoo/addons/shipment_advice/tests/test_shipment_advice_to_load.py,sha256=TytQwNB-IhY8sCsTXnjsexFu_vkixisyuxJQaC-A_ew,2351
|
|
38
39
|
odoo/addons/shipment_advice/tests/test_shipment_advice_unload.py,sha256=tn38FxTkAowJkqgqvYcANMy3z_2Utrzfw0PS8B1j2OQ,2683
|
|
39
40
|
odoo/addons/shipment_advice/views/res_config_settings.xml,sha256=LvM5AAkGU8-qRZsJ3KIu6LnxMmbNcSIij_ADCnurKx8,3341
|
|
40
|
-
odoo/addons/shipment_advice/views/shipment_advice.xml,sha256=
|
|
41
|
+
odoo/addons/shipment_advice/views/shipment_advice.xml,sha256=lXw2nZdCLmdWQAte8s9MY1jApnVslB2cGDYcE9IbM_k,16596
|
|
41
42
|
odoo/addons/shipment_advice/views/stock_move.xml,sha256=gAS2r4vA5wt_Rn8J1lIYtRXK86LIYhIGb1CgmqU5_bo,2393
|
|
42
43
|
odoo/addons/shipment_advice/views/stock_move_line.xml,sha256=ShvI8Nbpam3Ta0nLZAq52womRkgS43Ieg6bVqbyXkCE,3201
|
|
43
44
|
odoo/addons/shipment_advice/views/stock_package_level.xml,sha256=nKFpdjI2ecCbyDip267ZTzoGkU2m0okHDka9zH0upls,2118
|
|
@@ -51,7 +52,7 @@ odoo/addons/shipment_advice/wizards/unload_shipment.py,sha256=sKmirRidiwZd3tqnVE
|
|
|
51
52
|
odoo/addons/shipment_advice/wizards/unload_shipment.xml,sha256=wfXlLjTbA8t3g--jm9QJEBelgH1NqEU64_3FbX41bOk,1348
|
|
52
53
|
odoo/addons/shipment_advice/wizards/unplan_shipment.py,sha256=DjBJRq380zxgiOwvcvpnps5cVWWC6b5TfpvRE8UY74U,4205
|
|
53
54
|
odoo/addons/shipment_advice/wizards/unplan_shipment.xml,sha256=dzMRdRGLZ1-WX_--BzArkBYh9cbEn0B8sKllGj2AkDE,1513
|
|
54
|
-
odoo_addon_shipment_advice-18.0.1.0.1.
|
|
55
|
-
odoo_addon_shipment_advice-18.0.1.0.1.
|
|
56
|
-
odoo_addon_shipment_advice-18.0.1.0.1.
|
|
57
|
-
odoo_addon_shipment_advice-18.0.1.0.1.
|
|
55
|
+
odoo_addon_shipment_advice-18.0.1.1.0.1.dist-info/METADATA,sha256=4K-vRJ7xP4qPEdVuzjjD_M8bFjM65213nnsH6FqunP8,4410
|
|
56
|
+
odoo_addon_shipment_advice-18.0.1.1.0.1.dist-info/WHEEL,sha256=ZhOvUsYhy81Dx67gN3TV0RchQWBIIzutDZaJODDg2Vo,81
|
|
57
|
+
odoo_addon_shipment_advice-18.0.1.1.0.1.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
|
|
58
|
+
odoo_addon_shipment_advice-18.0.1.1.0.1.dist-info/RECORD,,
|
|
File without changes
|