odoo-addon-sale-commission-product-criteria 16.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.
Files changed (25) hide show
  1. odoo/addons/sale_commission_product_criteria/README.rst +116 -0
  2. odoo/addons/sale_commission_product_criteria/__init__.py +1 -0
  3. odoo/addons/sale_commission_product_criteria/__manifest__.py +22 -0
  4. odoo/addons/sale_commission_product_criteria/demo/sale_agent_demo.xml +69 -0
  5. odoo/addons/sale_commission_product_criteria/i18n/it.po +427 -0
  6. odoo/addons/sale_commission_product_criteria/i18n/sale_commission_product_criteria.pot +396 -0
  7. odoo/addons/sale_commission_product_criteria/models/__init__.py +5 -0
  8. odoo/addons/sale_commission_product_criteria/models/account_move.py +30 -0
  9. odoo/addons/sale_commission_product_criteria/models/commission.py +266 -0
  10. odoo/addons/sale_commission_product_criteria/models/sale.py +55 -0
  11. odoo/addons/sale_commission_product_criteria/models/sale_commission_line_mixin.py +78 -0
  12. odoo/addons/sale_commission_product_criteria/models/settlement.py +7 -0
  13. odoo/addons/sale_commission_product_criteria/readme/CONTRIBUTORS.rst +6 -0
  14. odoo/addons/sale_commission_product_criteria/readme/DESCRIPTION.rst +16 -0
  15. odoo/addons/sale_commission_product_criteria/readme/USAGE.rst +7 -0
  16. odoo/addons/sale_commission_product_criteria/security/ir.model.access.csv +3 -0
  17. odoo/addons/sale_commission_product_criteria/static/description/icon.png +0 -0
  18. odoo/addons/sale_commission_product_criteria/static/description/index.html +451 -0
  19. odoo/addons/sale_commission_product_criteria/tests/__init__.py +1 -0
  20. odoo/addons/sale_commission_product_criteria/tests/test_sale_commission_product_criteria.py +204 -0
  21. odoo/addons/sale_commission_product_criteria/views/views.xml +239 -0
  22. odoo_addon_sale_commission_product_criteria-16.0.1.0.0.2.dist-info/METADATA +135 -0
  23. odoo_addon_sale_commission_product_criteria-16.0.1.0.0.2.dist-info/RECORD +25 -0
  24. odoo_addon_sale_commission_product_criteria-16.0.1.0.0.2.dist-info/WHEEL +5 -0
  25. odoo_addon_sale_commission_product_criteria-16.0.1.0.0.2.dist-info/top_level.txt +1 -0
