wbcommission 1.59.5rc0__tar.gz → 1.59.8__tar.gz

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 (83) hide show
  1. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/PKG-INFO +1 -2
  2. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/pyproject.toml +0 -1
  3. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/factories/commission.py +1 -0
  4. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/filters/rebate.py +1 -1
  5. wbcommission-1.59.8/wbcommission/migrations/0009_rename_rebate_commission_type_date_recipient_product_account_wbcommissio_commiss_432402_idx.py +18 -0
  6. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/models/commission.py +1 -1
  7. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/models/rebate.py +1 -5
  8. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/rebate.py +11 -8
  9. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/.gitignore +0 -0
  10. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/__init__.py +0 -0
  11. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/admin/__init__.py +0 -0
  12. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/admin/accounts.py +0 -0
  13. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/admin/commission.py +0 -0
  14. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/admin/rebate.py +0 -0
  15. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/analytics/__init__.py +0 -0
  16. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/analytics/marginality.py +0 -0
  17. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/apps.py +0 -0
  18. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/dynamic_preferences_registry.py +0 -0
  19. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/factories/__init__.py +0 -0
  20. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/factories/rebate.py +0 -0
  21. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/filters/__init__.py +0 -0
  22. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/filters/signals.py +0 -0
  23. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/generators/__init__.py +0 -0
  24. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/generators/rebate_generator.py +0 -0
  25. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/locale/de/LC_MESSAGES/django.mo +0 -0
  26. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/locale/de/LC_MESSAGES/django.po +0 -0
  27. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/locale/en/LC_MESSAGES/django.mo +0 -0
  28. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/locale/en/LC_MESSAGES/django.po +0 -0
  29. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/locale/fr/LC_MESSAGES/django.mo +0 -0
  30. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/locale/fr/LC_MESSAGES/django.po +0 -0
  31. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/migrations/0001_initial.py +0 -0
  32. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/migrations/0002_commissionrule_remove_accountcustomer_account_and_more.py +0 -0
  33. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/migrations/0003_alter_commission_account.py +0 -0
  34. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/migrations/0004_rebate_audit_log.py +0 -0
  35. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/migrations/0005_alter_rebate_audit_log.py +0 -0
  36. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/migrations/0006_commissionrule_consider_zero_percent_for_exclusion.py +0 -0
  37. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/migrations/0007_remove_commission_unique_crm_recipient_account_and_more.py +0 -0
  38. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/migrations/0008_alter_commission_options_alter_commission_order.py +0 -0
  39. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/migrations/__init__.py +0 -0
  40. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/models/__init__.py +0 -0
  41. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/models/account_service.py +0 -0
  42. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/models/signals.py +0 -0
  43. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/permissions.py +0 -0
  44. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/reports/__init__.py +0 -0
  45. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/reports/audit_report.py +0 -0
  46. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/reports/customer_report.py +0 -0
  47. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/reports/utils.py +0 -0
  48. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/serializers/__init__.py +0 -0
  49. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/serializers/commissions.py +0 -0
  50. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/serializers/rebate.py +0 -0
  51. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/serializers/signals.py +0 -0
  52. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/tests/__init__.py +0 -0
  53. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/tests/analytics/__init__.py +0 -0
  54. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/tests/analytics/test_marginality.py +0 -0
  55. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/tests/conftest.py +0 -0
  56. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/tests/models/__init__.py +0 -0
  57. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/tests/models/mixins.py +0 -0
  58. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/tests/models/test_account_service.py +0 -0
  59. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/tests/models/test_commission.py +0 -0
  60. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/tests/models/test_rebate.py +0 -0
  61. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/tests/signals.py +0 -0
  62. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/tests/test_permissions.py +0 -0
  63. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/tests/viewsets/__init__.py +0 -0
  64. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/tests/viewsets/test_rebate.py +0 -0
  65. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/urls.py +0 -0
  66. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/__init__.py +0 -0
  67. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/buttons/__init__.py +0 -0
  68. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/buttons/rebate.py +0 -0
  69. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/buttons/signals.py +0 -0
  70. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/commissions.py +0 -0
  71. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/display/__init__.py +0 -0
  72. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/display/commissions.py +0 -0
  73. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/display/rebate.py +0 -0
  74. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/endpoints/__init__.py +0 -0
  75. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/endpoints/commissions.py +0 -0
  76. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/endpoints/rebate.py +0 -0
  77. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/menu/__init__.py +0 -0
  78. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/menu/commissions.py +0 -0
  79. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/menu/rebate.py +0 -0
  80. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/mixins.py +0 -0
  81. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/titles/__init__.py +0 -0
  82. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/titles/commissions.py +0 -0
  83. {wbcommission-1.59.5rc0 → wbcommission-1.59.8}/wbcommission/viewsets/titles/rebate.py +0 -0
