odoo-addon-shopfloor-mobile 18.0.1.0.1__py3-none-any.whl → 18.0.1.2.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.
@@ -11,7 +11,7 @@ Shopfloor mobile
11
11
  !! This file is generated by oca-gen-addon-readme !!
12
12
  !! changes will be overwritten. !!
13
13
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
14
- !! source digest: sha256:5343b7be8eb4f58f7548ae53194c5554d3a7d9ac639fb64e27cae31cf8cd2766
14
+ !! source digest: sha256:f11a7e7a700fc6e1775181ec1bf347f9bf3759504dcaa3d16e6c2211b61a9e55
15
15
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16
16
 
17
17
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -5,7 +5,7 @@
5
5
  {
6
6
  "name": "Shopfloor mobile",
7
7
  "summary": "Mobile frontend for WMS Shopfloor app",
8
- "version": "18.0.1.0.1",
8
+ "version": "18.0.1.2.0",
9
9
  "depends": ["shopfloor", "shopfloor_mobile_base"],
10
10
  "author": "Camptocamp, BCIM, Akretion, Odoo Community Association (OCA)",
11
11
  "maintainers": ["simahawk"],
@@ -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:5343b7be8eb4f58f7548ae53194c5554d3a7d9ac639fb64e27cae31cf8cd2766
375
+ !! source digest: sha256:f11a7e7a700fc6e1775181ec1bf347f9bf3759504dcaa3d16e6c2211b61a9e55
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-shopfloor/tree/18.0/shopfloor_mobile"><img alt="OCA/stock-logistics-shopfloor" src="https://img.shields.io/badge/github-OCA%2Fstock--logistics--shopfloor-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/stock-logistics-shopfloor-18-0/stock-logistics-shopfloor-18-0-shopfloor_mobile"><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-shopfloor&amp;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>Frontend for Shopfloor app.</p>
@@ -13,8 +13,6 @@ Vue.component("detail-package", {
13
13
  return [
14
14
  {path: "location.name", label: "Location"},
15
15
  {path: "weight", label: "Weight (kg)"},
16
- {path: "packaging.name", label: "Packaging"},
17
- {path: "storage_type.name", label: "Storage type"},
18
16
  {path: "package_type.name", label: "Package type"},
19
17
  ];
20
18
  },
@@ -89,11 +89,13 @@ export var PackagingQtyPickerMixin = {
89
89
  _product_qty_by_packaging: function (pkg_by_qty, qty) {
90
90
  const self = this;
91
91
  const res = {};
92
+ /* eslint-disable no-param-reassign */
92
93
  // Const min_unit = _.last(pkg_by_qty);
93
94
  pkg_by_qty.forEach(function (pkg) {
94
- const [_qty_per_pkg, _qty] = self._qty_by_pkg(pkg.qty, qty);
95
- res[pkg.id] = _qty_per_pkg;
96
- if (!_qty) return;
95
+ let qty_per_pkg = 0;
96
+ [qty_per_pkg, qty] = self._qty_by_pkg(pkg.qty, qty);
97
+ res[pkg.id] = qty_per_pkg;
98
+ if (!qty) return;
97
99
  });
98
100
  return res;
99
101
  },
@@ -216,15 +218,15 @@ export var PackagingQtyPicker = Vue.component("packaging-qty-picker", {
216
218
  this.$root.trigger("qty_edit", this.qty);
217
219
  },
218
220
  computed: {
219
- qty_color: function () {
220
- if (this.qty === this.qtyTodo) {
221
+ qty_color_class: function () {
222
+ if (this.qty == this.qtyTodo) {
221
223
  if (this.readonly) return "";
222
- return "background-color: rgb(143, 191, 68)";
224
+ return "qty-color-green";
223
225
  }
224
226
  if (this.qty > this.qtyTodo) {
225
- return "background-color: orangered";
227
+ return "qty-color-orangered";
226
228
  }
227
- return "background-color: pink";
229
+ return "qty-color-pink";
228
230
  },
229
231
  qty_todo_by_pkg: function () {
230
232
  // Used to calculate the qty needed of each package type
@@ -249,7 +251,7 @@ export var PackagingQtyPicker = Vue.component("packaging-qty-picker", {
249
251
  <v-expansion-panel-header expand-icon="mdi-menu-down">
250
252
  <v-row dense align="center">
251
253
  <v-col cols="5" md="3">
252
- <input type="number" v-model="qty" class="qty-done" :style="qty_color"
254
+ <input type="number" v-model="qty" class="qty-done"
253
255
  v-on:click.stop
254
256
  :readonly="readonly"
255
257
  />
@@ -270,7 +272,7 @@ export var PackagingQtyPicker = Vue.component("packaging-qty-picker", {
270
272
  :class="(readonly && !qty_by_pkg[pkg.id]) ? 'd-none' : ''"
271
273
  >
272
274
  <v-col cols="4" md="2">
273
- <input type="text" inputmode="decimal" class="qty-done"
275
+ <input type="text" inputmode="decimal" :class="['qty-done', qty_by_pkg[pkg.id] > 0 ? qty_color_class : '']"
274
276
  v-model.lazy="qty_by_pkg[pkg.id]"
275
277
  :data-origvalue="qty_by_pkg[pkg.id]"
276
278
  :data-pkg="JSON.stringify(pkg)"
@@ -283,8 +285,8 @@ export var PackagingQtyPicker = Vue.component("packaging-qty-picker", {
283
285
  <span class="qty-todo">/ {{ qty_todo_by_pkg[pkg.id] }}</span>
284
286
  </v-col>
285
287
  <v-col>
286
- <div class="pkg-name"> {{ pkg[pkgNameKey] }}</div>
287
- <div v-if="contained_packaging[pkg.id]" class="pkg-qty">(x{{ contained_packaging[pkg.id].qty }} {{ contained_packaging[pkg.id].pkg.name }})</div>
288
+ <div :class="qty_by_pkg[pkg.id] > 0 ? 'pkg-name font-weight-bold' : 'pkg-name'"> {{ pkg[pkgNameKey] }}</div>
289
+ <div v-if="contained_packaging[pkg.id]" :class="qty_by_pkg[pkg.id] > 0 ? 'pkg-qty font-weight-bold' : 'pkg-qty'">(x{{ contained_packaging[pkg.id].qty }} {{ contained_packaging[pkg.id].pkg.name }})</div>
288
290
  </v-col>
289
291
  </v-row>
290
292
  </v-expansion-panel-content>
@@ -50,6 +50,17 @@ ul.packaging span:first-child {
50
50
  .packaging-qty-picker .qty-todo {
51
51
  text-align: center;
52
52
  }
53
+
54
+ .packaging-qty-picker .qty-color-green {
55
+ background-color: rgb(143, 191, 68, 0.5);
56
+ }
57
+ .packaging-qty-picker .qty-color-orangered {
58
+ background-color: orangered;
59
+ }
60
+ .packaging-qty-picker .qty-color-pink {
61
+ background-color: pink;
62
+ }
63
+
53
64
  .packaging-qty-picker .pkg-name {
54
65
  line-height: 1;
55
66
  padding-top: 2px;
@@ -197,10 +197,10 @@ const DEMO_CHECKOUT = {
197
197
  body: "Done",
198
198
  },
199
199
  },
200
- list_packaging: {
201
- next_state: "change_packaging",
200
+ change_list_package_type: {
201
+ next_state: "change_package_type",
202
202
  data: {
203
- change_packaging: {
203
+ change_package_type: {
204
204
  picking: select_pack_picking,
205
205
  package: demotools.makePack(),
206
206
  packaging: _.sampleSize(
@@ -219,7 +219,7 @@ const DEMO_CHECKOUT = {
219
219
  },
220
220
  },
221
221
  },
222
- set_packaging: {
222
+ set_package_type: {
223
223
  next_state: "summary",
224
224
  data: {
225
225
  summary: {picking: summary_picking},
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Copyright 2025 Camptocamp SA (http://www.camptocamp.com)
3
+ * @author Simone Orsi <simahawk@gmail.com>
4
+ * License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
5
+ */
6
+
7
+ import {ScenarioBaseMixin} from "/shopfloor_mobile_base/static/src/scenario/mixins.esm.js";
8
+ import {process_registry} from "/shopfloor_mobile_base/static/src/services/process_registry.esm.js";
9
+ import {demotools} from "/shopfloor_mobile_base/static/src/demo/demo.core.esm.js";
10
+
11
+ const DemoComponents = {
12
+ mixins: [ScenarioBaseMixin],
13
+ template: `
14
+ <Screen :screen_info="screen_info">
15
+ <template v-slot:header>
16
+ <state-display-info :info="state.display_info" v-if="state.display_info"/>
17
+ </template>
18
+ <div v-if="state_is('packaging_qty_picker_display')"">
19
+ <separator-title>Only qty to pick</separator-title>
20
+ <v-card
21
+ v-for="line in packaging_qty_picker_display_get_lines()">
22
+ <packaging-qty-picker-display
23
+ :key="make_state_component_key(['qty-picker-widget', line.id])"
24
+ v-bind="utils.wms.move_line_qty_picker_props(line, {'qtyInit': line.quantity})"
25
+ />
26
+ </v-card>
27
+ <separator-title>All corresponding packaging</separator-title>
28
+ <v-card
29
+ v-for="line in packaging_qty_picker_display_get_lines()">
30
+ <packaging-qty-picker-display
31
+ :nonZeroOnly="false"
32
+ :key="make_state_component_key(['qty-picker-widget', line.id])"
33
+ v-bind="utils.wms.move_line_qty_picker_props(line, {'qtyInit': line.quantity})"
34
+ />
35
+ </v-card>
36
+ </div>
37
+ <div v-if="state_is('packaging_qty_picker_edit')">
38
+ <separator-title>Edit mode</separator-title>
39
+ <v-card
40
+ v-for="line in packaging_qty_picker_display_get_lines()">
41
+ <packaging-qty-picker
42
+ :key="make_state_component_key(['qty-picker-widget', line.id])"
43
+ v-bind="utils.wms.move_line_qty_picker_props(line, {'qtyInit': line.quantity})"
44
+ />
45
+ </v-card>
46
+ </div>
47
+ <div class="button-list button-vertical-list full">
48
+ <v-row align="center" v-if="state_is('packaging_qty_picker_display')">
49
+ <v-col class="text-center" cols="12">
50
+ <btn-action @click="state_to('packaging_qty_picker_edit')">Edit mode</btn-action>
51
+ </v-col>
52
+ </v-row>
53
+ <v-row align="center" v-if="state_is('packaging_qty_picker_edit')">
54
+ <v-col class="text-center" cols="12">
55
+ <btn-action @click="state_to('packaging_qty_picker_display')">Display mode</btn-action>
56
+ </v-col>
57
+ </v-row>
58
+ </div>
59
+ </Screen>
60
+ `,
61
+ data: function () {
62
+ return {
63
+ usage: "demo_components",
64
+ initial_state_key: "packaging_qty_picker_display",
65
+ states: {
66
+ packaging_qty_picker_display: {
67
+ display_info: {
68
+ title: "Packaging Qty Picker Display",
69
+ },
70
+ },
71
+ packaging_qty_picker_edit: {
72
+ display_info: {
73
+ title: "Packaging Qty Picker Edit",
74
+ },
75
+ },
76
+ },
77
+ };
78
+ },
79
+ methods: {
80
+ packaging_qty_picker_display_get_lines: function () {
81
+ const lines = [];
82
+ const product1 = demotools.makeProduct({uom: demotools.uom_unit});
83
+ product1.packaging = [
84
+ demotools.makePackaging({qty: 5, code: "TU", name: "Pack of 5"}),
85
+ demotools.makePackaging({qty: 10, code: "BX", name: "Box of 10"}),
86
+ demotools.makePackaging({qty: 20, code: "BBX", name: "Big Box of 20"}),
87
+ ];
88
+ const line1 = demotools.makeMoveLine({
89
+ // This should be represented as: 1001 units (50 BBX, 1 TU, 1 unit)
90
+ quantity: 1006,
91
+ product: product1,
92
+ });
93
+ lines.push(line1);
94
+ return lines;
95
+ },
96
+ },
97
+ };
98
+ process_registry.add("demo_components", DemoComponents);
99
+
100
+ const menuitem_id = demotools.addAppMenu(
101
+ {
102
+ name: "Demo components",
103
+ scenario: "demo_components",
104
+ sequence: 999,
105
+ },
106
+ "demo_cp_1"
107
+ );
108
+ const CASE = {
109
+ demo_components: {
110
+ next_state: "demo_components",
111
+ data: {
112
+ demo_components: {},
113
+ },
114
+ },
115
+ };
116
+ demotools.add_case("demo_components", menuitem_id, CASE);
117
+
118
+ export default DemoComponents;
@@ -80,6 +80,12 @@ const Checkout = {
80
80
  <v-alert type="info" tile v-if="state.data.packing_info" class="packing-info">
81
81
  <p v-text="state.data.packing_info" />
82
82
  </v-alert>
83
+ <v-alert type="info" tile
84
+ v-if="(state.data.picking.note && state.data.picking.note !== '<p></p>')"
85
+ class="packing-info"
86
+ >
87
+ <p class="split-text-lines" v-html="state.data.picking.note" />
88
+ </v-alert>
83
89
  <item-detail-card
84
90
  v-if="state.data.picking.carrier"
85
91
  :key="make_state_component_key(['picking-carrier', state.data.picking.id])"
@@ -119,7 +125,7 @@ const Checkout = {
119
125
  </v-row>
120
126
  </div>
121
127
  </div>
122
- <div v-if="state_is('select_delivery_packaging')">
128
+ <div v-if="state_is('select_package_type')">
123
129
  <item-detail-card
124
130
  v-if="current_doc().record.carrier"
125
131
  :key="make_state_component_key(['picking-carrier', current_doc().record.id])"
@@ -127,8 +133,8 @@ const Checkout = {
127
133
  :options="{main: true, key_title: 'name', title_icon: 'mdi-truck-outline'}"
128
134
  />
129
135
  <manual-select
130
- :records="state.data.packaging"
131
- :options="select_delivery_packaging_manual_select_options()"
136
+ :records="state.data.package_type"
137
+ :options="select_package_type_manual_select_options()"
132
138
  :key="make_state_component_key(['checkout', 'select-delivery-packaging'])"
133
139
  />
134
140
  <div class="button-list button-vertical-list full">
@@ -184,7 +190,7 @@ const Checkout = {
184
190
  </v-row>
185
191
  </div>
186
192
  </div>
187
- <div v-if="state_is('change_packaging')">
193
+ <div v-if="state_is('change_package_type')">
188
194
  <detail-picking-select
189
195
  :record="state.data.picking"
190
196
  :select_records="state.data.packaging"
@@ -344,7 +350,7 @@ const Checkout = {
344
350
  };
345
351
  return key + "." + possible_paths[key];
346
352
  },
347
- select_delivery_packaging_manual_select_options: function () {
353
+ select_package_type_manual_select_options: function () {
348
354
  return {
349
355
  showActions: false,
350
356
  };
@@ -181,7 +181,7 @@ export const checkout_states = function ($instance) {
181
181
  },
182
182
  on_new_pack: () => {
183
183
  $instance.wait_call(
184
- $instance.odoo.call("list_delivery_packaging", {
184
+ $instance.odoo.call("list_package_type", {
185
185
  picking_id: $instance.state.data.picking.id,
186
186
  selected_line_ids: $instance.selectable_line_ids(),
187
187
  })
@@ -208,7 +208,7 @@ export const checkout_states = function ($instance) {
208
208
  $instance.reset_notification();
209
209
  },
210
210
  },
211
- select_delivery_packaging: {
211
+ select_package_type: {
212
212
  display_info: {
213
213
  title: "Select delivery packaging",
214
214
  scan_placeholder: "Scan package type",
@@ -309,7 +309,7 @@ export const checkout_states = function ($instance) {
309
309
  },
310
310
  on_pkg_change_type: (pkg) => {
311
311
  $instance.wait_call(
312
- $instance.odoo.call("list_packaging", {
312
+ $instance.odoo.call("change_list_package_type", {
313
313
  picking_id: $instance.state.data.picking.id,
314
314
  package_id: pkg.id,
315
315
  })
@@ -340,9 +340,9 @@ export const checkout_states = function ($instance) {
340
340
  );
341
341
  },
342
342
  },
343
- change_packaging: {
343
+ change_package_type: {
344
344
  display_info: {
345
- title: "Change packaging",
345
+ title: "Change package type",
346
346
  },
347
347
  events: {
348
348
  select: "on_select",
@@ -352,7 +352,7 @@ export const checkout_states = function ($instance) {
352
352
  return;
353
353
  }
354
354
  $instance.wait_call(
355
- $instance.odoo.call("set_packaging", {
355
+ $instance.odoo.call("change_set_package_type", {
356
356
  picking_id: $instance.state.data.picking.id,
357
357
  package_id: $instance.state.data.package.id,
358
358
  package_type_id: selected.id,
@@ -35,6 +35,12 @@ const ClusterPicking = {
35
35
  v-on:confirm="state.on_confirm"
36
36
  v-on:cancel="state.on_cancel"
37
37
  />
38
+ <v-alert type="info" tile
39
+ v-if="state_is('start_line') && (state.data.picking.note && state.data.picking.note !== '<p></p>')"
40
+ class="packing-info"
41
+ >
42
+ <p class="split-text-lines" v-html="state.data.picking.note" />
43
+ </v-alert>
38
44
  <batch-picking-line-detail
39
45
  v-if="state_in(['start_line', 'scan_destination', 'change_pack_lot', 'stock_issue'])"
40
46
  :line="state.data"
@@ -167,7 +167,7 @@ export class WMSUtils {
167
167
 
168
168
  group_by_package_type(lines) {
169
169
  const res = [];
170
- const grouped = _.groupBy(lines, "package_dest.packaging.name");
170
+ const grouped = _.groupBy(lines, "package_dest.package_type.name");
171
171
  _.forEach(grouped, function (products, packaging_name) {
172
172
  res.push({
173
173
  _is_group: true,
@@ -175,6 +175,11 @@
175
175
  t-attf-src="/shopfloor_mobile/static/wms/src/demo/demo.location_content_transfer.esm.js?v=#{mod_version}"
176
176
  type="module"
177
177
  />
178
+ <script
179
+ id="script_demo_components"
180
+ t-attf-src="/shopfloor_mobile/static/wms/src/demo/demo.components.esm.js?v=#{mod_version}"
181
+ type="module"
182
+ />
178
183
  </xpath>
179
184
  </template>
180
185
  </odoo>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-shopfloor_mobile
3
- Version: 18.0.1.0.1
3
+ Version: 18.0.1.2.0
4
4
  Requires-Python: >=3.10
5
5
  Requires-Dist: odoo-addon-shopfloor==18.0.*
6
6
  Requires-Dist: odoo-addon-shopfloor_mobile_base==18.0.*
@@ -29,7 +29,7 @@ Shopfloor mobile
29
29
  !! This file is generated by oca-gen-addon-readme !!
30
30
  !! changes will be overwritten. !!
31
31
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
32
- !! source digest: sha256:5343b7be8eb4f58f7548ae53194c5554d3a7d9ac639fb64e27cae31cf8cd2766
32
+ !! source digest: sha256:f11a7e7a700fc6e1775181ec1bf347f9bf3759504dcaa3d16e6c2211b61a9e55
33
33
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
34
34
 
35
35
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -1,6 +1,6 @@
1
- odoo/addons/shopfloor_mobile/README.rst,sha256=UmHT0U7vbLx-7twlKbc9yBMFyr-9zuYWAS6fFKVJT7I,7544
1
+ odoo/addons/shopfloor_mobile/README.rst,sha256=7WQccBedKBt308BUhkzW-7V_gZcYbZfKNg7lqOOvUQE,7544
2
2
  odoo/addons/shopfloor_mobile/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- odoo/addons/shopfloor_mobile/__manifest__.py,sha256=5NRg1zBM05mcz3MRQ_S0fPLfz5gJbJAbGTAPcXceQVA,705
3
+ odoo/addons/shopfloor_mobile/__manifest__.py,sha256=yJ8cn1BzcL5sW8pxARalMnF_dYkERpljKOU31_19-KQ,705
4
4
  odoo/addons/shopfloor_mobile/i18n/de.po,sha256=6eRN27NdcMT5a9_rC7t-L1IyssIf4d0sV8XcBlxYETU,411
5
5
  odoo/addons/shopfloor_mobile/i18n/es_AR.po,sha256=8mGWCcMew3na_BE6yzC9aGqTSHNwLq_fu1r-JnZnYGE,1149
6
6
  odoo/addons/shopfloor_mobile/i18n/it.po,sha256=Fuhk7nf_wDaq10_RJlCCe4xE6u8qKIml2r_4nUJ1O1w,412
@@ -13,19 +13,19 @@ odoo/addons/shopfloor_mobile/readme/HISTORY.md,sha256=uDTaJkR5ECI5b0x32Vuj4ONzBV
13
13
  odoo/addons/shopfloor_mobile/readme/ROADMAP.md,sha256=GMldnYqUvyrfgwUbIjZ_68wJtHmOyE1Tb_vQZtAplOo,1741
14
14
  odoo/addons/shopfloor_mobile/readme/USAGE.md,sha256=0rRYeb0UEsTSg2EiEB0WHlOGdEMX8sCJT5blDcF0fFU,618
15
15
  odoo/addons/shopfloor_mobile/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
16
- odoo/addons/shopfloor_mobile/static/description/index.html,sha256=zSP52hzehSed3XuUyyweJqU57UnnQwYSXuqPXGGoZ54,18351
16
+ odoo/addons/shopfloor_mobile/static/description/index.html,sha256=ANnQC5nKU1BQDO6AyovyQdpnt9db68nx2HnyDJt-Lnc,18351
17
17
  odoo/addons/shopfloor_mobile/static/wms/.gitignore,sha256=rQCFL3FQm3Lll35BRUETzj1HYlakdld--GvTGLPeHpE,214
18
18
  odoo/addons/shopfloor_mobile/static/wms/src/screen.esm.js,sha256=77TQgYSfpnErCuhV9FjQujMFlrKU7EZ6OdeTJnZutV8,1461
19
- odoo/addons/shopfloor_mobile/static/wms/src/wms_utils.esm.js,sha256=89d19IbDlfFavsgsinKfEtyaSTbRZduITxwxAHnnLbE,12178
19
+ odoo/addons/shopfloor_mobile/static/wms/src/wms_utils.esm.js,sha256=uq0DMfWzhbhTG8YguqCWhXGHQymSPOh5qTEgezDZBO8,12181
20
20
  odoo/addons/shopfloor_mobile/static/wms/src/components/batch_picking_detail.esm.js,sha256=aYV5pOy7oFIK-gEeLSdkz4Ps501wsPVY5u-hTbjIHNs,2147
21
21
  odoo/addons/shopfloor_mobile/static/wms/src/components/batch_picking_line_detail.esm.js,sha256=4d32G1yQAlzmjOGr9ta4VC8olCLREN_U-xbkJGf8XSU,4772
22
22
  odoo/addons/shopfloor_mobile/static/wms/src/components/manual_select_color.esm.js,sha256=COp95jc7KHzZJj5hVkIh0a4cvYyZMGSP-nwUG2LhrKY,937
23
23
  odoo/addons/shopfloor_mobile/static/wms/src/components/misc.esm.js,sha256=sd5r1W16vefj0_Ukx3L6zP_9Ph7fhSTO_lRfr5YGxZk,6250
24
- odoo/addons/shopfloor_mobile/static/wms/src/components/packaging-qty-picker.esm.js,sha256=mMMvFYGIUKk8c8yYK-e50VovcqdnJHklEe2tKJCplUA,12070
24
+ odoo/addons/shopfloor_mobile/static/wms/src/components/packaging-qty-picker.esm.js,sha256=kNGxLBE1rJeVPvKQQWGEh6hC8X8BFLeBhNB5Qi1CtOg,12265
25
25
  odoo/addons/shopfloor_mobile/static/wms/src/components/detail/detail_location.esm.js,sha256=ZBb339MzSWOPvhZFD1rsPcuTKhJzxdbx_7G_m_7Zcv8,5009
26
26
  odoo/addons/shopfloor_mobile/static/wms/src/components/detail/detail_lot.esm.js,sha256=pJi7YWfe3S5TII7vu1tlcwprH8X1rVuOdJGB-A2H_QE,3230
27
27
  odoo/addons/shopfloor_mobile/static/wms/src/components/detail/detail_operation.esm.js,sha256=EvGXb195Js7koQyUChcfwdgfUcPKYgpGs1qI4IaJNR8,1740
28
- odoo/addons/shopfloor_mobile/static/wms/src/components/detail/detail_package.esm.js,sha256=39om9yPp9t8kymGmj0NklXKP-WXbHzw0eeysXOKXybw,2746
28
+ odoo/addons/shopfloor_mobile/static/wms/src/components/detail/detail_package.esm.js,sha256=kfWegJszkEXEcsV2KQxBzn3S8Txv9JnHwxFcDOsKYXc,2616
29
29
  odoo/addons/shopfloor_mobile/static/wms/src/components/detail/detail_picking.esm.js,sha256=PeavOYvJjfkKNeA-TGU9UGugyPD1DjeW3A02Cr0LY1k,1123
30
30
  odoo/addons/shopfloor_mobile/static/wms/src/components/detail/detail_product.esm.js,sha256=2waHitHVyPfgVku4_PbWiTeaiaUHt6cMbtNoO1Zae04,5923
31
31
  odoo/addons/shopfloor_mobile/static/wms/src/components/detail/detail_transfer.esm.js,sha256=XwbrwwQjsa-4Apl-6vo_4Ugc8ndG-VAl-I2DsjRWfy0,4681
@@ -33,10 +33,11 @@ odoo/addons/shopfloor_mobile/static/wms/src/components/forms/form_edit_stock_pic
33
33
  odoo/addons/shopfloor_mobile/static/wms/src/components/scenario_picking_detail/mixins.esm.js,sha256=J_6lkp3NdOyDMbPfFo_L55ZExd7zOQdhXtx9YurQWPE,4055
34
34
  odoo/addons/shopfloor_mobile/static/wms/src/components/scenario_picking_detail/picking_select.esm.js,sha256=DLoO26gYhBLO-G7Jg0Kp2m9_VnaYZC49O7DjEY4Apq8,5036
35
35
  odoo/addons/shopfloor_mobile/static/wms/src/components/scenario_picking_detail/picking_summary.esm.js,sha256=n8Q4W3b2CYDG8t1_HNcPqci-xHbLDFbeDvX9VUdGKTI,9286
36
- odoo/addons/shopfloor_mobile/static/wms/src/css/main.css,sha256=IUQoC2TMPRXOmVsIxZcRmgJ4dM0FRQ7Fn84iVqnY5Y8,1613
36
+ odoo/addons/shopfloor_mobile/static/wms/src/css/main.css,sha256=vQ5iafSnMf2CzripcSJ7cfctcC_mGQSq4Rtknc2a1lI,1854
37
37
  odoo/addons/shopfloor_mobile/static/wms/src/css/normalize.css,sha256=bdpVgqwoXxfp59Yz0w32yF7uaIWAHPbSlQYY4DWeUII,6260
38
- odoo/addons/shopfloor_mobile/static/wms/src/demo/demo.checkout.esm.js,sha256=WuZRSewnear0zqIntxMOlIbhdONBo1wHRM1cb6dLk14,7305
38
+ odoo/addons/shopfloor_mobile/static/wms/src/demo/demo.checkout.esm.js,sha256=h_x9-q_fI6KJnxOEUaeeV3Cf0R7fDqka2wPh6imvRkE,7324
39
39
  odoo/addons/shopfloor_mobile/static/wms/src/demo/demo.cluster_picking.esm.js,sha256=SrEdrpMmyp9VgtArLnZZYRbwv350B58vRomvw5eXo_E,5192
40
+ odoo/addons/shopfloor_mobile/static/wms/src/demo/demo.components.esm.js,sha256=E6S26D2uNA3N9LAxhp7k5G6LFdLWLXzbAbcjgjZUEGA,4859
40
41
  odoo/addons/shopfloor_mobile/static/wms/src/demo/demo.delivery.esm.js,sha256=ZtxJdoBoU2Kfizy_jBTi3WKTnS9sVzmxWu03obcZNM0,2063
41
42
  odoo/addons/shopfloor_mobile/static/wms/src/demo/demo.location_content_transfer.esm.js,sha256=gacktD6B-NhtOPJF58sDreO787IK07cWfNeuTKPMtU4,5419
42
43
  odoo/addons/shopfloor_mobile/static/wms/src/demo/demo.scan_anything.esm.js,sha256=09QhOZ477dBhWrXeJd4X6FqpuwcY14Tv8zZlwzK4CKg,3042
@@ -45,15 +46,15 @@ odoo/addons/shopfloor_mobile/static/wms/src/demo/demo.zone_picking.esm.js,sha256
45
46
  odoo/addons/shopfloor_mobile/static/wms/src/i18n/add_translations_to_registry.esm.js,sha256=oOQBHbaQ9zKDgIvBPE3B3T7glyLPkp6auRtwJUma48I,280
46
47
  odoo/addons/shopfloor_mobile/static/wms/src/i18n/en.json,sha256=gn981MlQXNBYiVZHWOV4o0LzdrCqZ2Z9ptjPArF8C-Q,1944
47
48
  odoo/addons/shopfloor_mobile/static/wms/src/i18n/fr.json,sha256=-nRVyM2PsggBL1WjxYzyeRdC4kwx7HzSOXAN83TJehE,1941
48
- odoo/addons/shopfloor_mobile/static/wms/src/scenario/checkout.esm.js,sha256=SsnRuy37xL3wcJH0KpBn-plGYxb669soPAFNq_uquB0,19452
49
- odoo/addons/shopfloor_mobile/static/wms/src/scenario/checkout_states.esm.js,sha256=55R7ueFRfJCff_aClYcdqwfaZkooYt8T1U93ZTmq0O0,15046
50
- odoo/addons/shopfloor_mobile/static/wms/src/scenario/cluster_picking.esm.js,sha256=h08tBH3Fz3hNvg8BZExS_NKQBft6F3XLMwx6zVA_V3g,20547
49
+ odoo/addons/shopfloor_mobile/static/wms/src/scenario/checkout.esm.js,sha256=QYDqBo-qV2sOUUjLwPB1S4Z9LsSAJzWInI_BQtXwAa4,19750
50
+ odoo/addons/shopfloor_mobile/static/wms/src/scenario/checkout_states.esm.js,sha256=7ncCEy5EoSonXk1hQX0r-ptSlYFuhfBqPFfKxRyWXqg,15060
51
+ odoo/addons/shopfloor_mobile/static/wms/src/scenario/cluster_picking.esm.js,sha256=wiC_LfgJsUuqhIZ2aAUZ6J5NfRsIyE66KgwX-siKtRA,20859
51
52
  odoo/addons/shopfloor_mobile/static/wms/src/scenario/delivery.esm.js,sha256=Vko1GQWH8VKXuwozOaod2HjBoyPLR3-E8QQnghUldOs,15062
52
53
  odoo/addons/shopfloor_mobile/static/wms/src/scenario/location_content_transfer.esm.js,sha256=l7cPPf4wAZntUcnsapldO_LalHCwvfR4snnsfwwFWzA,18335
53
54
  odoo/addons/shopfloor_mobile/static/wms/src/scenario/single_pack_transfer.esm.js,sha256=ipc8fKBtv4_KRZBEBV5pmmefjtHnSOarx5KUnfyjNoE,6114
54
55
  odoo/addons/shopfloor_mobile/static/wms/src/scenario/zone_picking.esm.js,sha256=mNcE39AtO9vPfjSrNybjV9hiNoSErMyJ0ev1PgOOxd0,44849
55
- odoo/addons/shopfloor_mobile/templates/assets.xml,sha256=K9Tu1nUq_t8WquSEV4GHigPd5QuYY-2rqbt4V9sWkxs,7993
56
- odoo_addon_shopfloor_mobile-18.0.1.0.1.dist-info/METADATA,sha256=hcd_wcQGd53whR2AclzUUOdX__BMFxXqCA9yVKaok9k,8230
57
- odoo_addon_shopfloor_mobile-18.0.1.0.1.dist-info/WHEEL,sha256=ZhOvUsYhy81Dx67gN3TV0RchQWBIIzutDZaJODDg2Vo,81
58
- odoo_addon_shopfloor_mobile-18.0.1.0.1.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
59
- odoo_addon_shopfloor_mobile-18.0.1.0.1.dist-info/RECORD,,
56
+ odoo/addons/shopfloor_mobile/templates/assets.xml,sha256=Lvp0SaP1r9p8yvS6Td4oRW3s7kVlRFvRhl3W-WhuVZ8,8209
57
+ odoo_addon_shopfloor_mobile-18.0.1.2.0.dist-info/METADATA,sha256=YVSzSFdGZ1kBF3paVnTsondU4d1RNzk6M8cKjzfToYs,8230
58
+ odoo_addon_shopfloor_mobile-18.0.1.2.0.dist-info/WHEEL,sha256=ZhOvUsYhy81Dx67gN3TV0RchQWBIIzutDZaJODDg2Vo,81
59
+ odoo_addon_shopfloor_mobile-18.0.1.2.0.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
60
+ odoo_addon_shopfloor_mobile-18.0.1.2.0.dist-info/RECORD,,