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):
|
||||
""" all organization """
|
||||
|
||||
serializer = self.serializer_class(self.queryset.order_by('-create_date'), many=True)
|
||||
return Response(serializer.data, status=status.HTTP_200_OK)
|
||||
page = self.paginate_queryset(self.queryset.order_by('-create_date')) # paginate queryset
|
||||
|
||||
if page is not None:
|
||||
serializer = self.serializer_class(page, many=True)
|
||||
return self.get_paginated_response(serializer.data)
|
||||
|
||||
@transaction.atomic
|
||||
def create(self, request, *args, **kwargs):
|
||||
|
||||
@@ -125,6 +125,7 @@ class Organization(BaseModel):
|
||||
related_name='parents',
|
||||
null=True
|
||||
)
|
||||
separate_warehouse = models.BooleanField(default=False)
|
||||
additional_data = models.JSONField(default=dict)
|
||||
|
||||
def __str__(self):
|
||||
|
||||
@@ -230,3 +230,25 @@ class DeviceAssignment(BaseModel):
|
||||
|
||||
def save(self, *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