@@ -0,0 +1,396 @@
1
+ # Translation of Odoo Server.
2
+ # This file contains the translation of the following modules:
3
+ # * sale_commission_product_criteria
4
+ #
5
+ msgid ""
6
+ msgstr ""
7
+ "Project-Id-Version: Odoo Server 16.0\n"
8
+ "Report-Msgid-Bugs-To: \n"
9
+ "Last-Translator: \n"
10
+ "Language-Team: \n"
11
+ "MIME-Version: 1.0\n"
12
+ "Content-Type: text/plain; charset=UTF-8\n"
13
+ "Content-Transfer-Encoding: \n"
14
+ "Plural-Forms: \n"
15
+
16
+ #. module: sale_commission_product_criteria
17
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__active
18
+ msgid "Active"
19
+ msgstr ""
20
+
21
+ #. module: sale_commission_product_criteria
22
+ #: model:ir.model,name:sale_commission_product_criteria.model_account_invoice_line_agent
23
+ msgid "Agent detail of commission line in invoice lines"
24
+ msgstr ""
25
+
26
+ #. module: sale_commission_product_criteria
27
+ #: model:ir.model,name:sale_commission_product_criteria.model_sale_order_line_agent
28
+ msgid "Agent detail of commission line in order lines"
29
+ msgstr ""
30
+
31
+ #. module: sale_commission_product_criteria
32
+ #. odoo-python
33
+ #: code:addons/sale_commission_product_criteria/models/commission.py:0
34
+ #: model:ir.model.fields.selection,name:sale_commission_product_criteria.selection__commission_item__applied_on__3_global
35
+ #, python-format
36
+ msgid "All Products"
37
+ msgstr ""
38
+
39
+ #. module: sale_commission_product_criteria
40
+ #: model_terms:ir.ui.view,arch_db:sale_commission_product_criteria.view_sale_order_line_tree_mod
41
+ msgid "Amount (%)"
42
+ msgstr ""
43
+
44
+ #. module: sale_commission_product_criteria
45
+ #: model_terms:ir.ui.view,arch_db:sale_commission_product_criteria.view_sale_order_line_tree_mod
46
+ msgid "Amount (fixed)"
47
+ msgstr ""
48
+
49
+ #. module: sale_commission_product_criteria
50
+ #: model:ir.model.fields.selection,name:sale_commission_product_criteria.selection__commission_item__based_on__sol
51
+ msgid "Any Sale Order Line"
52
+ msgstr ""
53
+
54
+ #. module: sale_commission_product_criteria
55
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_account_invoice_line_agent__applied_commission_id
56
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_line_mixin__applied_commission_id
57
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_sale_order_line_agent__applied_commission_id
58
+ msgid "Applied Commission"
59
+ msgstr ""
60
+
61
+ #. module: sale_commission_product_criteria
62
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_account_invoice_line_agent__applied_commission_item_id
63
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_sale_order_line_agent__applied_commission_item_id
64
+ msgid "Applied Commission Item"
65
+ msgstr ""
66
+
67
+ #. module: sale_commission_product_criteria
68
+ #: model_terms:ir.ui.view,arch_db:sale_commission_product_criteria.view_sale_order_line_tree_mod
69
+ msgid "Applied Disc. (%)"
70
+ msgstr ""
71
+
72
+ #. module: sale_commission_product_criteria
73
+ #: model_terms:ir.ui.view,arch_db:sale_commission_product_criteria.sale_commission_form_lines_mod
74
+ #: model_terms:ir.ui.view,arch_db:sale_commission_product_criteria.view_sale_order_line_tree_mod
75
+ msgid "Applied On"
76
+ msgstr ""
77
+
78
+ #. module: sale_commission_product_criteria
79
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__applied_on
80
+ msgid "Apply On"
81
+ msgstr ""
82
+
83
+ #. module: sale_commission_product_criteria
84
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__based_on
85
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_sale_order_line_agent__based_on
86
+ #: model_terms:ir.ui.view,arch_db:sale_commission_product_criteria.view_sale_order_line_tree_mod
87
+ msgid "Based On"
88
+ msgstr ""
89
+
90
+ #. module: sale_commission_product_criteria
91
+ #. odoo-python
92
+ #: code:addons/sale_commission_product_criteria/models/commission.py:0
93
+ #, python-format
94
+ msgid "Category: %s"
95
+ msgstr ""
96
+
97
+ #. module: sale_commission_product_criteria
98
+ #: model:ir.model,name:sale_commission_product_criteria.model_commission
99
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_account_invoice_line_agent__commission_id
100
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__commission_id
101
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_line_mixin__commission_id
102
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_sale_order_line_agent__commission_id
103
+ #: model_terms:ir.ui.view,arch_db:sale_commission_product_criteria.commission_item_search
104
+ msgid "Commission"
105
+ msgstr ""
106
+
107
+ #. module: sale_commission_product_criteria
108
+ #: model_terms:ir.ui.view,arch_db:sale_commission_product_criteria.commission_item_form_view
109
+ msgid "Commission Computation"
110
+ msgstr ""
111
+
112
+ #. module: sale_commission_product_criteria
113
+ #: model:ir.model,name:sale_commission_product_criteria.model_commission_item
114
+ #: model_terms:ir.ui.view,arch_db:sale_commission_product_criteria.commission_item_form_view
115
+ msgid "Commission Item"
116
+ msgstr ""
117
+
118
+ #. module: sale_commission_product_criteria
119
+ #: model:ir.model.fields,help:sale_commission_product_criteria.field_commission_item__applied_on
120
+ msgid "Commission Item applicable on selected option"
121
+ msgstr ""
122
+
123
+ #. module: sale_commission_product_criteria
124
+ #: model:ir.actions.act_window,name:sale_commission_product_criteria.commission_item_action
125
+ #: model:ir.actions.act_window,name:sale_commission_product_criteria.commission_item_action_tree
126
+ #: model_terms:ir.ui.view,arch_db:sale_commission_product_criteria.commission_item_search
127
+ msgid "Commission Items"
128
+ msgstr ""
129
+
130
+ #. module: sale_commission_product_criteria
131
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__commission_type
132
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_sale_order_line_agent__commission_type
133
+ msgid "Commission Type"
134
+ msgstr ""
135
+
136
+ #. module: sale_commission_product_criteria
137
+ #: model:ir.ui.menu,name:sale_commission_product_criteria.menu_sale_commissions_items
138
+ msgid "Commission Type Items"
139
+ msgstr ""
140
+
141
+ #. module: sale_commission_product_criteria
142
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__company_id
143
+ msgid "Company"
144
+ msgstr ""
145
+
146
+ #. module: sale_commission_product_criteria
147
+ #: model_terms:ir.ui.view,arch_db:sale_commission_product_criteria.commission_item_form_view
148
+ msgid "Compute Price"
149
+ msgstr ""
150
+
151
+ #. module: sale_commission_product_criteria
152
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__create_uid
153
+ msgid "Created by"
154
+ msgstr ""
155
+
156
+ #. module: sale_commission_product_criteria
157
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__create_date
158
+ msgid "Created on"
159
+ msgstr ""
160
+
161
+ #. module: sale_commission_product_criteria
162
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__currency_id
163
+ msgid "Currency"
164
+ msgstr ""
165
+
166
+ #. module: sale_commission_product_criteria
167
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_sale_order_line_agent__discount
168
+ msgid "Discount (%)"
169
+ msgstr ""
170
+
171
+ #. module: sale_commission_product_criteria
172
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__display_name
173
+ msgid "Display Name"
174
+ msgstr ""
175
+
176
+ #. module: sale_commission_product_criteria
177
+ #: model_terms:ir.ui.view,arch_db:sale_commission_product_criteria.view_order_agent_form_inherit_sale_commission_product_criteria_mod
178
+ msgid "Edit agents"
179
+ msgstr ""
180
+
181
+ #. module: sale_commission_product_criteria
182
+ #: model:ir.model.fields,help:sale_commission_product_criteria.field_commission_item__name
183
+ #: model:ir.model.fields,help:sale_commission_product_criteria.field_sale_order_line_agent__applied_on_name
184
+ msgid "Explicit rule name for this commission line."
185
+ msgstr ""
186
+
187
+ #. module: sale_commission_product_criteria
188
+ #: model_terms:ir.ui.view,arch_db:sale_commission_product_criteria.view_sale_order_line_tree_mod
189
+ msgid "Final Amount"
190
+ msgstr ""
191
+
192
+ #. module: sale_commission_product_criteria
193
+ #: model:ir.model.fields.selection,name:sale_commission_product_criteria.selection__commission_item__commission_type__fixed
194
+ msgid "Fixed"
195
+ msgstr ""
196
+
197
+ #. module: sale_commission_product_criteria
198
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__fixed_amount
199
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_sale_order_line_agent__fixed_amount
200
+ msgid "Fixed Amount"
201
+ msgstr ""
202
+
203
+ #. module: sale_commission_product_criteria
204
+ #: model_terms:ir.ui.view,arch_db:sale_commission_product_criteria.commission_item_search
205
+ msgid "Group By"
206
+ msgstr ""
207
+
208
+ #. module: sale_commission_product_criteria
209
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__id
210
+ msgid "ID"
211
+ msgstr ""
212
+
213
+ #. module: sale_commission_product_criteria
214
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission__item_ids
215
+ msgid "Item"
216
+ msgstr ""
217
+
218
+ #. module: sale_commission_product_criteria
219
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item____last_update
220
+ msgid "Last Modified on"
221
+ msgstr ""
222
+
223
+ #. module: sale_commission_product_criteria
224
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__write_uid
225
+ msgid "Last Updated by"
226
+ msgstr ""
227
+
228
+ #. module: sale_commission_product_criteria
229
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__write_date
230
+ msgid "Last Updated on"
231
+ msgstr ""
232
+
233
+ #. module: sale_commission_product_criteria
234
+ #: model:ir.model,name:sale_commission_product_criteria.model_commission_settlement_line
235
+ msgid "Line of a commission settlement"
236
+ msgstr ""
237
+
238
+ #. module: sale_commission_product_criteria
239
+ #: model:ir.model,name:sale_commission_product_criteria.model_commission_line_mixin
240
+ msgid ""
241
+ "Mixin model for having commission agent lines in any object inheriting from "
242
+ "this one"
243
+ msgstr ""
244
+
245
+ #. module: sale_commission_product_criteria
246
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__name
247
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_sale_order_line_agent__applied_on_name
248
+ msgid "Name"
249
+ msgstr ""
250
+
251
+ #. module: sale_commission_product_criteria
252
+ #: model:ir.model.fields.selection,name:sale_commission_product_criteria.selection__commission_item__commission_type__percentage
253
+ msgid "Percentage"
254
+ msgstr ""
255
+
256
+ #. module: sale_commission_product_criteria
257
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__percent_amount
258
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_sale_order_line_agent__percent_amount
259
+ msgid "Percentage Amount"
260
+ msgstr ""
261
+
262
+ #. module: sale_commission_product_criteria
263
+ #. odoo-python
264
+ #: code:addons/sale_commission_product_criteria/models/commission.py:0
265
+ #, python-format
266
+ msgid "Please specify the category for which this rule should be applied"
267
+ msgstr ""
268
+
269
+ #. module: sale_commission_product_criteria
270
+ #. odoo-python
271
+ #: code:addons/sale_commission_product_criteria/models/commission.py:0
272
+ #, python-format
273
+ msgid "Please specify the product for which this rule should be applied"
274
+ msgstr ""
275
+
276
+ #. module: sale_commission_product_criteria
277
+ #. odoo-python
278
+ #: code:addons/sale_commission_product_criteria/models/commission.py:0
279
+ #, python-format
280
+ msgid ""
281
+ "Please specify the product variant for which this rule should be applied"
282
+ msgstr ""
283
+
284
+ #. module: sale_commission_product_criteria
285
+ #: model_terms:ir.ui.view,arch_db:sale_commission_product_criteria.view_sale_order_line_tree_mod
286
+ msgid "Price Type"
287
+ msgstr ""
288
+
289
+ #. module: sale_commission_product_criteria
290
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__product_tmpl_id
291
+ #: model:ir.model.fields.selection,name:sale_commission_product_criteria.selection__commission_item__applied_on__1_product
292
+ msgid "Product"
293
+ msgstr ""
294
+
295
+ #. module: sale_commission_product_criteria
296
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__categ_id
297
+ #: model:ir.model.fields.selection,name:sale_commission_product_criteria.selection__commission_item__applied_on__2_product_category
298
+ msgid "Product Category"
299
+ msgstr ""
300
+
301
+ #. module: sale_commission_product_criteria
302
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__product_id
303
+ #: model:ir.model.fields.selection,name:sale_commission_product_criteria.selection__commission_item__applied_on__0_product_variant
304
+ msgid "Product Variant"
305
+ msgstr ""
306
+
307
+ #. module: sale_commission_product_criteria
308
+ #: model:ir.model.fields.selection,name:sale_commission_product_criteria.selection__commission__commission_type__product
309
+ msgid "Product criteria"
310
+ msgstr ""
311
+
312
+ #. module: sale_commission_product_criteria
313
+ #. odoo-python
314
+ #: code:addons/sale_commission_product_criteria/models/commission.py:0
315
+ #, python-format
316
+ msgid "Product: %s"
317
+ msgstr ""
318
+
319
+ #. module: sale_commission_product_criteria
320
+ #: model_terms:ir.ui.view,arch_db:sale_commission_product_criteria.sale_commission_form_lines_mod
321
+ msgid "Rules"
322
+ msgstr ""
323
+
324
+ #. module: sale_commission_product_criteria
325
+ #: model:ir.model,name:sale_commission_product_criteria.model_sale_order_line
326
+ msgid "Sales Order Line"
327
+ msgstr ""
328
+
329
+ #. module: sale_commission_product_criteria
330
+ #: model:ir.model.fields,help:sale_commission_product_criteria.field_commission__commission_type
331
+ msgid ""
332
+ "Select the percentage type of the commission:\n"
333
+ "* 'Fixed percentage': all commissions are computed with a fixed percentage. You can fill the percentage in the field \"Fixed percentage\".\n"
334
+ "* 'By sections': percentage varies depending amount intervals. You can fill intervals and percentages in the section \"Rate definition\"."
335
+ msgstr ""
336
+
337
+ #. module: sale_commission_product_criteria
338
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__sequence
339
+ msgid "Sequence"
340
+ msgstr ""
341
+
342
+ #. module: sale_commission_product_criteria
343
+ #: model:ir.model.fields,help:sale_commission_product_criteria.field_commission_item__categ_id
344
+ msgid ""
345
+ "Specify a product category if this rule only applies to products belonging "
346
+ "to this category or its children categories. Keep empty otherwise."
347
+ msgstr ""
348
+
349
+ #. module: sale_commission_product_criteria
350
+ #: model:ir.model.fields,help:sale_commission_product_criteria.field_commission_item__product_id
351
+ msgid ""
352
+ "Specify a product if this rule only applies to one product. Keep empty "
353
+ "otherwise."
354
+ msgstr ""
355
+
356
+ #. module: sale_commission_product_criteria
357
+ #: model:ir.model.fields,help:sale_commission_product_criteria.field_commission_item__product_tmpl_id
358
+ msgid ""
359
+ "Specify a template if this rule only applies to one product template. Keep "
360
+ "empty otherwise."
361
+ msgstr ""
362
+
363
+ #. module: sale_commission_product_criteria
364
+ #. odoo-python
365
+ #: code:addons/sale_commission_product_criteria/models/commission.py:0
366
+ #, python-format
367
+ msgid ""
368
+ "There is done Sale Orders with this commission. Commission type change is "
369
+ "not allowed."
370
+ msgstr ""
371
+
372
+ #. module: sale_commission_product_criteria
373
+ #. odoo-python
374
+ #: code:addons/sale_commission_product_criteria/models/commission.py:0
375
+ #, python-format
376
+ msgid ""
377
+ "There is posted Account Move Lines with this commission. Commission type "
378
+ "change is not allowed."
379
+ msgstr ""
380
+
381
+ #. module: sale_commission_product_criteria
382
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission__commission_type
383
+ msgid "Type"
384
+ msgstr ""
385
+
386
+ #. module: sale_commission_product_criteria
387
+ #: model:ir.model.fields,field_description:sale_commission_product_criteria.field_commission_item__commission_value
388
+ msgid "Value"
389
+ msgstr ""
390
+
391
+ #. module: sale_commission_product_criteria
392
+ #. odoo-python
393
+ #: code:addons/sale_commission_product_criteria/models/commission.py:0
394
+ #, python-format
395
+ msgid "Variant: %s"
396
+ msgstr ""
@@ -0,0 +1,5 @@
1
+ from . import sale_commission_line_mixin
2
+ from . import commission
3
+ from . import sale
4
+ from . import account_move
5
+ from . import settlement
@@ -0,0 +1,30 @@
1
+ # © 2023 ooops404
2
+ # Copyright 2023 Simone Rubino - Aion Tech
3
+ # License AGPL-3 - See https://www.gnu.org/licenses/agpl-3.0.html
4
+ from odoo import api, fields, models
5
+
6
+
7
+ class AccountInvoiceLineAgent(models.Model):
8
+ _inherit = "account.invoice.line.agent"
9
+
10
+ applied_commission_item_id = fields.Many2one("commission.item")
11
+
12
+ @api.depends(
13
+ "object_id.price_subtotal",
14
+ "object_id.product_id.commission_free",
15
+ "commission_id",
16
+ )
17
+ def _compute_amount(self):
18
+ res = None
19
+ for line in self:
20
+ if line.commission_id and line.commission_id.commission_type == "product":
21
+ inv_line = line.object_id
22
+ line.amount = line._get_single_commission_amount(
23
+ line.commission_id,
24
+ inv_line.price_subtotal,
25
+ inv_line.product_id,
26
+ inv_line.quantity,
27
+ )
28
+ else:
29
+ res = super(AccountInvoiceLineAgent, line)._compute_amount()
30
+ return res