stake holders model, paginate organizations by order
This commit is contained in:
@@ -221,8 +221,11 @@ class OrganizationViewSet(ModelViewSet, DynamicSearchMixin):
|
|||||||
def list(self, request, *args, **kwargs):
|
def list(self, request, *args, **kwargs):
|
||||||
""" all organization """
|
""" all organization """
|
||||||
|
|
||||||
serializer = self.serializer_class(self.queryset.order_by('-create_date'), many=True)
|
page = self.paginate_queryset(self.queryset.order_by('-create_date')) # paginate queryset
|
||||||
return Response(serializer.data, status=status.HTTP_200_OK)
|
|
||||||
|
if page is not None:
|
||||||
|
serializer = self.serializer_class(page, many=True)
|
||||||
|
return self.get_paginated_response(serializer.data)
|
||||||
|
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
def create(self, request, *args, **kwargs):
|
def create(self, request, *args, **kwargs):
|
||||||
|
|||||||
@@ -125,6 +125,7 @@ class Organization(BaseModel):
|
|||||||
related_name='parents',
|
related_name='parents',
|
||||||
null=True
|
null=True
|
||||||
)
|
)
|
||||||
|
separate_warehouse = models.BooleanField(default=False)
|
||||||
additional_data = models.JSONField(default=dict)
|
additional_data = models.JSONField(default=dict)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
|
|||||||
@@ -230,3 +230,25 @@ class DeviceAssignment(BaseModel):
|
|||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
return super(DeviceAssignment, self).save(*args, **kwargs)
|
return super(DeviceAssignment, self).save(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
class StakeHolders(BaseModel):
|
||||||
|
assignment = models.ForeignKey(
|
||||||
|
DeviceAssignment,
|
||||||
|
on_delete=models.CASCADE,
|
||||||
|
related_name='stake_holders',
|
||||||
|
null=True
|
||||||
|
)
|
||||||
|
organization = models.ForeignKey(
|
||||||
|
Organization,
|
||||||
|
on_delete=models.CASCADE,
|
||||||
|
related_name='stake_holders',
|
||||||
|
null=True
|
||||||
|
)
|
||||||
|
share_percent = models.FloatField(default=0)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return f'Device: {self.assignment.device.serial}-organization: {self.organization.name}'
|
||||||
|
|
||||||
|
def save(self, *args, **kwargs):
|
||||||
|
return super(StakeHolders, self).save(*args, **kwargs)
|
||||||
Reference in New Issue
Block a user