odoo-addon-shopfloor 16.0.1.0.0.24__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/shopfloor/README.rst +160 -0
- odoo/addons/shopfloor/__init__.py +4 -0
- odoo/addons/shopfloor/__manifest__.py +65 -0
- odoo/addons/shopfloor/actions/__init__.py +15 -0
- odoo/addons/shopfloor/actions/change_package_lot.py +164 -0
- odoo/addons/shopfloor/actions/completion_info.py +42 -0
- odoo/addons/shopfloor/actions/data.py +329 -0
- odoo/addons/shopfloor/actions/data_detail.py +154 -0
- odoo/addons/shopfloor/actions/inventory.py +150 -0
- odoo/addons/shopfloor/actions/location_content_transfer_sorter.py +89 -0
- odoo/addons/shopfloor/actions/message.py +846 -0
- odoo/addons/shopfloor/actions/move_line_search.py +119 -0
- odoo/addons/shopfloor/actions/packaging.py +59 -0
- odoo/addons/shopfloor/actions/savepoint.py +44 -0
- odoo/addons/shopfloor/actions/schema.py +182 -0
- odoo/addons/shopfloor/actions/schema_detail.py +98 -0
- odoo/addons/shopfloor/actions/search.py +187 -0
- odoo/addons/shopfloor/actions/stock.py +239 -0
- odoo/addons/shopfloor/actions/stock_unreserve.py +66 -0
- odoo/addons/shopfloor/components/__init__.py +5 -0
- odoo/addons/shopfloor/components/scan_handler_location.py +26 -0
- odoo/addons/shopfloor/components/scan_handler_lot.py +26 -0
- odoo/addons/shopfloor/components/scan_handler_package.py +26 -0
- odoo/addons/shopfloor/components/scan_handler_product.py +26 -0
- odoo/addons/shopfloor/components/scan_handler_transfer.py +26 -0
- odoo/addons/shopfloor/data/shopfloor_scenario_data.xml +73 -0
- odoo/addons/shopfloor/demo/shopfloor_app_demo.xml +12 -0
- odoo/addons/shopfloor/demo/shopfloor_menu_demo.xml +64 -0
- odoo/addons/shopfloor/demo/shopfloor_profile_demo.xml +8 -0
- odoo/addons/shopfloor/demo/stock_picking_type_demo.xml +93 -0
- odoo/addons/shopfloor/docs/checkout_diag_seq.plantuml +61 -0
- odoo/addons/shopfloor/docs/checkout_diag_seq.png +0 -0
- odoo/addons/shopfloor/docs/cluster_picking_diag_seq.plantuml +112 -0
- odoo/addons/shopfloor/docs/cluster_picking_diag_seq.png +0 -0
- odoo/addons/shopfloor/docs/delivery_diag_seq.plantuml +56 -0
- odoo/addons/shopfloor/docs/delivery_diag_seq.png +0 -0
- odoo/addons/shopfloor/docs/location_content_transfer_diag_seq.plantuml +66 -0
- odoo/addons/shopfloor/docs/location_content_transfer_diag_seq.png +0 -0
- odoo/addons/shopfloor/docs/oca_logo.png +0 -0
- odoo/addons/shopfloor/docs/single_pack_transfer_diag_seq.plantuml +36 -0
- odoo/addons/shopfloor/docs/single_pack_transfer_diag_seq.png +0 -0
- odoo/addons/shopfloor/docs/zone_picking_diag_seq.plantuml +85 -0
- odoo/addons/shopfloor/docs/zone_picking_diag_seq.png +0 -0
- odoo/addons/shopfloor/exceptions.py +6 -0
- odoo/addons/shopfloor/i18n/ca.po +1802 -0
- odoo/addons/shopfloor/i18n/de.po +1791 -0
- odoo/addons/shopfloor/i18n/es_AR.po +2147 -0
- odoo/addons/shopfloor/i18n/pt_BR.po +1791 -0
- odoo/addons/shopfloor/i18n/shopfloor.pot +1877 -0
- odoo/addons/shopfloor/models/__init__.py +12 -0
- odoo/addons/shopfloor/models/priority_postpone_mixin.py +41 -0
- odoo/addons/shopfloor/models/shopfloor_app.py +9 -0
- odoo/addons/shopfloor/models/shopfloor_menu.py +436 -0
- odoo/addons/shopfloor/models/stock_location.py +76 -0
- odoo/addons/shopfloor/models/stock_move.py +119 -0
- odoo/addons/shopfloor/models/stock_move_line.py +307 -0
- odoo/addons/shopfloor/models/stock_package_level.py +50 -0
- odoo/addons/shopfloor/models/stock_picking.py +118 -0
- odoo/addons/shopfloor/models/stock_picking_batch.py +41 -0
- odoo/addons/shopfloor/models/stock_picking_type.py +26 -0
- odoo/addons/shopfloor/models/stock_quant.py +31 -0
- odoo/addons/shopfloor/models/stock_quant_package.py +101 -0
- odoo/addons/shopfloor/readme/CONTRIBUTORS.rst +18 -0
- odoo/addons/shopfloor/readme/CREDITS.rst +5 -0
- odoo/addons/shopfloor/readme/DESCRIPTION.rst +17 -0
- odoo/addons/shopfloor/readme/HISTORY.rst +4 -0
- odoo/addons/shopfloor/readme/ROADMAP.rst +4 -0
- odoo/addons/shopfloor/readme/USAGE.rst +6 -0
- odoo/addons/shopfloor/security/groups.xml +17 -0
- odoo/addons/shopfloor/services/__init__.py +16 -0
- odoo/addons/shopfloor/services/checkout.py +1763 -0
- odoo/addons/shopfloor/services/cluster_picking.py +1628 -0
- odoo/addons/shopfloor/services/delivery.py +828 -0
- odoo/addons/shopfloor/services/forms/__init__.py +1 -0
- odoo/addons/shopfloor/services/forms/picking_form.py +78 -0
- odoo/addons/shopfloor/services/location_content_transfer.py +1194 -0
- odoo/addons/shopfloor/services/menu.py +60 -0
- odoo/addons/shopfloor/services/picking_batch.py +126 -0
- odoo/addons/shopfloor/services/service.py +101 -0
- odoo/addons/shopfloor/services/single_pack_transfer.py +366 -0
- odoo/addons/shopfloor/services/zone_picking.py +1938 -0
- odoo/addons/shopfloor/static/description/icon.png +0 -0
- odoo/addons/shopfloor/static/description/index.html +500 -0
- odoo/addons/shopfloor/tests/__init__.py +83 -0
- odoo/addons/shopfloor/tests/common.py +324 -0
- odoo/addons/shopfloor/tests/models.py +29 -0
- odoo/addons/shopfloor/tests/test_actions_change_package_lot.py +1175 -0
- odoo/addons/shopfloor/tests/test_actions_data.py +376 -0
- odoo/addons/shopfloor/tests/test_actions_data_base.py +244 -0
- odoo/addons/shopfloor/tests/test_actions_data_detail.py +322 -0
- odoo/addons/shopfloor/tests/test_actions_search.py +248 -0
- odoo/addons/shopfloor/tests/test_actions_stock.py +48 -0
- odoo/addons/shopfloor/tests/test_checkout_auto_post.py +67 -0
- odoo/addons/shopfloor/tests/test_checkout_base.py +81 -0
- odoo/addons/shopfloor/tests/test_checkout_cancel_line.py +154 -0
- odoo/addons/shopfloor/tests/test_checkout_change_packaging.py +184 -0
- odoo/addons/shopfloor/tests/test_checkout_done.py +133 -0
- odoo/addons/shopfloor/tests/test_checkout_list_delivery_packaging.py +131 -0
- odoo/addons/shopfloor/tests/test_checkout_list_package.py +327 -0
- odoo/addons/shopfloor/tests/test_checkout_new_package.py +88 -0
- odoo/addons/shopfloor/tests/test_checkout_no_package.py +95 -0
- odoo/addons/shopfloor/tests/test_checkout_scan.py +174 -0
- odoo/addons/shopfloor/tests/test_checkout_scan_line.py +377 -0
- odoo/addons/shopfloor/tests/test_checkout_scan_line_base.py +25 -0
- odoo/addons/shopfloor/tests/test_checkout_scan_line_no_prefill_qty.py +91 -0
- odoo/addons/shopfloor/tests/test_checkout_scan_package_action.py +451 -0
- odoo/addons/shopfloor/tests/test_checkout_scan_package_action_no_prefill_qty.py +107 -0
- odoo/addons/shopfloor/tests/test_checkout_select.py +74 -0
- odoo/addons/shopfloor/tests/test_checkout_select_line.py +130 -0
- odoo/addons/shopfloor/tests/test_checkout_select_package_base.py +64 -0
- odoo/addons/shopfloor/tests/test_checkout_set_qty.py +257 -0
- odoo/addons/shopfloor/tests/test_checkout_summary.py +69 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_base.py +83 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_batch.py +109 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_change_pack_lot.py +111 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_is_zero.py +98 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_scan_destination.py +376 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_scan_destination_no_prefill_qty.py +115 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_scan_line.py +402 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_scan_line_location_or_pack_first.py +114 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_scan_line_no_prefill_qty.py +70 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_select.py +387 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_skip.py +90 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_stock_issue.py +364 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_unload.py +911 -0
- odoo/addons/shopfloor/tests/test_delivery_base.py +155 -0
- odoo/addons/shopfloor/tests/test_delivery_done.py +108 -0
- odoo/addons/shopfloor/tests/test_delivery_list_stock_picking.py +49 -0
- odoo/addons/shopfloor/tests/test_delivery_reset_qty_done_line.py +119 -0
- odoo/addons/shopfloor/tests/test_delivery_reset_qty_done_pack.py +107 -0
- odoo/addons/shopfloor/tests/test_delivery_scan_deliver.py +557 -0
- odoo/addons/shopfloor/tests/test_delivery_select.py +38 -0
- odoo/addons/shopfloor/tests/test_delivery_set_qty_done_line.py +91 -0
- odoo/addons/shopfloor/tests/test_delivery_set_qty_done_pack.py +135 -0
- odoo/addons/shopfloor/tests/test_delivery_sublocation.py +180 -0
- odoo/addons/shopfloor/tests/test_location_content_transfer_base.py +136 -0
- odoo/addons/shopfloor/tests/test_location_content_transfer_get_work.py +125 -0
- odoo/addons/shopfloor/tests/test_location_content_transfer_mix.py +509 -0
- odoo/addons/shopfloor/tests/test_location_content_transfer_putaway.py +143 -0
- odoo/addons/shopfloor/tests/test_location_content_transfer_scan_location.py +34 -0
- odoo/addons/shopfloor/tests/test_location_content_transfer_set_destination_all.py +343 -0
- odoo/addons/shopfloor/tests/test_location_content_transfer_set_destination_package_or_line.py +1074 -0
- odoo/addons/shopfloor/tests/test_location_content_transfer_single.py +748 -0
- odoo/addons/shopfloor/tests/test_location_content_transfer_start.py +359 -0
- odoo/addons/shopfloor/tests/test_menu_base.py +261 -0
- odoo/addons/shopfloor/tests/test_menu_counters.py +61 -0
- odoo/addons/shopfloor/tests/test_misc.py +25 -0
- odoo/addons/shopfloor/tests/test_move_action_assign.py +87 -0
- odoo/addons/shopfloor/tests/test_openapi.py +21 -0
- odoo/addons/shopfloor/tests/test_picking_form.py +62 -0
- odoo/addons/shopfloor/tests/test_scan_anything.py +49 -0
- odoo/addons/shopfloor/tests/test_single_pack_transfer.py +1121 -0
- odoo/addons/shopfloor/tests/test_single_pack_transfer_base.py +32 -0
- odoo/addons/shopfloor/tests/test_single_pack_transfer_putaway.py +104 -0
- odoo/addons/shopfloor/tests/test_stock_split.py +204 -0
- odoo/addons/shopfloor/tests/test_user.py +42 -0
- odoo/addons/shopfloor/tests/test_zone_picking_base.py +608 -0
- odoo/addons/shopfloor/tests/test_zone_picking_change_pack_lot.py +140 -0
- odoo/addons/shopfloor/tests/test_zone_picking_select_line.py +723 -0
- odoo/addons/shopfloor/tests/test_zone_picking_select_line_first_scan_location.py +207 -0
- odoo/addons/shopfloor/tests/test_zone_picking_select_line_first_scan_location.py.bak +202 -0
- odoo/addons/shopfloor/tests/test_zone_picking_select_line_no_prefill_qty.py +107 -0
- odoo/addons/shopfloor/tests/test_zone_picking_select_picking_type.py +26 -0
- odoo/addons/shopfloor/tests/test_zone_picking_set_line_destination.py +643 -0
- odoo/addons/shopfloor/tests/test_zone_picking_set_line_destination_no_prefill_qty.py +146 -0
- odoo/addons/shopfloor/tests/test_zone_picking_set_line_destination_pick_pack.py +241 -0
- odoo/addons/shopfloor/tests/test_zone_picking_start.py +206 -0
- odoo/addons/shopfloor/tests/test_zone_picking_stock_issue.py +121 -0
- odoo/addons/shopfloor/tests/test_zone_picking_unload_all.py +353 -0
- odoo/addons/shopfloor/tests/test_zone_picking_unload_buffer_lines.py +113 -0
- odoo/addons/shopfloor/tests/test_zone_picking_unload_set_destination.py +374 -0
- odoo/addons/shopfloor/tests/test_zone_picking_unload_single.py +123 -0
- odoo/addons/shopfloor/tests/test_zone_picking_zero_check.py +43 -0
- odoo/addons/shopfloor/utils.py +13 -0
- odoo/addons/shopfloor/views/shopfloor_menu.xml +167 -0
- odoo/addons/shopfloor/views/stock_location.xml +20 -0
- odoo/addons/shopfloor/views/stock_move_line.xml +52 -0
- odoo/addons/shopfloor/views/stock_picking_type.xml +19 -0
- odoo_addon_shopfloor-16.0.1.0.0.24.dist-info/METADATA +192 -0
- odoo_addon_shopfloor-16.0.1.0.0.24.dist-info/RECORD +182 -0
- odoo_addon_shopfloor-16.0.1.0.0.24.dist-info/WHEEL +5 -0
- odoo_addon_shopfloor-16.0.1.0.0.24.dist-info/top_level.txt +1 -0
Binary file
|
@@ -0,0 +1,500 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
5
|
+
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
|
6
|
+
<title>Shopfloor</title>
|
7
|
+
<style type="text/css">
|
8
|
+
|
9
|
+
/*
|
10
|
+
:Author: David Goodger (goodger@python.org)
|
11
|
+
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
|
12
|
+
:Copyright: This stylesheet has been placed in the public domain.
|
13
|
+
|
14
|
+
Default cascading style sheet for the HTML output of Docutils.
|
15
|
+
|
16
|
+
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
|
17
|
+
customize this style sheet.
|
18
|
+
*/
|
19
|
+
|
20
|
+
/* used to remove borders from tables and images */
|
21
|
+
.borderless, table.borderless td, table.borderless th {
|
22
|
+
border: 0 }
|
23
|
+
|
24
|
+
table.borderless td, table.borderless th {
|
25
|
+
/* Override padding for "table.docutils td" with "! important".
|
26
|
+
The right padding separates the table cells. */
|
27
|
+
padding: 0 0.5em 0 0 ! important }
|
28
|
+
|
29
|
+
.first {
|
30
|
+
/* Override more specific margin styles with "! important". */
|
31
|
+
margin-top: 0 ! important }
|
32
|
+
|
33
|
+
.last, .with-subtitle {
|
34
|
+
margin-bottom: 0 ! important }
|
35
|
+
|
36
|
+
.hidden {
|
37
|
+
display: none }
|
38
|
+
|
39
|
+
.subscript {
|
40
|
+
vertical-align: sub;
|
41
|
+
font-size: smaller }
|
42
|
+
|
43
|
+
.superscript {
|
44
|
+
vertical-align: super;
|
45
|
+
font-size: smaller }
|
46
|
+
|
47
|
+
a.toc-backref {
|
48
|
+
text-decoration: none ;
|
49
|
+
color: black }
|
50
|
+
|
51
|
+
blockquote.epigraph {
|
52
|
+
margin: 2em 5em ; }
|
53
|
+
|
54
|
+
dl.docutils dd {
|
55
|
+
margin-bottom: 0.5em }
|
56
|
+
|
57
|
+
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
|
58
|
+
overflow: hidden;
|
59
|
+
}
|
60
|
+
|
61
|
+
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
62
|
+
dl.docutils dt {
|
63
|
+
font-weight: bold }
|
64
|
+
*/
|
65
|
+
|
66
|
+
div.abstract {
|
67
|
+
margin: 2em 5em }
|
68
|
+
|
69
|
+
div.abstract p.topic-title {
|
70
|
+
font-weight: bold ;
|
71
|
+
text-align: center }
|
72
|
+
|
73
|
+
div.admonition, div.attention, div.caution, div.danger, div.error,
|
74
|
+
div.hint, div.important, div.note, div.tip, div.warning {
|
75
|
+
margin: 2em ;
|
76
|
+
border: medium outset ;
|
77
|
+
padding: 1em }
|
78
|
+
|
79
|
+
div.admonition p.admonition-title, div.hint p.admonition-title,
|
80
|
+
div.important p.admonition-title, div.note p.admonition-title,
|
81
|
+
div.tip p.admonition-title {
|
82
|
+
font-weight: bold ;
|
83
|
+
font-family: sans-serif }
|
84
|
+
|
85
|
+
div.attention p.admonition-title, div.caution p.admonition-title,
|
86
|
+
div.danger p.admonition-title, div.error p.admonition-title,
|
87
|
+
div.warning p.admonition-title, .code .error {
|
88
|
+
color: red ;
|
89
|
+
font-weight: bold ;
|
90
|
+
font-family: sans-serif }
|
91
|
+
|
92
|
+
/* Uncomment (and remove this text!) to get reduced vertical space in
|
93
|
+
compound paragraphs.
|
94
|
+
div.compound .compound-first, div.compound .compound-middle {
|
95
|
+
margin-bottom: 0.5em }
|
96
|
+
|
97
|
+
div.compound .compound-last, div.compound .compound-middle {
|
98
|
+
margin-top: 0.5em }
|
99
|
+
*/
|
100
|
+
|
101
|
+
div.dedication {
|
102
|
+
margin: 2em 5em ;
|
103
|
+
text-align: center ;
|
104
|
+
font-style: italic }
|
105
|
+
|
106
|
+
div.dedication p.topic-title {
|
107
|
+
font-weight: bold ;
|
108
|
+
font-style: normal }
|
109
|
+
|
110
|
+
div.figure {
|
111
|
+
margin-left: 2em ;
|
112
|
+
margin-right: 2em }
|
113
|
+
|
114
|
+
div.footer, div.header {
|
115
|
+
clear: both;
|
116
|
+
font-size: smaller }
|
117
|
+
|
118
|
+
div.line-block {
|
119
|
+
display: block ;
|
120
|
+
margin-top: 1em ;
|
121
|
+
margin-bottom: 1em }
|
122
|
+
|
123
|
+
div.line-block div.line-block {
|
124
|
+
margin-top: 0 ;
|
125
|
+
margin-bottom: 0 ;
|
126
|
+
margin-left: 1.5em }
|
127
|
+
|
128
|
+
div.sidebar {
|
129
|
+
margin: 0 0 0.5em 1em ;
|
130
|
+
border: medium outset ;
|
131
|
+
padding: 1em ;
|
132
|
+
background-color: #ffffee ;
|
133
|
+
width: 40% ;
|
134
|
+
float: right ;
|
135
|
+
clear: right }
|
136
|
+
|
137
|
+
div.sidebar p.rubric {
|
138
|
+
font-family: sans-serif ;
|
139
|
+
font-size: medium }
|
140
|
+
|
141
|
+
div.system-messages {
|
142
|
+
margin: 5em }
|
143
|
+
|
144
|
+
div.system-messages h1 {
|
145
|
+
color: red }
|
146
|
+
|
147
|
+
div.system-message {
|
148
|
+
border: medium outset ;
|
149
|
+
padding: 1em }
|
150
|
+
|
151
|
+
div.system-message p.system-message-title {
|
152
|
+
color: red ;
|
153
|
+
font-weight: bold }
|
154
|
+
|
155
|
+
div.topic {
|
156
|
+
margin: 2em }
|
157
|
+
|
158
|
+
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
159
|
+
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
160
|
+
margin-top: 0.4em }
|
161
|
+
|
162
|
+
h1.title {
|
163
|
+
text-align: center }
|
164
|
+
|
165
|
+
h2.subtitle {
|
166
|
+
text-align: center }
|
167
|
+
|
168
|
+
hr.docutils {
|
169
|
+
width: 75% }
|
170
|
+
|
171
|
+
img.align-left, .figure.align-left, object.align-left, table.align-left {
|
172
|
+
clear: left ;
|
173
|
+
float: left ;
|
174
|
+
margin-right: 1em }
|
175
|
+
|
176
|
+
img.align-right, .figure.align-right, object.align-right, table.align-right {
|
177
|
+
clear: right ;
|
178
|
+
float: right ;
|
179
|
+
margin-left: 1em }
|
180
|
+
|
181
|
+
img.align-center, .figure.align-center, object.align-center {
|
182
|
+
display: block;
|
183
|
+
margin-left: auto;
|
184
|
+
margin-right: auto;
|
185
|
+
}
|
186
|
+
|
187
|
+
table.align-center {
|
188
|
+
margin-left: auto;
|
189
|
+
margin-right: auto;
|
190
|
+
}
|
191
|
+
|
192
|
+
.align-left {
|
193
|
+
text-align: left }
|
194
|
+
|
195
|
+
.align-center {
|
196
|
+
clear: both ;
|
197
|
+
text-align: center }
|
198
|
+
|
199
|
+
.align-right {
|
200
|
+
text-align: right }
|
201
|
+
|
202
|
+
/* reset inner alignment in figures */
|
203
|
+
div.align-right {
|
204
|
+
text-align: inherit }
|
205
|
+
|
206
|
+
/* div.align-center * { */
|
207
|
+
/* text-align: left } */
|
208
|
+
|
209
|
+
.align-top {
|
210
|
+
vertical-align: top }
|
211
|
+
|
212
|
+
.align-middle {
|
213
|
+
vertical-align: middle }
|
214
|
+
|
215
|
+
.align-bottom {
|
216
|
+
vertical-align: bottom }
|
217
|
+
|
218
|
+
ol.simple, ul.simple {
|
219
|
+
margin-bottom: 1em }
|
220
|
+
|
221
|
+
ol.arabic {
|
222
|
+
list-style: decimal }
|
223
|
+
|
224
|
+
ol.loweralpha {
|
225
|
+
list-style: lower-alpha }
|
226
|
+
|
227
|
+
ol.upperalpha {
|
228
|
+
list-style: upper-alpha }
|
229
|
+
|
230
|
+
ol.lowerroman {
|
231
|
+
list-style: lower-roman }
|
232
|
+
|
233
|
+
ol.upperroman {
|
234
|
+
list-style: upper-roman }
|
235
|
+
|
236
|
+
p.attribution {
|
237
|
+
text-align: right ;
|
238
|
+
margin-left: 50% }
|
239
|
+
|
240
|
+
p.caption {
|
241
|
+
font-style: italic }
|
242
|
+
|
243
|
+
p.credits {
|
244
|
+
font-style: italic ;
|
245
|
+
font-size: smaller }
|
246
|
+
|
247
|
+
p.label {
|
248
|
+
white-space: nowrap }
|
249
|
+
|
250
|
+
p.rubric {
|
251
|
+
font-weight: bold ;
|
252
|
+
font-size: larger ;
|
253
|
+
color: maroon ;
|
254
|
+
text-align: center }
|
255
|
+
|
256
|
+
p.sidebar-title {
|
257
|
+
font-family: sans-serif ;
|
258
|
+
font-weight: bold ;
|
259
|
+
font-size: larger }
|
260
|
+
|
261
|
+
p.sidebar-subtitle {
|
262
|
+
font-family: sans-serif ;
|
263
|
+
font-weight: bold }
|
264
|
+
|
265
|
+
p.topic-title {
|
266
|
+
font-weight: bold }
|
267
|
+
|
268
|
+
pre.address {
|
269
|
+
margin-bottom: 0 ;
|
270
|
+
margin-top: 0 ;
|
271
|
+
font: inherit }
|
272
|
+
|
273
|
+
pre.literal-block, pre.doctest-block, pre.math, pre.code {
|
274
|
+
margin-left: 2em ;
|
275
|
+
margin-right: 2em }
|
276
|
+
|
277
|
+
pre.code .ln { color: grey; } /* line numbers */
|
278
|
+
pre.code, code { background-color: #eeeeee }
|
279
|
+
pre.code .comment, code .comment { color: #5C6576 }
|
280
|
+
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
|
281
|
+
pre.code .literal.string, code .literal.string { color: #0C5404 }
|
282
|
+
pre.code .name.builtin, code .name.builtin { color: #352B84 }
|
283
|
+
pre.code .deleted, code .deleted { background-color: #DEB0A1}
|
284
|
+
pre.code .inserted, code .inserted { background-color: #A3D289}
|
285
|
+
|
286
|
+
span.classifier {
|
287
|
+
font-family: sans-serif ;
|
288
|
+
font-style: oblique }
|
289
|
+
|
290
|
+
span.classifier-delimiter {
|
291
|
+
font-family: sans-serif ;
|
292
|
+
font-weight: bold }
|
293
|
+
|
294
|
+
span.interpreted {
|
295
|
+
font-family: sans-serif }
|
296
|
+
|
297
|
+
span.option {
|
298
|
+
white-space: nowrap }
|
299
|
+
|
300
|
+
span.pre {
|
301
|
+
white-space: pre }
|
302
|
+
|
303
|
+
span.problematic {
|
304
|
+
color: red }
|
305
|
+
|
306
|
+
span.section-subtitle {
|
307
|
+
/* font-size relative to parent (h1..h6 element) */
|
308
|
+
font-size: 80% }
|
309
|
+
|
310
|
+
table.citation {
|
311
|
+
border-left: solid 1px gray;
|
312
|
+
margin-left: 1px }
|
313
|
+
|
314
|
+
table.docinfo {
|
315
|
+
margin: 2em 4em }
|
316
|
+
|
317
|
+
table.docutils {
|
318
|
+
margin-top: 0.5em ;
|
319
|
+
margin-bottom: 0.5em }
|
320
|
+
|
321
|
+
table.footnote {
|
322
|
+
border-left: solid 1px black;
|
323
|
+
margin-left: 1px }
|
324
|
+
|
325
|
+
table.docutils td, table.docutils th,
|
326
|
+
table.docinfo td, table.docinfo th {
|
327
|
+
padding-left: 0.5em ;
|
328
|
+
padding-right: 0.5em ;
|
329
|
+
vertical-align: top }
|
330
|
+
|
331
|
+
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
332
|
+
font-weight: bold ;
|
333
|
+
text-align: left ;
|
334
|
+
white-space: nowrap ;
|
335
|
+
padding-left: 0 }
|
336
|
+
|
337
|
+
/* "booktabs" style (no vertical lines) */
|
338
|
+
table.docutils.booktabs {
|
339
|
+
border: 0px;
|
340
|
+
border-top: 2px solid;
|
341
|
+
border-bottom: 2px solid;
|
342
|
+
border-collapse: collapse;
|
343
|
+
}
|
344
|
+
table.docutils.booktabs * {
|
345
|
+
border: 0px;
|
346
|
+
}
|
347
|
+
table.docutils.booktabs th {
|
348
|
+
border-bottom: thin solid;
|
349
|
+
text-align: left;
|
350
|
+
}
|
351
|
+
|
352
|
+
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
353
|
+
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
354
|
+
font-size: 100% }
|
355
|
+
|
356
|
+
ul.auto-toc {
|
357
|
+
list-style-type: none }
|
358
|
+
|
359
|
+
</style>
|
360
|
+
</head>
|
361
|
+
<body>
|
362
|
+
<div class="document" id="shopfloor">
|
363
|
+
<h1 class="title">Shopfloor</h1>
|
364
|
+
|
365
|
+
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
366
|
+
!! This file is generated by oca-gen-addon-readme !!
|
367
|
+
!! changes will be overwritten. !!
|
368
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
369
|
+
!! source digest: sha256:993547f893f6715d97989e36897fae01ba59faacf8a2a9f66f202d3130bba967
|
370
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
371
|
+
<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/wms/tree/16.0/shopfloor"><img alt="OCA/wms" src="https://img.shields.io/badge/github-OCA%2Fwms-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/wms-16-0/wms-16-0-shopfloor"><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/wms&target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
372
|
+
<p>Shopfloor is a barcode scanner application for internal warehouse operations.</p>
|
373
|
+
<p>The application supports scenarios, to relate to Operation Types:</p>
|
374
|
+
<ul class="simple">
|
375
|
+
<li>Cluster Picking</li>
|
376
|
+
<li>Zone Picking</li>
|
377
|
+
<li>Checkout/Packing</li>
|
378
|
+
<li>Delivery</li>
|
379
|
+
<li>Location Content Transfer</li>
|
380
|
+
<li>Single Pack Transfer</li>
|
381
|
+
</ul>
|
382
|
+
<p>This module provides REST APIs to support the scenarios. It needs a frontend
|
383
|
+
to consume the backend APIs and provide screens for users on barcode devices.
|
384
|
+
A default front-end application is provided by <tt class="docutils literal">shopfloor_mobile</tt>.</p>
|
385
|
+
<div class="line-block">
|
386
|
+
<div class="line">Note: if you want to enable a new scenario on an existing application, you must trigger the registry sync on the shopfloor.app in a post_init_hook or a post-migrate script.</div>
|
387
|
+
<div class="line">See an example <a class="reference external" href="https://github.com/OCA/wms/pull/520/commits/bccdfd445a9bc943998c4848f183a076e8459a98">here</a>.</div>
|
388
|
+
</div>
|
389
|
+
<p><strong>Table of contents</strong></p>
|
390
|
+
<div class="contents local topic" id="contents">
|
391
|
+
<ul class="simple">
|
392
|
+
<li><a class="reference internal" href="#usage" id="toc-entry-1">Usage</a></li>
|
393
|
+
<li><a class="reference internal" href="#known-issues-roadmap" id="toc-entry-2">Known issues / Roadmap</a></li>
|
394
|
+
<li><a class="reference internal" href="#changelog" id="toc-entry-3">Changelog</a><ul>
|
395
|
+
<li><a class="reference internal" href="#section-1" id="toc-entry-4">13.0.1.0.0</a></li>
|
396
|
+
</ul>
|
397
|
+
</li>
|
398
|
+
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-5">Bug Tracker</a></li>
|
399
|
+
<li><a class="reference internal" href="#credits" id="toc-entry-6">Credits</a><ul>
|
400
|
+
<li><a class="reference internal" href="#authors" id="toc-entry-7">Authors</a></li>
|
401
|
+
<li><a class="reference internal" href="#contributors" id="toc-entry-8">Contributors</a></li>
|
402
|
+
<li><a class="reference internal" href="#design" id="toc-entry-9">Design</a></li>
|
403
|
+
<li><a class="reference internal" href="#other-credits" id="toc-entry-10">Other credits</a></li>
|
404
|
+
<li><a class="reference internal" href="#maintainers" id="toc-entry-11">Maintainers</a></li>
|
405
|
+
</ul>
|
406
|
+
</li>
|
407
|
+
</ul>
|
408
|
+
</div>
|
409
|
+
<div class="section" id="usage">
|
410
|
+
<h1><a class="toc-backref" href="#toc-entry-1">Usage</a></h1>
|
411
|
+
<p>An API key is created in the Demo data (for development), using
|
412
|
+
the Demo user. The key to use in the HTTP header <tt class="docutils literal"><span class="pre">API-KEY</span></tt> is: 72B044F7AC780DAC</p>
|
413
|
+
<p>Curl example:</p>
|
414
|
+
<pre class="literal-block">
|
415
|
+
curl -X POST "http://localhost:8069/shopfloor/user/menu" -H "accept: */*" -H "Content-Type: application/json" -H "API-KEY: 72B044F7AC780DAC"
|
416
|
+
</pre>
|
417
|
+
</div>
|
418
|
+
<div class="section" id="known-issues-roadmap">
|
419
|
+
<h1><a class="toc-backref" href="#toc-entry-2">Known issues / Roadmap</a></h1>
|
420
|
+
<ul class="simple">
|
421
|
+
<li>improve documentation</li>
|
422
|
+
<li>split out scenario components to their own modules</li>
|
423
|
+
<li>maybe split common stock features to <cite>shopfloor_stock_base</cite>
|
424
|
+
and move scenario to <cite>shopfloor_wms</cite>?</li>
|
425
|
+
</ul>
|
426
|
+
</div>
|
427
|
+
<div class="section" id="changelog">
|
428
|
+
<h1><a class="toc-backref" href="#toc-entry-3">Changelog</a></h1>
|
429
|
+
<div class="section" id="section-1">
|
430
|
+
<h2><a class="toc-backref" href="#toc-entry-4">13.0.1.0.0</a></h2>
|
431
|
+
<p>First official version.</p>
|
432
|
+
</div>
|
433
|
+
</div>
|
434
|
+
<div class="section" id="bug-tracker">
|
435
|
+
<h1><a class="toc-backref" href="#toc-entry-5">Bug Tracker</a></h1>
|
436
|
+
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/wms/issues">GitHub Issues</a>.
|
437
|
+
In case of trouble, please check there if your issue has already been reported.
|
438
|
+
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
439
|
+
<a class="reference external" href="https://github.com/OCA/wms/issues/new?body=module:%20shopfloor%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
|
440
|
+
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
441
|
+
</div>
|
442
|
+
<div class="section" id="credits">
|
443
|
+
<h1><a class="toc-backref" href="#toc-entry-6">Credits</a></h1>
|
444
|
+
<div class="section" id="authors">
|
445
|
+
<h2><a class="toc-backref" href="#toc-entry-7">Authors</a></h2>
|
446
|
+
<ul class="simple">
|
447
|
+
<li>Camptocamp</li>
|
448
|
+
<li>BCIM</li>
|
449
|
+
<li>Akretion</li>
|
450
|
+
</ul>
|
451
|
+
</div>
|
452
|
+
<div class="section" id="contributors">
|
453
|
+
<h2><a class="toc-backref" href="#toc-entry-8">Contributors</a></h2>
|
454
|
+
<ul class="simple">
|
455
|
+
<li>Guewen Baconnier <<a class="reference external" href="mailto:guewen.baconnier@camptocamp.com">guewen.baconnier@camptocamp.com</a>></li>
|
456
|
+
<li>Simone Orsi <<a class="reference external" href="mailto:simahawk@gmail.com">simahawk@gmail.com</a>></li>
|
457
|
+
<li>Sébastien Alix <<a class="reference external" href="mailto:sebastien.alix@camptocamp.com">sebastien.alix@camptocamp.com</a>></li>
|
458
|
+
<li>Alexandre Fayolle <<a class="reference external" href="mailto:alexandre.fayolle@camptocamp.com">alexandre.fayolle@camptocamp.com</a>></li>
|
459
|
+
<li>Benoit Guillot <<a class="reference external" href="mailto:benoit.guillot@akretion.com">benoit.guillot@akretion.com</a>></li>
|
460
|
+
<li>Thierry Ducrest <<a class="reference external" href="mailto:thierry.ducrest@camptocamp.com">thierry.ducrest@camptocamp.com</a>></li>
|
461
|
+
<li>Raphaël Reverdy <<a class="reference external" href="mailto:raphael.reverdy@akretion.com">raphael.reverdy@akretion.com</a>></li>
|
462
|
+
<li>Jacques-Etienne Baudoux <<a class="reference external" href="mailto:je@bcim.be">je@bcim.be</a>></li>
|
463
|
+
<li>Juan Miguel Sánchez Arce <<a class="reference external" href="mailto:juan.sanchez@camptocamp.com">juan.sanchez@camptocamp.com</a>></li>
|
464
|
+
<li>Michael Tietz (MT Software) <<a class="reference external" href="mailto:mtietz@mt-software.de">mtietz@mt-software.de</a>></li>
|
465
|
+
<li>Souheil Bejaoui <<a class="reference external" href="mailto:souheil.bejaoui@acsone.eu">souheil.bejaoui@acsone.eu</a>></li>
|
466
|
+
<li>Laurent Mignon <<a class="reference external" href="mailto:laurent.mignon@acsone.eu">laurent.mignon@acsone.eu</a>></li>
|
467
|
+
</ul>
|
468
|
+
</div>
|
469
|
+
<div class="section" id="design">
|
470
|
+
<h2><a class="toc-backref" href="#toc-entry-9">Design</a></h2>
|
471
|
+
<ul class="simple">
|
472
|
+
<li>Joël Grand-Guillaume <<a class="reference external" href="mailto:joel.grandguillaume@camptocamp.com">joel.grandguillaume@camptocamp.com</a>></li>
|
473
|
+
<li>Jacques-Etienne Baudoux <<a class="reference external" href="mailto:je@bcim.be">je@bcim.be</a>></li>
|
474
|
+
</ul>
|
475
|
+
</div>
|
476
|
+
<div class="section" id="other-credits">
|
477
|
+
<h2><a class="toc-backref" href="#toc-entry-10">Other credits</a></h2>
|
478
|
+
<p><strong>Financial support</strong></p>
|
479
|
+
<ul class="simple">
|
480
|
+
<li>Cosanum</li>
|
481
|
+
<li>Camptocamp R&D</li>
|
482
|
+
<li>Akretion R&D</li>
|
483
|
+
</ul>
|
484
|
+
</div>
|
485
|
+
<div class="section" id="maintainers">
|
486
|
+
<h2><a class="toc-backref" href="#toc-entry-11">Maintainers</a></h2>
|
487
|
+
<p>This module is maintained by the OCA.</p>
|
488
|
+
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
|
489
|
+
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
|
490
|
+
mission is to support the collaborative development of Odoo features and
|
491
|
+
promote its widespread use.</p>
|
492
|
+
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainers</a>:</p>
|
493
|
+
<p><a class="reference external image-reference" href="https://github.com/guewen"><img alt="guewen" src="https://github.com/guewen.png?size=40px" /></a> <a class="reference external image-reference" href="https://github.com/simahawk"><img alt="simahawk" src="https://github.com/simahawk.png?size=40px" /></a> <a class="reference external image-reference" href="https://github.com/sebalix"><img alt="sebalix" src="https://github.com/sebalix.png?size=40px" /></a></p>
|
494
|
+
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/wms/tree/16.0/shopfloor">OCA/wms</a> project on GitHub.</p>
|
495
|
+
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
|
496
|
+
</div>
|
497
|
+
</div>
|
498
|
+
</div>
|
499
|
+
</body>
|
500
|
+
</html>
|
@@ -0,0 +1,83 @@
|
|
1
|
+
from . import test_menu_counters
|
2
|
+
from . import test_openapi
|
3
|
+
from . import test_actions_change_package_lot
|
4
|
+
from . import test_actions_data
|
5
|
+
from . import test_actions_data_detail
|
6
|
+
from . import test_actions_search
|
7
|
+
from . import test_actions_stock
|
8
|
+
from . import test_single_pack_transfer
|
9
|
+
from . import test_single_pack_transfer_putaway
|
10
|
+
from . import test_cluster_picking_base
|
11
|
+
from . import test_cluster_picking_batch
|
12
|
+
from . import test_cluster_picking_select
|
13
|
+
from . import test_cluster_picking_scan_line
|
14
|
+
from . import test_cluster_picking_scan_line_location_or_pack_first
|
15
|
+
from . import test_cluster_picking_scan_line_no_prefill_qty
|
16
|
+
from . import test_cluster_picking_scan_destination
|
17
|
+
from . import test_cluster_picking_scan_destination_no_prefill_qty
|
18
|
+
from . import test_cluster_picking_is_zero
|
19
|
+
from . import test_cluster_picking_skip
|
20
|
+
from . import test_cluster_picking_stock_issue
|
21
|
+
from . import test_cluster_picking_change_pack_lot
|
22
|
+
from . import test_cluster_picking_unload
|
23
|
+
from . import test_checkout_base
|
24
|
+
from . import test_checkout_scan
|
25
|
+
from . import test_checkout_select
|
26
|
+
from . import test_checkout_scan_line
|
27
|
+
from . import test_checkout_scan_line_no_prefill_qty
|
28
|
+
from . import test_checkout_scan_line_base
|
29
|
+
from . import test_checkout_select_line
|
30
|
+
from . import test_checkout_select_package_base
|
31
|
+
from . import test_checkout_set_qty
|
32
|
+
from . import test_checkout_scan_package_action
|
33
|
+
from . import test_checkout_scan_package_action_no_prefill_qty
|
34
|
+
from . import test_checkout_new_package
|
35
|
+
from . import test_checkout_no_package
|
36
|
+
from . import test_checkout_auto_post
|
37
|
+
from . import test_checkout_list_delivery_packaging
|
38
|
+
from . import test_checkout_list_package
|
39
|
+
from . import test_checkout_summary
|
40
|
+
from . import test_checkout_change_packaging
|
41
|
+
from . import test_checkout_cancel_line
|
42
|
+
from . import test_checkout_done
|
43
|
+
from . import test_delivery_base
|
44
|
+
from . import test_delivery_done
|
45
|
+
from . import test_delivery_scan_deliver
|
46
|
+
from . import test_delivery_reset_qty_done_line
|
47
|
+
from . import test_delivery_reset_qty_done_pack
|
48
|
+
from . import test_delivery_set_qty_done_pack
|
49
|
+
from . import test_delivery_set_qty_done_line
|
50
|
+
from . import test_delivery_sublocation
|
51
|
+
from . import test_delivery_list_stock_picking
|
52
|
+
from . import test_delivery_select
|
53
|
+
from . import test_location_content_transfer_base
|
54
|
+
from . import test_location_content_transfer_start
|
55
|
+
from . import test_location_content_transfer_get_work
|
56
|
+
from . import test_location_content_transfer_set_destination_all
|
57
|
+
from . import test_location_content_transfer_scan_location
|
58
|
+
from . import test_location_content_transfer_single
|
59
|
+
from . import test_location_content_transfer_set_destination_package_or_line
|
60
|
+
from . import test_location_content_transfer_putaway
|
61
|
+
from . import test_location_content_transfer_mix
|
62
|
+
from . import test_zone_picking_base
|
63
|
+
from . import test_zone_picking_start
|
64
|
+
from . import test_zone_picking_select_picking_type
|
65
|
+
from . import test_zone_picking_select_line
|
66
|
+
from . import test_zone_picking_select_line_no_prefill_qty
|
67
|
+
from . import test_zone_picking_select_line_first_scan_location
|
68
|
+
from . import test_zone_picking_set_line_destination
|
69
|
+
from . import test_zone_picking_set_line_destination_no_prefill_qty
|
70
|
+
from . import test_zone_picking_set_line_destination_pick_pack
|
71
|
+
from . import test_zone_picking_zero_check
|
72
|
+
from . import test_zone_picking_stock_issue
|
73
|
+
from . import test_zone_picking_change_pack_lot
|
74
|
+
from . import test_zone_picking_unload_buffer_lines
|
75
|
+
from . import test_zone_picking_unload_single
|
76
|
+
from . import test_zone_picking_unload_all
|
77
|
+
from . import test_zone_picking_unload_set_destination
|
78
|
+
from . import test_misc
|
79
|
+
from . import test_move_action_assign
|
80
|
+
from . import test_scan_anything
|
81
|
+
from . import test_stock_split
|
82
|
+
from . import test_picking_form
|
83
|
+
from . import test_user
|