import - BankAccountDeviceLink for set device to a bank_account/changes in stakeholders & pos
This commit is contained in:
@@ -81,8 +81,12 @@ class StakeHoldersSerializer(ModelSerializer):
|
||||
def to_representation(self, instance):
|
||||
representation = super().to_representation(instance)
|
||||
|
||||
# get organization bank account that set to a device
|
||||
bank_account_device_links = instance.organization.bank_account_device_links.filter(device=instance.device)
|
||||
|
||||
representation['bank_account'] = BankAccountSerializer(
|
||||
instance.organization.bank_information.all().first()
|
||||
if not bank_account_device_links.exists() else bank_account_device_links.first().bank_account
|
||||
).data
|
||||
|
||||
representation['device'] = instance.device.device_identity
|
||||
@@ -127,3 +131,9 @@ class StakeHolderShareAmountSerializer(ModelSerializer):
|
||||
representation['stakeholders'] = StakeHoldersSerializer(instance.stakeholders).data
|
||||
|
||||
return representation
|
||||
|
||||
|
||||
class BankAccountDeviceLinkSerializer(ModelSerializer):
|
||||
class Meta:
|
||||
model = pos_models.BankAccountDeviceLink
|
||||
fields = '__all__'
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
from django.urls import path, include
|
||||
from rest_framework.routers import DefaultRouter
|
||||
|
||||
from .viewsets import client as client_views
|
||||
from .viewsets import device as device_views
|
||||
|
||||
@@ -11,7 +12,12 @@ router.register(r'device', device_views.DeviceViewSet, basename='device')
|
||||
router.register(r'device_assignment', device_views.DeviceAssignmentViewSet, basename='device_assignment')
|
||||
router.register(r'stake_holders', device_views.StakeHoldersViewSet, basename='stake_holders')
|
||||
router.register(r'holders_share', device_views.StakeHolderShareAmountViewSet, basename='holders_share')
|
||||
router.register(
|
||||
r'bank_account_device_link',
|
||||
device_views.BankAccountDeviceLinkViewSet,
|
||||
basename='bank_account_device_link'
|
||||
)
|
||||
|
||||
urlpatterns = [
|
||||
path('v1/pos/', include(router.urls))
|
||||
]
|
||||
]
|
||||
|
||||
@@ -24,7 +24,9 @@ from apps.core.mixins.search_mixin import DynamicSearchMixin
|
||||
from apps.core.mixins.soft_delete_mixin import SoftDeleteMixin
|
||||
from apps.core.services.visibility_service import apply_visibility_filter_by_org_type
|
||||
from apps.pos_device import models as pos_models
|
||||
from apps.pos_device.models import BankAccountDeviceLink
|
||||
from apps.pos_device.web.api.v1.serilaizers import device as device_serializer
|
||||
from apps.pos_device.web.api.v1.serilaizers.device import BankAccountDeviceLinkSerializer
|
||||
from apps.pos_device.web.api.v1.viewsets.client import POSClientViewSet
|
||||
from apps.product.models import Broker, OrganizationQuotaStats
|
||||
from apps.product.web.api.v1.viewsets.quota_distribution_api import QuotaDistributionViewSet
|
||||
@@ -515,3 +517,8 @@ class StakeHolderShareAmountViewSet(viewsets.ModelViewSet, DynamicSearchMixin, S
|
||||
if page is not None: # noqa
|
||||
serializer = self.get_serializer(page, many=True)
|
||||
return self.get_paginated_response(serializer.data)
|
||||
|
||||
|
||||
class BankAccountDeviceLinkViewSet(BaseViewSet, viewsets.ModelViewSet, DynamicSearchMixin, SoftDeleteMixin):
|
||||
queryset = BankAccountDeviceLink.objects.select_related('organization', 'bank_account', 'device')
|
||||
serializer_class = BankAccountDeviceLinkSerializer
|
||||
|
||||
Reference in New Issue
Block a user