odoo-addon-delivery-ups-oca 17.0.1.0.0.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- odoo/addons/delivery_ups_oca/README.rst +147 -0
- odoo/addons/delivery_ups_oca/__init__.py +3 -0
- odoo/addons/delivery_ups_oca/__manifest__.py +26 -0
- odoo/addons/delivery_ups_oca/data/stock_package_type_data.xml +120 -0
- odoo/addons/delivery_ups_oca/i18n/delivery_ups_oca.pot +399 -0
- odoo/addons/delivery_ups_oca/i18n/it.po +471 -0
- odoo/addons/delivery_ups_oca/models/__init__.py +5 -0
- odoo/addons/delivery_ups_oca/models/delivery_carrier.py +213 -0
- odoo/addons/delivery_ups_oca/models/stock_package_type.py +9 -0
- odoo/addons/delivery_ups_oca/models/stock_picking.py +14 -0
- odoo/addons/delivery_ups_oca/models/ups_request.py +415 -0
- odoo/addons/delivery_ups_oca/readme/CONFIGURE.md +17 -0
- odoo/addons/delivery_ups_oca/readme/CONTRIBUTORS.md +9 -0
- odoo/addons/delivery_ups_oca/readme/DESCRIPTION.md +10 -0
- odoo/addons/delivery_ups_oca/readme/ROADMAP.md +2 -0
- odoo/addons/delivery_ups_oca/readme/USAGE.md +12 -0
- odoo/addons/delivery_ups_oca/static/description/icon.png +0 -0
- odoo/addons/delivery_ups_oca/static/description/index.html +498 -0
- odoo/addons/delivery_ups_oca/tests/__init__.py +3 -0
- odoo/addons/delivery_ups_oca/tests/test_delivery_ups.py +165 -0
- odoo/addons/delivery_ups_oca/views/delivery_carrier_view.xml +84 -0
- odoo/addons/delivery_ups_oca/views/stock_picking_view.xml +24 -0
- odoo_addon_delivery_ups_oca-17.0.1.0.0.2.dist-info/METADATA +166 -0
- odoo_addon_delivery_ups_oca-17.0.1.0.0.2.dist-info/RECORD +26 -0
- odoo_addon_delivery_ups_oca-17.0.1.0.0.2.dist-info/WHEEL +5 -0
- odoo_addon_delivery_ups_oca-17.0.1.0.0.2.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,471 @@
|
|
|
1
|
+
# Translation of Odoo Server.
|
|
2
|
+
# This file contains the translation of the following modules:
|
|
3
|
+
# * delivery_ups_oca
|
|
4
|
+
#
|
|
5
|
+
msgid ""
|
|
6
|
+
msgstr ""
|
|
7
|
+
"Project-Id-Version: Odoo Server 14.0\n"
|
|
8
|
+
"Report-Msgid-Bugs-To: \n"
|
|
9
|
+
"Last-Translator: Automatically generated\n"
|
|
10
|
+
"Language-Team: none\n"
|
|
11
|
+
"Language: it\n"
|
|
12
|
+
"MIME-Version: 1.0\n"
|
|
13
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
|
14
|
+
"Content-Transfer-Encoding: \n"
|
|
15
|
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
|
16
|
+
|
|
17
|
+
#. module: delivery_ups_oca
|
|
18
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__02
|
|
19
|
+
msgid "2nd Day Air"
|
|
20
|
+
msgstr ""
|
|
21
|
+
|
|
22
|
+
#. module: delivery_ups_oca
|
|
23
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__59
|
|
24
|
+
msgid "2nd Day Air A.M."
|
|
25
|
+
msgstr ""
|
|
26
|
+
|
|
27
|
+
#. module: delivery_ups_oca
|
|
28
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__12
|
|
29
|
+
msgid "3 Day Select"
|
|
30
|
+
msgstr ""
|
|
31
|
+
|
|
32
|
+
#. module: delivery_ups_oca
|
|
33
|
+
#: code:addons/delivery_ups_oca/models/ups_request.py:0
|
|
34
|
+
#, python-format
|
|
35
|
+
msgid "Both Client ID and Client Secret must be set in UPS delivery carriers."
|
|
36
|
+
msgstr ""
|
|
37
|
+
|
|
38
|
+
#. module: delivery_ups_oca
|
|
39
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_package_dimension_code__cm
|
|
40
|
+
msgid "CM"
|
|
41
|
+
msgstr ""
|
|
42
|
+
|
|
43
|
+
#. module: delivery_ups_oca
|
|
44
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_product_packaging__package_carrier_type
|
|
45
|
+
msgid "Carrier"
|
|
46
|
+
msgstr ""
|
|
47
|
+
|
|
48
|
+
#. module: delivery_ups_oca
|
|
49
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_cod_funds_code__1
|
|
50
|
+
msgid "Cash"
|
|
51
|
+
msgstr ""
|
|
52
|
+
|
|
53
|
+
#. module: delivery_ups_oca
|
|
54
|
+
#: model_terms:ir.ui.view,arch_db:delivery_ups_oca.view_delivery_carrier_form
|
|
55
|
+
msgid "Cash On Delivery"
|
|
56
|
+
msgstr ""
|
|
57
|
+
|
|
58
|
+
#. module: delivery_ups_oca
|
|
59
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_cod_funds_code__9
|
|
60
|
+
msgid "Check/Cashier Check/Money Order"
|
|
61
|
+
msgstr ""
|
|
62
|
+
|
|
63
|
+
#. module: delivery_ups_oca
|
|
64
|
+
#: model_terms:ir.ui.view,arch_db:delivery_ups_oca.view_delivery_carrier_form
|
|
65
|
+
msgid "Credentials"
|
|
66
|
+
msgstr ""
|
|
67
|
+
|
|
68
|
+
#. module: delivery_ups_oca
|
|
69
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_delivery_carrier__ups_default_packaging_id
|
|
70
|
+
msgid "Default Packaging Type"
|
|
71
|
+
msgstr ""
|
|
72
|
+
|
|
73
|
+
#. module: delivery_ups_oca
|
|
74
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_delivery_carrier__display_name
|
|
75
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_product_packaging__display_name
|
|
76
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_stock_picking__display_name
|
|
77
|
+
msgid "Display Name"
|
|
78
|
+
msgstr ""
|
|
79
|
+
|
|
80
|
+
#. module: delivery_ups_oca
|
|
81
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_file_format__epl
|
|
82
|
+
msgid "EPL"
|
|
83
|
+
msgstr ""
|
|
84
|
+
|
|
85
|
+
#. module: delivery_ups_oca
|
|
86
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__m6
|
|
87
|
+
msgid "Economy Mail Innovations"
|
|
88
|
+
msgstr ""
|
|
89
|
+
|
|
90
|
+
#. module: delivery_ups_oca
|
|
91
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__08
|
|
92
|
+
msgid "Expedited"
|
|
93
|
+
msgstr ""
|
|
94
|
+
|
|
95
|
+
#. module: delivery_ups_oca
|
|
96
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__m4
|
|
97
|
+
msgid "Expedited Mail Innovations"
|
|
98
|
+
msgstr ""
|
|
99
|
+
|
|
100
|
+
#. module: delivery_ups_oca
|
|
101
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__07
|
|
102
|
+
msgid "Express"
|
|
103
|
+
msgstr ""
|
|
104
|
+
|
|
105
|
+
#. module: delivery_ups_oca
|
|
106
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__54
|
|
107
|
+
msgid "Express Plus"
|
|
108
|
+
msgstr ""
|
|
109
|
+
|
|
110
|
+
#. module: delivery_ups_oca
|
|
111
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_delivery_carrier__ups_file_format
|
|
112
|
+
msgid "File format"
|
|
113
|
+
msgstr ""
|
|
114
|
+
|
|
115
|
+
#. module: delivery_ups_oca
|
|
116
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__m2
|
|
117
|
+
msgid "First Class Mail"
|
|
118
|
+
msgstr ""
|
|
119
|
+
|
|
120
|
+
#. module: delivery_ups_oca
|
|
121
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_file_format__gif
|
|
122
|
+
msgid "GIF"
|
|
123
|
+
msgstr ""
|
|
124
|
+
|
|
125
|
+
#. module: delivery_ups_oca
|
|
126
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__03
|
|
127
|
+
msgid "Ground"
|
|
128
|
+
msgstr ""
|
|
129
|
+
|
|
130
|
+
#. module: delivery_ups_oca
|
|
131
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_delivery_carrier__id
|
|
132
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_product_packaging__id
|
|
133
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_stock_picking__id
|
|
134
|
+
msgid "ID"
|
|
135
|
+
msgstr ""
|
|
136
|
+
|
|
137
|
+
#. module: delivery_ups_oca
|
|
138
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_package_dimension_code__in
|
|
139
|
+
msgid "IN"
|
|
140
|
+
msgstr ""
|
|
141
|
+
|
|
142
|
+
#. module: delivery_ups_oca
|
|
143
|
+
#: model:ir.model.fields,help:delivery_ups_oca.field_delivery_carrier__ups_tracking_state_update_sync
|
|
144
|
+
msgid ""
|
|
145
|
+
"If checked, odoo try to state update from picking according to UPS "
|
|
146
|
+
"webservice (you will necessary to activate tracking API)"
|
|
147
|
+
msgstr ""
|
|
148
|
+
|
|
149
|
+
#. module: delivery_ups_oca
|
|
150
|
+
#: model:ir.model.fields,help:delivery_ups_oca.field_delivery_carrier__ups_package_dimension_code
|
|
151
|
+
msgid ""
|
|
152
|
+
"Is necessary to set dimension code from packages in shipping creation "
|
|
153
|
+
"process"
|
|
154
|
+
msgstr ""
|
|
155
|
+
|
|
156
|
+
#. module: delivery_ups_oca
|
|
157
|
+
#: model:ir.model.fields,help:delivery_ups_oca.field_delivery_carrier__ups_package_weight_code
|
|
158
|
+
msgid ""
|
|
159
|
+
"Is necessary to set weight code from packages in shipping creation process"
|
|
160
|
+
msgstr ""
|
|
161
|
+
|
|
162
|
+
#. module: delivery_ups_oca
|
|
163
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_package_weight_code__kgs
|
|
164
|
+
msgid "KGS"
|
|
165
|
+
msgstr ""
|
|
166
|
+
|
|
167
|
+
#. module: delivery_ups_oca
|
|
168
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_package_weight_code__lbs
|
|
169
|
+
msgid "LBS"
|
|
170
|
+
msgstr ""
|
|
171
|
+
|
|
172
|
+
#. module: delivery_ups_oca
|
|
173
|
+
#: model_terms:ir.ui.view,arch_db:delivery_ups_oca.view_delivery_carrier_form
|
|
174
|
+
msgid "Label"
|
|
175
|
+
msgstr ""
|
|
176
|
+
|
|
177
|
+
#. module: delivery_ups_oca
|
|
178
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_delivery_carrier____last_update
|
|
179
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_product_packaging____last_update
|
|
180
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_stock_picking____last_update
|
|
181
|
+
msgid "Last Modified on"
|
|
182
|
+
msgstr ""
|
|
183
|
+
|
|
184
|
+
#. module: delivery_ups_oca
|
|
185
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__m7
|
|
186
|
+
msgid "Mail Innovations (MI) Returns"
|
|
187
|
+
msgstr ""
|
|
188
|
+
|
|
189
|
+
#. module: delivery_ups_oca
|
|
190
|
+
#: model_terms:ir.ui.view,arch_db:delivery_ups_oca.view_delivery_carrier_form
|
|
191
|
+
msgid "Misc"
|
|
192
|
+
msgstr ""
|
|
193
|
+
|
|
194
|
+
#. module: delivery_ups_oca
|
|
195
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__01
|
|
196
|
+
msgid "Next Day Air"
|
|
197
|
+
msgstr ""
|
|
198
|
+
|
|
199
|
+
#. module: delivery_ups_oca
|
|
200
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__13
|
|
201
|
+
msgid "Next Day Air Saver"
|
|
202
|
+
msgstr ""
|
|
203
|
+
|
|
204
|
+
#. module: delivery_ups_oca
|
|
205
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_package_weight_code__ozs
|
|
206
|
+
msgid "OZS"
|
|
207
|
+
msgstr ""
|
|
208
|
+
|
|
209
|
+
#. module: delivery_ups_oca
|
|
210
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_delivery_carrier__ups_package_dimension_code
|
|
211
|
+
msgid "Package Dimension code"
|
|
212
|
+
msgstr ""
|
|
213
|
+
|
|
214
|
+
#. module: delivery_ups_oca
|
|
215
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_delivery_carrier__ups_package_weight_code
|
|
216
|
+
msgid "Package Weight code"
|
|
217
|
+
msgstr ""
|
|
218
|
+
|
|
219
|
+
#. module: delivery_ups_oca
|
|
220
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__m3
|
|
221
|
+
msgid "Priority Mail"
|
|
222
|
+
msgstr ""
|
|
223
|
+
|
|
224
|
+
#. module: delivery_ups_oca
|
|
225
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__m5
|
|
226
|
+
msgid "Priority Mail Innovations"
|
|
227
|
+
msgstr ""
|
|
228
|
+
|
|
229
|
+
#. module: delivery_ups_oca
|
|
230
|
+
#: model:ir.model,name:delivery_ups_oca.model_product_packaging
|
|
231
|
+
msgid "Product Packaging"
|
|
232
|
+
msgstr ""
|
|
233
|
+
|
|
234
|
+
#. module: delivery_ups_oca
|
|
235
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_delivery_carrier__delivery_type
|
|
236
|
+
msgid "Provider"
|
|
237
|
+
msgstr ""
|
|
238
|
+
|
|
239
|
+
#. module: delivery_ups_oca
|
|
240
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_file_format__spl
|
|
241
|
+
msgid "SPL"
|
|
242
|
+
msgstr ""
|
|
243
|
+
|
|
244
|
+
#. module: delivery_ups_oca
|
|
245
|
+
#: code:addons/delivery_ups_oca/models/ups_request.py:0
|
|
246
|
+
#, python-format
|
|
247
|
+
msgid "Sending to UPS: %s"
|
|
248
|
+
msgstr ""
|
|
249
|
+
|
|
250
|
+
#. module: delivery_ups_oca
|
|
251
|
+
#: model_terms:ir.ui.view,arch_db:delivery_ups_oca.view_delivery_carrier_form
|
|
252
|
+
msgid "Service"
|
|
253
|
+
msgstr ""
|
|
254
|
+
|
|
255
|
+
#. module: delivery_ups_oca
|
|
256
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_delivery_carrier__ups_service_code
|
|
257
|
+
msgid "Service code"
|
|
258
|
+
msgstr ""
|
|
259
|
+
|
|
260
|
+
#. module: delivery_ups_oca
|
|
261
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_delivery_carrier__ups_shipper_number
|
|
262
|
+
msgid "Shipper number"
|
|
263
|
+
msgstr ""
|
|
264
|
+
|
|
265
|
+
#. module: delivery_ups_oca
|
|
266
|
+
#: model:ir.model,name:delivery_ups_oca.model_delivery_carrier
|
|
267
|
+
msgid "Shipping Methods"
|
|
268
|
+
msgstr ""
|
|
269
|
+
|
|
270
|
+
#. module: delivery_ups_oca
|
|
271
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_delivery_carrier__ups_tracking_state_update_sync
|
|
272
|
+
msgid "Tracking state update sync"
|
|
273
|
+
msgstr ""
|
|
274
|
+
|
|
275
|
+
#. module: delivery_ups_oca
|
|
276
|
+
#: model:ir.model,name:delivery_ups_oca.model_stock_picking
|
|
277
|
+
msgid "Transfer"
|
|
278
|
+
msgstr ""
|
|
279
|
+
|
|
280
|
+
#. module: delivery_ups_oca
|
|
281
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__delivery_type__ups
|
|
282
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__product_packaging__package_carrier_type__ups
|
|
283
|
+
#: model_terms:ir.ui.view,arch_db:delivery_ups_oca.view_delivery_carrier_form
|
|
284
|
+
msgid "UPS"
|
|
285
|
+
msgstr ""
|
|
286
|
+
|
|
287
|
+
#. module: delivery_ups_oca
|
|
288
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__70
|
|
289
|
+
msgid "UPS Access PointTM Economy"
|
|
290
|
+
msgstr ""
|
|
291
|
+
|
|
292
|
+
#. module: delivery_ups_oca
|
|
293
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_delivery_carrier__ups_cash_on_delivery
|
|
294
|
+
msgid "UPS Cash On Delivery"
|
|
295
|
+
msgstr ""
|
|
296
|
+
|
|
297
|
+
#. module: delivery_ups_oca
|
|
298
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_delivery_carrier__ups_cod_funds_code
|
|
299
|
+
msgid "UPS Cod Funds Code"
|
|
300
|
+
msgstr ""
|
|
301
|
+
|
|
302
|
+
#. module: delivery_ups_oca
|
|
303
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__74
|
|
304
|
+
msgid "UPS Express®12:00"
|
|
305
|
+
msgstr ""
|
|
306
|
+
|
|
307
|
+
#. module: delivery_ups_oca
|
|
308
|
+
#: model_terms:ir.ui.view,arch_db:delivery_ups_oca.view_picking_withcarrier_out_form
|
|
309
|
+
msgid "UPS Label"
|
|
310
|
+
msgstr ""
|
|
311
|
+
|
|
312
|
+
#. module: delivery_ups_oca
|
|
313
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__14
|
|
314
|
+
msgid "UPS Next Day Air® Early"
|
|
315
|
+
msgstr ""
|
|
316
|
+
|
|
317
|
+
#. module: delivery_ups_oca
|
|
318
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__65
|
|
319
|
+
msgid "UPS Saver"
|
|
320
|
+
msgstr ""
|
|
321
|
+
|
|
322
|
+
#. module: delivery_ups_oca
|
|
323
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__11
|
|
324
|
+
msgid "UPS Standard"
|
|
325
|
+
msgstr ""
|
|
326
|
+
|
|
327
|
+
#. module: delivery_ups_oca
|
|
328
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__83
|
|
329
|
+
msgid "UPS Today Dedicated Courier"
|
|
330
|
+
msgstr ""
|
|
331
|
+
|
|
332
|
+
#. module: delivery_ups_oca
|
|
333
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__85
|
|
334
|
+
msgid "UPS Today Express"
|
|
335
|
+
msgstr ""
|
|
336
|
+
|
|
337
|
+
#. module: delivery_ups_oca
|
|
338
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__86
|
|
339
|
+
msgid "UPS Today Express Saver"
|
|
340
|
+
msgstr ""
|
|
341
|
+
|
|
342
|
+
#. module: delivery_ups_oca
|
|
343
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__84
|
|
344
|
+
msgid "UPS Today Intercity"
|
|
345
|
+
msgstr ""
|
|
346
|
+
|
|
347
|
+
#. module: delivery_ups_oca
|
|
348
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__82
|
|
349
|
+
msgid "UPS Today Standard"
|
|
350
|
+
msgstr ""
|
|
351
|
+
|
|
352
|
+
#. module: delivery_ups_oca
|
|
353
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__72
|
|
354
|
+
msgid "UPS Worldwide Economy"
|
|
355
|
+
msgstr ""
|
|
356
|
+
|
|
357
|
+
#. module: delivery_ups_oca
|
|
358
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__17
|
|
359
|
+
msgid "UPS Worldwide Economy DDU"
|
|
360
|
+
msgstr ""
|
|
361
|
+
|
|
362
|
+
#. module: delivery_ups_oca
|
|
363
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__96
|
|
364
|
+
msgid "UPS Worldwide Express Freight"
|
|
365
|
+
msgstr ""
|
|
366
|
+
|
|
367
|
+
#. module: delivery_ups_oca
|
|
368
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_service_code__71
|
|
369
|
+
msgid "UPS Worldwide Express Freight Midday"
|
|
370
|
+
msgstr ""
|
|
371
|
+
|
|
372
|
+
#. module: delivery_ups_oca
|
|
373
|
+
#: model_terms:ir.ui.view,arch_db:delivery_ups_oca.view_delivery_carrier_form
|
|
374
|
+
msgid "Update Token"
|
|
375
|
+
msgstr ""
|
|
376
|
+
|
|
377
|
+
#. module: delivery_ups_oca
|
|
378
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_delivery_carrier__ups_client_id
|
|
379
|
+
msgid "Ups Client"
|
|
380
|
+
msgstr ""
|
|
381
|
+
|
|
382
|
+
#. module: delivery_ups_oca
|
|
383
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_delivery_carrier__ups_client_secret
|
|
384
|
+
msgid "Ups Client Secret"
|
|
385
|
+
msgstr ""
|
|
386
|
+
|
|
387
|
+
#. module: delivery_ups_oca
|
|
388
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_delivery_carrier__ups_token
|
|
389
|
+
msgid "Ups Token"
|
|
390
|
+
msgstr ""
|
|
391
|
+
|
|
392
|
+
#. module: delivery_ups_oca
|
|
393
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_delivery_carrier__ups_token_expiration_date
|
|
394
|
+
msgid "Ups Token Expiration Date"
|
|
395
|
+
msgstr ""
|
|
396
|
+
|
|
397
|
+
#. module: delivery_ups_oca
|
|
398
|
+
#: model:ir.model.fields,field_description:delivery_ups_oca.field_delivery_carrier__ups_use_packages_from_picking
|
|
399
|
+
msgid "Use packages from picking"
|
|
400
|
+
msgstr ""
|
|
401
|
+
|
|
402
|
+
#. module: delivery_ups_oca
|
|
403
|
+
#: model:ir.model.fields.selection,name:delivery_ups_oca.selection__delivery_carrier__ups_file_format__zpl
|
|
404
|
+
msgid "ZPL"
|
|
405
|
+
msgstr ""
|
|
406
|
+
|
|
407
|
+
#. module: delivery_ups_oca
|
|
408
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_01
|
|
409
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_02
|
|
410
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_03
|
|
411
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_04
|
|
412
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_21
|
|
413
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_24
|
|
414
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_25
|
|
415
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_2a
|
|
416
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_2b
|
|
417
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_2c
|
|
418
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_30
|
|
419
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_56
|
|
420
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_57
|
|
421
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_58
|
|
422
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_59
|
|
423
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_60
|
|
424
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_61
|
|
425
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_62
|
|
426
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_63
|
|
427
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_64
|
|
428
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_65
|
|
429
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_66
|
|
430
|
+
#: model:product.packaging,weight_uom_name:delivery_ups_oca.product_packaging_ups_67
|
|
431
|
+
msgid "kg"
|
|
432
|
+
msgstr ""
|
|
433
|
+
|
|
434
|
+
#. module: delivery_ups_oca
|
|
435
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_01
|
|
436
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_02
|
|
437
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_03
|
|
438
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_04
|
|
439
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_21
|
|
440
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_24
|
|
441
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_25
|
|
442
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_2a
|
|
443
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_2b
|
|
444
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_2c
|
|
445
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_30
|
|
446
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_56
|
|
447
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_57
|
|
448
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_58
|
|
449
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_59
|
|
450
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_60
|
|
451
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_61
|
|
452
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_62
|
|
453
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_63
|
|
454
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_64
|
|
455
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_65
|
|
456
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_66
|
|
457
|
+
#: model:product.packaging,volume_uom_name:delivery_ups_oca.product_packaging_ups_67
|
|
458
|
+
msgid "m³"
|
|
459
|
+
msgstr ""
|
|
460
|
+
|
|
461
|
+
#. module: delivery_ups_oca
|
|
462
|
+
#: code:addons/delivery_ups_oca/models/ups_request.py:0
|
|
463
|
+
#, python-format
|
|
464
|
+
msgid "{} - Error retrieving the tracking information."
|
|
465
|
+
msgstr ""
|
|
466
|
+
|
|
467
|
+
#. module: delivery_ups_oca
|
|
468
|
+
#: code:addons/delivery_ups_oca/models/ups_request.py:0
|
|
469
|
+
#, python-format
|
|
470
|
+
msgid "{} - Warning: {}"
|
|
471
|
+
msgstr ""
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
# Copyright 2020 Hunki Enterprises BV
|
|
2
|
+
# Copyright 2021-2022 Tecnativa - Víctor Martínez
|
|
3
|
+
# Copyright 2023 ForgeFlow, S.L. - Jordi Ballester
|
|
4
|
+
# Copyright 2024 Sygel - Manuel Regidor
|
|
5
|
+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
|
6
|
+
|
|
7
|
+
from odoo import fields, models
|
|
8
|
+
|
|
9
|
+
from .ups_request import UpsRequest
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class DeliveryCarrier(models.Model):
|
|
13
|
+
_inherit = "delivery.carrier"
|
|
14
|
+
|
|
15
|
+
delivery_type = fields.Selection(
|
|
16
|
+
selection_add=[("ups", "UPS")],
|
|
17
|
+
ondelete={
|
|
18
|
+
"ups": lambda recs: recs.write({"delivery_type": "fixed", "fixed_price": 0})
|
|
19
|
+
},
|
|
20
|
+
)
|
|
21
|
+
ups_file_format = fields.Selection(
|
|
22
|
+
selection=[("GIF", "GIF"), ("ZPL", "ZPL"), ("EPL", "EPL"), ("SPL", "SPL")],
|
|
23
|
+
default="GIF",
|
|
24
|
+
string="File format",
|
|
25
|
+
)
|
|
26
|
+
ups_shipper_number = fields.Char(string="Shipper number")
|
|
27
|
+
ups_service_code = fields.Selection(
|
|
28
|
+
selection=[
|
|
29
|
+
("01", "Next Day Air"),
|
|
30
|
+
("02", "2nd Day Air"),
|
|
31
|
+
("03", "Ground"),
|
|
32
|
+
("07", "Express"),
|
|
33
|
+
("08", "Expedited"),
|
|
34
|
+
("11", "UPS Standard"),
|
|
35
|
+
("12", "3 Day Select"),
|
|
36
|
+
("13", "Next Day Air Saver"),
|
|
37
|
+
("14", "UPS Next Day Air® Early"),
|
|
38
|
+
("17", "UPS Worldwide Economy DDU"),
|
|
39
|
+
("54", "Express Plus"),
|
|
40
|
+
("59", "2nd Day Air A.M."),
|
|
41
|
+
("65", "UPS Saver"),
|
|
42
|
+
("M2", "First Class Mail"),
|
|
43
|
+
("M3", "Priority Mail"),
|
|
44
|
+
("M4", "Expedited Mail Innovations"),
|
|
45
|
+
("M5", "Priority Mail Innovations"),
|
|
46
|
+
("M6", "Economy Mail Innovations"),
|
|
47
|
+
("M7", "Mail Innovations (MI) Returns"),
|
|
48
|
+
("70", "UPS Access PointTM Economy"),
|
|
49
|
+
("71", "UPS Worldwide Express Freight Midday"),
|
|
50
|
+
("72", "UPS Worldwide Economy"),
|
|
51
|
+
("74", "UPS Express®12:00"),
|
|
52
|
+
("82", "UPS Today Standard"),
|
|
53
|
+
("83", "UPS Today Dedicated Courier"),
|
|
54
|
+
("84", "UPS Today Intercity"),
|
|
55
|
+
("85", "UPS Today Express"),
|
|
56
|
+
("86", "UPS Today Express Saver"),
|
|
57
|
+
("96", "UPS Worldwide Express Freight"),
|
|
58
|
+
],
|
|
59
|
+
default="11",
|
|
60
|
+
string="Service code",
|
|
61
|
+
)
|
|
62
|
+
ups_default_packaging_id = fields.Many2one(
|
|
63
|
+
comodel_name="stock.package.type",
|
|
64
|
+
string="Default Packaging Type",
|
|
65
|
+
domain=[("package_carrier_type", "=", "ups")],
|
|
66
|
+
)
|
|
67
|
+
ups_package_dimension_code = fields.Selection(
|
|
68
|
+
selection=[("IN", "IN"), ("CM", "CM")],
|
|
69
|
+
default="IN",
|
|
70
|
+
string="Package Dimension code",
|
|
71
|
+
help="Is necessary to set dimension code from packages in shipping "
|
|
72
|
+
"creation process",
|
|
73
|
+
)
|
|
74
|
+
ups_package_weight_code = fields.Selection(
|
|
75
|
+
selection=[("LBS", "LBS"), ("KGS", "KGS"), ("OZS", "OZS")],
|
|
76
|
+
default="LBS",
|
|
77
|
+
string="Package Weight code",
|
|
78
|
+
help="Is necessary to set weight code from packages in shipping creation "
|
|
79
|
+
"process",
|
|
80
|
+
)
|
|
81
|
+
ups_tracking_state_update_sync = fields.Boolean(
|
|
82
|
+
string="Tracking state update sync",
|
|
83
|
+
help="If checked, odoo try to state update from picking according to UPS "
|
|
84
|
+
"webservice (you will necessary to activate tracking API)",
|
|
85
|
+
)
|
|
86
|
+
ups_use_packages_from_picking = fields.Boolean(string="Use packages from picking")
|
|
87
|
+
ups_client_id = fields.Char()
|
|
88
|
+
ups_client_secret = fields.Char()
|
|
89
|
+
ups_token = fields.Char()
|
|
90
|
+
ups_token_expiration_date = fields.Datetime(readonly=True)
|
|
91
|
+
ups_cash_on_delivery = fields.Boolean(string="UPS Cash On Delivery")
|
|
92
|
+
ups_cod_funds_code = fields.Selection(
|
|
93
|
+
selection=[("1", "Cash"), ("9", "Check/Cashier Check/Money Order")],
|
|
94
|
+
string="UPS Cod Funds Code",
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
def _ups_get_response_price(self, total_charges, currency, company):
|
|
98
|
+
"""We need to convert the price if the currency is different."""
|
|
99
|
+
price = float(total_charges["MonetaryValue"])
|
|
100
|
+
if total_charges["CurrencyCode"] != currency.name:
|
|
101
|
+
price = currency._convert(
|
|
102
|
+
price,
|
|
103
|
+
self.env["res.currency"].search(
|
|
104
|
+
[("name", "=", total_charges["CurrencyCode"])]
|
|
105
|
+
),
|
|
106
|
+
company,
|
|
107
|
+
fields.Date.today(),
|
|
108
|
+
)
|
|
109
|
+
return price
|
|
110
|
+
|
|
111
|
+
def ups_rate_shipment(self, order):
|
|
112
|
+
ups_request = UpsRequest(self)
|
|
113
|
+
response = ups_request.rate_shipment(order)
|
|
114
|
+
price = self._ups_get_response_price(
|
|
115
|
+
response, order.currency_id, order.company_id
|
|
116
|
+
)
|
|
117
|
+
return {
|
|
118
|
+
"success": True,
|
|
119
|
+
"price": price,
|
|
120
|
+
"error_message": False,
|
|
121
|
+
"warning_message": False,
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
def ups_create_shipping(self, picking):
|
|
125
|
+
"""Send packages of the picking to UPS
|
|
126
|
+
return a list of dicts {'exact_price': 'tracking_number':}
|
|
127
|
+
suitable for delivery.carrier#send_shipping"""
|
|
128
|
+
self.ensure_one()
|
|
129
|
+
ups_request = UpsRequest(self)
|
|
130
|
+
response = ups_request._send_shipping(picking)
|
|
131
|
+
extra_price = self._ups_get_response_price(
|
|
132
|
+
response["price"], picking.company_id.currency_id, picking.company_id
|
|
133
|
+
)
|
|
134
|
+
picking.carrier_tracking_ref = response["ShipmentIdentificationNumber"]
|
|
135
|
+
# Create label from response
|
|
136
|
+
self._create_ups_label(picking, response["labels"])
|
|
137
|
+
# Return
|
|
138
|
+
return {
|
|
139
|
+
"exact_price": extra_price,
|
|
140
|
+
"tracking_number": picking.carrier_tracking_ref,
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
def ups_send_shipping(self, pickings):
|
|
144
|
+
return [self.ups_create_shipping(p) for p in pickings]
|
|
145
|
+
|
|
146
|
+
def _prepare_ups_label_attachment(self, picking, values):
|
|
147
|
+
return {
|
|
148
|
+
"name": values["name"],
|
|
149
|
+
"type": "binary",
|
|
150
|
+
"datas": values["datas"],
|
|
151
|
+
"res_model": picking._name,
|
|
152
|
+
"res_id": picking.id,
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
def _create_ups_label(self, picking, labels):
|
|
156
|
+
val_list = []
|
|
157
|
+
for label in labels:
|
|
158
|
+
format_code = label["format_code"].upper()
|
|
159
|
+
attachment_name = f"{label['tracking_ref']}-{format_code}.{format_code}"
|
|
160
|
+
val_list.append(
|
|
161
|
+
self._prepare_ups_label_attachment(
|
|
162
|
+
picking,
|
|
163
|
+
{
|
|
164
|
+
"name": attachment_name,
|
|
165
|
+
"datas": label["datas"],
|
|
166
|
+
},
|
|
167
|
+
)
|
|
168
|
+
)
|
|
169
|
+
return self.env["ir.attachment"].create(val_list)
|
|
170
|
+
|
|
171
|
+
def ups_get_label(self, carrier_tracking_ref):
|
|
172
|
+
"""Generate label for picking
|
|
173
|
+
:param picking - stock.picking record
|
|
174
|
+
:returns attachment file
|
|
175
|
+
"""
|
|
176
|
+
self.ensure_one()
|
|
177
|
+
if not carrier_tracking_ref:
|
|
178
|
+
return False
|
|
179
|
+
ups_request = UpsRequest(self)
|
|
180
|
+
response = ups_request.shipping_label(carrier_tracking_ref)
|
|
181
|
+
# Create attachment to add pdf label
|
|
182
|
+
picking = self.env["stock.picking"].search(
|
|
183
|
+
[("carrier_tracking_ref", "=", carrier_tracking_ref)]
|
|
184
|
+
)
|
|
185
|
+
return self._create_ups_label(picking, response)
|
|
186
|
+
|
|
187
|
+
def ups_get_tracking_link(self, picking):
|
|
188
|
+
return "https://ups.com/WebTracking/track?trackingNumber=%s" % (
|
|
189
|
+
picking.carrier_tracking_ref
|
|
190
|
+
)
|
|
191
|
+
|
|
192
|
+
def ups_cancel_shipment(self, pickings):
|
|
193
|
+
ups_request = UpsRequest(self)
|
|
194
|
+
for picking in pickings.filtered(lambda a: a.carrier_tracking_ref):
|
|
195
|
+
if ups_request.cancel_shipment(pickings):
|
|
196
|
+
picking.write({"tracking_state_history": False})
|
|
197
|
+
return True
|
|
198
|
+
|
|
199
|
+
def ups_tracking_state_update(self, picking):
|
|
200
|
+
self.ensure_one()
|
|
201
|
+
if (
|
|
202
|
+
picking.carrier_id.ups_tracking_state_update_sync
|
|
203
|
+
and picking.carrier_tracking_ref
|
|
204
|
+
):
|
|
205
|
+
ups_request = UpsRequest(self)
|
|
206
|
+
response = ups_request.tracking_state_update(picking)
|
|
207
|
+
picking.delivery_state = response["delivery_state"]
|
|
208
|
+
picking.tracking_state_history = response["tracking_state_history"]
|
|
209
|
+
|
|
210
|
+
def ups_update_token(self):
|
|
211
|
+
self.ensure_one()
|
|
212
|
+
ups_request = UpsRequest(self)
|
|
213
|
+
ups_request._get_new_token()
|