wbcommission 1.54.8__tar.gz → 1.59.5rc0__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.
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/PKG-INFO +4 -1
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/pyproject.toml +6 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/filters/rebate.py +0 -2
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/models/account_service.py +3 -1
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/models/commission.py +3 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/models/rebate.py +2 -1
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/permissions.py +2 -2
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/reports/audit_report.py +2 -1
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/reports/customer_report.py +3 -2
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/tests/models/test_commission.py +4 -4
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/.gitignore +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/admin/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/admin/accounts.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/admin/commission.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/admin/rebate.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/analytics/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/analytics/marginality.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/apps.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/dynamic_preferences_registry.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/factories/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/factories/commission.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/factories/rebate.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/filters/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/filters/signals.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/generators/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/generators/rebate_generator.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/locale/de/LC_MESSAGES/django.mo +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/locale/de/LC_MESSAGES/django.po +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/locale/en/LC_MESSAGES/django.mo +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/locale/en/LC_MESSAGES/django.po +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/locale/fr/LC_MESSAGES/django.mo +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/locale/fr/LC_MESSAGES/django.po +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/migrations/0001_initial.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/migrations/0002_commissionrule_remove_accountcustomer_account_and_more.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/migrations/0003_alter_commission_account.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/migrations/0004_rebate_audit_log.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/migrations/0005_alter_rebate_audit_log.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/migrations/0006_commissionrule_consider_zero_percent_for_exclusion.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/migrations/0007_remove_commission_unique_crm_recipient_account_and_more.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/migrations/0008_alter_commission_options_alter_commission_order.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/migrations/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/models/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/models/signals.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/reports/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/reports/utils.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/serializers/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/serializers/commissions.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/serializers/rebate.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/serializers/signals.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/tests/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/tests/analytics/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/tests/analytics/test_marginality.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/tests/conftest.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/tests/models/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/tests/models/mixins.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/tests/models/test_account_service.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/tests/models/test_rebate.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/tests/signals.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/tests/test_permissions.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/tests/viewsets/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/tests/viewsets/test_rebate.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/urls.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/buttons/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/buttons/rebate.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/buttons/signals.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/commissions.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/display/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/display/commissions.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/display/rebate.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/endpoints/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/endpoints/commissions.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/endpoints/rebate.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/menu/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/menu/commissions.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/menu/rebate.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/mixins.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/rebate.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/titles/__init__.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/titles/commissions.py +0 -0
- {wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/titles/rebate.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wbcommission
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.59.5rc0
|
|
4
4
|
Summary: A workbench module for managing human resources.
|
|
5
5
|
Author-email: Christopher Wittlinger <c.wittlinger@stainly.com>
|
|
6
6
|
Requires-Dist: reportlab==3.*
|
|
@@ -8,4 +8,7 @@ Requires-Dist: wbcompliance
|
|
|
8
8
|
Requires-Dist: wbcore
|
|
9
9
|
Requires-Dist: wbcrm
|
|
10
10
|
Requires-Dist: wbfdm
|
|
11
|
+
Requires-Dist: wbmailing
|
|
11
12
|
Requires-Dist: wbnews
|
|
13
|
+
Requires-Dist: wbportfolio
|
|
14
|
+
Requires-Dist: wbreport
|
|
@@ -10,6 +10,9 @@ dependencies = [
|
|
|
10
10
|
"wbnews",
|
|
11
11
|
"wbfdm",
|
|
12
12
|
"wbcompliance",
|
|
13
|
+
"wbportfolio",
|
|
14
|
+
"wbreport",
|
|
15
|
+
"wbmailing",
|
|
13
16
|
"reportlab == 3.*",
|
|
14
17
|
]
|
|
15
18
|
|
|
@@ -19,6 +22,9 @@ wbcrm = { workspace = true }
|
|
|
19
22
|
wbnews = { workspace = true }
|
|
20
23
|
wbfdm = { workspace = true }
|
|
21
24
|
wbcompliance = { workspace = true }
|
|
25
|
+
wbportfolio = { workspace = true }
|
|
26
|
+
wbmailing = { workspace = true }
|
|
27
|
+
wbreport = { workspace = true }
|
|
22
28
|
|
|
23
29
|
[tool.uv]
|
|
24
30
|
package = true
|
|
@@ -13,7 +13,6 @@ from wbcommission.models.rebate import RebateGroupbyChoice
|
|
|
13
13
|
|
|
14
14
|
class RebateDateFilter(CommissionBaseFilterSet):
|
|
15
15
|
date = wb_filters.DateRangeFilter(
|
|
16
|
-
method=wb_filters.DateRangeFilter.base_date_range_filter_method,
|
|
17
16
|
label="Date Range",
|
|
18
17
|
required=True,
|
|
19
18
|
clearable=False,
|
|
@@ -98,7 +97,6 @@ class CustomerRebateGroupByFilter(RebateGroupByFilter):
|
|
|
98
97
|
class RebateMarginalityFilter(PandasFilterSetMixin, wb_filters.FilterSet):
|
|
99
98
|
date = wb_filters.DateRangeFilter(
|
|
100
99
|
label="Date Range",
|
|
101
|
-
method=wb_filters.DateRangeFilter.base_date_range_filter_method,
|
|
102
100
|
required=True,
|
|
103
101
|
clearable=False,
|
|
104
102
|
initial=current_quarter_date_range,
|
|
@@ -182,7 +182,9 @@ class AccountRebateManager:
|
|
|
182
182
|
and date, a KeyError will be caught, and the function will return Decimal(0).
|
|
183
183
|
"""
|
|
184
184
|
with suppress(InstrumentPrice.DoesNotExist, KeyError):
|
|
185
|
-
product_shares = max(
|
|
185
|
+
product_shares = max(
|
|
186
|
+
product.prices.get(date=compute_date, calculated=True).outstanding_shares or Decimal(0), Decimal(0)
|
|
187
|
+
)
|
|
186
188
|
account_shares = max(
|
|
187
189
|
Decimal(self.df_shares.loc[(terminal_account.id, product.id, compute_date)]), Decimal(0)
|
|
188
190
|
)
|
|
@@ -13,6 +13,7 @@ from wbcore.contrib.notifications.dispatch import send_notification
|
|
|
13
13
|
from wbcore.contrib.notifications.utils import create_notification_type
|
|
14
14
|
from wbcore.signals import pre_merge
|
|
15
15
|
from wbcore.utils.enum import ChoiceEnum
|
|
16
|
+
from wbcore.workers import Queue
|
|
16
17
|
from wbcrm.models.accounts import Account
|
|
17
18
|
|
|
18
19
|
from .commission import Commission, CommissionType
|
|
@@ -271,7 +272,7 @@ class Rebate(BookingEntryCalculatedValueMixin, models.Model):
|
|
|
271
272
|
# ----------- TASKS -----------
|
|
272
273
|
|
|
273
274
|
|
|
274
|
-
@shared_task(queue=
|
|
275
|
+
@shared_task(queue=Queue.EXTENDED_BACKGROUND.value)
|
|
275
276
|
def manage_rebate_as_task(
|
|
276
277
|
main_account_id: int,
|
|
277
278
|
start_date: date_lib | None = None,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
from rest_framework.permissions import
|
|
1
|
+
from rest_framework.permissions import IsAuthenticated
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
class IsCommissionAdmin(
|
|
4
|
+
class IsCommissionAdmin(IsAuthenticated):
|
|
5
5
|
def has_permission(self, request, view):
|
|
6
6
|
return request.user.has_perm("wbcommission.administrate_commission")
|
|
@@ -5,6 +5,7 @@ import pandas as pd
|
|
|
5
5
|
from celery import shared_task
|
|
6
6
|
from wbcore.contrib.authentication.models import User
|
|
7
7
|
from wbcore.contrib.directory.models import Entry
|
|
8
|
+
from wbcore.workers import Queue
|
|
8
9
|
from wbcrm.models.accounts import Account
|
|
9
10
|
from wbportfolio.models.products import Product
|
|
10
11
|
|
|
@@ -13,7 +14,7 @@ from wbcommission.models import Commission, CommissionType, Rebate
|
|
|
13
14
|
from .utils import create_report_and_send
|
|
14
15
|
|
|
15
16
|
|
|
16
|
-
@shared_task(queue=
|
|
17
|
+
@shared_task(queue=Queue.DEFAULT.value)
|
|
17
18
|
def create_audit_report_and_send_as_task(user_id: int, recipient_id: int, start_date: date, end_date: date):
|
|
18
19
|
user = User.objects.get(id=user_id)
|
|
19
20
|
recipient = Entry.objects.get(id=recipient_id)
|
|
@@ -8,6 +8,7 @@ from django.db.models import Case, F, Sum, When
|
|
|
8
8
|
from wbcore.contrib.authentication.models import User
|
|
9
9
|
from wbcore.contrib.currency.models import CurrencyFXRates
|
|
10
10
|
from wbcore.contrib.directory.models import Entry
|
|
11
|
+
from wbcore.workers import Queue
|
|
11
12
|
from wbcrm.models.accounts import (
|
|
12
13
|
Account,
|
|
13
14
|
AccountRole,
|
|
@@ -25,7 +26,7 @@ from .utils import create_report_and_send
|
|
|
25
26
|
AccountCustomer = None
|
|
26
27
|
|
|
27
28
|
|
|
28
|
-
@shared_task(queue=
|
|
29
|
+
@shared_task(queue=Queue.DEFAULT.value)
|
|
29
30
|
def create_customer_report_and_send_as_task(user_id: int, recipient_id: int, start_date: date, end_date: date):
|
|
30
31
|
user = User.objects.get(id=user_id)
|
|
31
32
|
recipient = Entry.objects.get(id=recipient_id)
|
|
@@ -218,7 +219,7 @@ def create_report(user, customer, start_date, end_date):
|
|
|
218
219
|
worksheet_trade_performance.write_string(bank_cell, claim.bank, base_format)
|
|
219
220
|
worksheet_trade_performance.write_string(root_account_cell, claim.account.get_root().title, base_format)
|
|
220
221
|
worksheet_trade_performance.write_string(account_cell, str(claim.account), base_format)
|
|
221
|
-
worksheet_trade_performance.write_string(product_cell, claim.product.
|
|
222
|
+
worksheet_trade_performance.write_string(product_cell, claim.product.name, base_format)
|
|
222
223
|
|
|
223
224
|
worksheet_trade_performance.write_number(
|
|
224
225
|
price_trade_cell, claim.price_date or claim.product.share_price, decimal_format
|
|
@@ -478,10 +478,10 @@ class TestCommissionType:
|
|
|
478
478
|
res = dict()
|
|
479
479
|
for commission_type in CommissionType.objects.all():
|
|
480
480
|
for (
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
481
|
+
_,
|
|
482
|
+
_,
|
|
483
|
+
_,
|
|
484
|
+
_,
|
|
485
485
|
recipient,
|
|
486
486
|
recipient_fees,
|
|
487
487
|
_,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/migrations/0004_rebate_audit_log.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/tests/analytics/test_marginality.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/tests/models/test_account_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wbcommission-1.54.8 → wbcommission-1.59.5rc0}/wbcommission/viewsets/endpoints/commissions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|