@@ -1,9 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wbcommission
3
- Version: 1.59.5rc0
3
+ Version: 1.59.8
4
4
  Summary: A workbench module for managing human resources.
5
5
  Author-email: Christopher Wittlinger <c.wittlinger@stainly.com>
6
- Requires-Dist: reportlab==3.*
7
6
  Requires-Dist: wbcompliance
8
7
  Requires-Dist: wbcore
9
8
  Requires-Dist: wbcrm
@@ -13,7 +13,6 @@ dependencies = [
13
13
  "wbportfolio",
14
14
  "wbreport",
15
15
  "wbmailing",
16
- "reportlab == 3.*",
17
16
  ]
18
17
 
19
18
  [tool.uv.sources]
@@ -34,6 +34,7 @@ class CommissionFactory(factory.django.DjangoModelFactory):
34
34
 
35
35
  class Meta:
36
36
  model = Commission
37
+ skip_postgeneration_save = True
37
38
 
38
39
  @factory.post_generation
39
40
  def rule_timespan(self, create, extracted, **kwargs):
@@ -1,7 +1,7 @@
1
1
  from wbcore import filters as wb_filters
2
2
  from wbcore.contrib.directory.models import Company
3
+ from wbcore.contrib.pandas.filterset import PandasFilterSetMixin
3
4
  from wbcore.filters.defaults import current_quarter_date_range
4
- from wbcore.pandas.filterset import PandasFilterSetMixin
5
5
  from wbfdm.models import ClassificationGroup
6
6
  from wbfdm.preferences import get_default_classification_group
7
7
  from wbportfolio.filters.transactions.claim import CommissionBaseFilterSet
@@ -0,0 +1,18 @@
1
+ # Generated by Django 5.2.9 on 2025-12-09 08:50
2
+
3
+ from django.db import migrations
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+
8
+ dependencies = [
9
+ ('wbcommission', '0008_alter_commission_options_alter_commission_order'),
10
+ ]
11
+
12
+ operations = [
13
+ migrations.RenameIndex(
14
+ model_name='rebate',
15
+ new_name='wbcommissio_commiss_432402_idx',
16
+ old_fields=('commission_type', 'date', 'recipient', 'product', 'account'),
17
+ ),
18
+ ]
@@ -312,7 +312,7 @@ class Commission(OrderedModel, WBModel):
312
312
  condition=Q(account_role_type_recipient__isnull=False),
313
313
  ),
314
314
  models.CheckConstraint(
315
- check=(
315
+ condition=(
316
316
  Q(
317
317
  crm_recipient__isnull=False,
318
318
  portfolio_role_recipient__isnull=True,
@@ -156,11 +156,7 @@ class Rebate(BookingEntryCalculatedValueMixin, models.Model):
156
156
  verbose_name = "Rebate"
157
157
  verbose_name_plural = "Rebates"
158
158
  unique_together = ("date", "recipient", "account", "product", "commission_type")
159
- index_together = [
160
- # ("date", "recipient", "product"),
161
- ("commission_type", "date", "recipient", "product", "account"),
162
- # ("date", "recipient", "product", "commission"),
163
- ]
159
+ indexes = [models.Index(fields=["commission_type", "date", "recipient", "product", "account"])]
164
160
  notification_types = [
165
161
  create_notification_type(
166
162
  "wbcommission.rebate.computation_done",
@@ -19,7 +19,7 @@ from wbcore import viewsets
19
19
  from wbcore.contrib.currency.models import CurrencyFXRates
20
20
  from wbcore.contrib.directory.models import Entry
21
21
  from wbcore.contrib.io.viewsets import ExportPandasAPIViewSet
22
- from wbcore.pandas import fields as pf
22
+ from wbcore.contrib.pandas import fields as pf
23
23
  from wbcore.permissions.permissions import IsInternalUser
24
24
  from wbcore.serializers import decorator
25
25
  from wbcore.utils.date import get_date_interval_from_request
@@ -212,13 +212,16 @@ class RebatePandasView(RebatePermissionMixin, ExportPandasAPIViewSet):
212
212
  columns=["value_usd", "commission_type__key", pivot, pivot_label],
213
213
  )
214
214
  df = df.rename(columns={pivot: "id", pivot_label: "title"})
215
- df = pd.pivot_table(
216
- df,
217
- index=["id", "title"],
218
- columns="commission_type__key",
219
- values="value_usd",
220
- aggfunc="sum",
221
- fill_value=0,
215
+ df = (
216
+ pd.pivot_table(
217
+ df,
218
+ index=["id", "title"],
219
+ columns="commission_type__key",
220
+ values="value_usd",
221
+ aggfunc="sum",
222
+ )
223
+ .astype(float)
224
+ .fillna(0)
222
225
  )
223
226
  df["total"] = df.sum(axis=1)
224
227
  # Ensure all type are always present as a columns