Commit 1f4cc192 authored by Gladys Forte's avatar Gladys Forte

Merge branch 'prod-dev-gladys' into 'feature/RMS.v2.1-AMS'

{devbugfix} update on ams url naming convention

See merge request rms/Backend/api-main-service!1014
parents 2c581230 739f8644
......@@ -16,6 +16,7 @@ from app.applicationlayer.utils import model_to_dict
from django.db import IntegrityError
from django.db.models import Q
from app.helper.decorators import AssetStockValidation
from django.db.models import Count
class AMSAssetStockViewSet(viewsets.ModelViewSet):
......@@ -61,6 +62,86 @@ class AMSAssetStockViewSet(viewsets.ModelViewSet):
status=status.HTTP_200_OK
)
@action(detail=False,
methods=['get'],
url_path='dashboard',
name="Dashboard Summary")
def dashboard_asset(self, request):
in_store = self.queryset.filter(
status__iexact='In-Store'
).count()
deployed = self.queryset.filter(
status__iexact='Deployed'
).count()
returned = self.queryset.filter(
status__iexact='Returned'
).count()
written_off = self.queryset.filter(
status__iexact='Written Off'
).count()
faulty = self.queryset.filter(
status__iexact='Faulty'
).count()
in_qty = self.queryset.filter(
status__iexact='In-Store'
).count()
out_qty = self.queryset.filter(
status__iexact='Deployed'
).count()
unavailable = self.queryset.filter(
status__iexact=['Faulty', 'Returned', 'Written Off']
).count()
# x = self.queryset.values('asset_group').distinct()
# print(x)
# SELECT
# device,
# merchant,
# count(*)
# FROM
# sale
# GROUP BY
# CUBE(merchant, device)
# distinct = self.queryset.annotate(
# name_count=Count('asset_group')
# ).distinct()
# print(distinct)
# records = User.objects.filter(first_name__in=[item['first_name'] for item in distinct])
# (User.objects
# .values('is_active')
# .annotate(total=Count('id')))
message = {
'in_store': in_store,
'deployed': deployed,
'returned': returned,
'written_off': written_off,
'faulty': faulty,
'in_qty': in_qty,
'out_qty': out_qty,
'unavailable': unavailable,
'code': 200,
'status': 'success',
'message': 'Dashboard Summary'
}
return Response(message, status=status.HTTP_200_OK)
@AssetStockValidation
@transaction.atomic
def update(self, request, *args, **kwargs):
......
......@@ -17,8 +17,8 @@ router = routers.DefaultRouter()
router.register(r'asset-group', assetgroup.AssetGroupViewset)
router.register(r'asset-type', assettype.AssetTypeViewset)
router.register(r'ams-privilege', amsprivilege.AMSPrivilegeViewSet)
router.register(r'assets', AMSAssetViewSet)
router.register(r'assets-stock-list', AMSAssetStockViewSet)
router.register(r'asset', AMSAssetViewSet)
router.register(r'asset-stock', AMSAssetStockViewSet)
router.register(r'report-type', AMSReportTypeViewset)
router.register(r'report', AMSReportViewset)
......
......@@ -111,7 +111,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
"requested_to_user__name", "requested_to_template_name",
"requested_to_objective", "requested_to_priority", "description"
)
# comment
def list(self, request, *args, **kwargs):
self.serializer_class = ChangeRequestFormHeaderSerializerList
......
......@@ -3874,13 +3874,13 @@
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/assets/",
"raw": "{{baseurl}}/asset-management/asset/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"assets",
"asset",
""
]
}
......@@ -3893,13 +3893,13 @@
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/assets/archived/",
"raw": "{{baseurl}}/asset-management/asset/archived/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"assets",
"asset",
"archived",
""
]
......@@ -3913,13 +3913,13 @@
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/assets/ASST-20200319-0000006/",
"raw": "{{baseurl}}/asset-management/asset/ASST-20200319-0000006/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"assets",
"asset",
"ASST-20200319-0000006",
""
]
......@@ -3933,13 +3933,13 @@
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/assets/ASST-20200319-0000006/stock-list/",
"raw": "{{baseurl}}/asset-management/asset/ASST-20200319-0000006/stock-list/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"assets",
"asset",
"ASST-20200319-0000006",
"stock-list",
""
......@@ -3959,13 +3959,13 @@
"raw": ""
},
"url": {
"raw": "{{baseurl}}/asset-management/assets/ASST-20200318-0000005/",
"raw": "{{baseurl}}/asset-management/asset/ASST-20200318-0000005/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"assets",
"asset",
"ASST-20200318-0000005",
""
]
......@@ -3983,13 +3983,13 @@
"raw": ""
},
"url": {
"raw": "{{baseurl}}/asset-management/assets/ASST-20200318-0000005/restore/",
"raw": "{{baseurl}}/asset-management/asset/ASST-20200318-0000005/restore/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"assets",
"asset",
"ASST-20200318-0000005",
"restore",
""
......@@ -4015,13 +4015,13 @@
"raw": "{\n\t\"name\": \"g1a\",\n\t\"asset_type\": \"ASSTTYPE-20200318-0000003\"\n\t\n}"
},
"url": {
"raw": "{{baseurl}}/asset-management/assets/",
"raw": "{{baseurl}}/asset-management/asset/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"assets",
"asset",
""
]
}
......@@ -4045,13 +4045,13 @@
"raw": "{\n\t\"name\": \"update\",\n\t\"asset_type\": \"ASSTTYPE-20200318-0000003\"\n\t\n}\t"
},
"url": {
"raw": "{{baseurl}}/asset-management/assets/ASST-20200319-0000006/",
"raw": "{{baseurl}}/asset-management/asset/ASST-20200319-0000006/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"assets",
"asset",
"ASST-20200319-0000006",
""
]
......@@ -4064,7 +4064,7 @@
"_postman_isSubFolder": true
},
{
"name": "Asset Stock List",
"name": "Asset Stock",
"item": [
{
"name": "List of Asset Stock",
......@@ -4072,13 +4072,13 @@
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/assets-stock-list/",
"raw": "{{baseurl}}/asset-management/asset-stock/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"assets-stock-list",
"asset-stock",
""
]
}
......@@ -4091,13 +4091,13 @@
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/assets-stock-list/archived/",
"raw": "{{baseurl}}/asset-management/asset-stock/archived/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"assets-stock-list",
"asset-stock",
"archived",
""
]
......@@ -4111,13 +4111,13 @@
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/assets-stock-list/ASSTSTOCK-20200319-0000008/",
"raw": "{{baseurl}}/asset-management/asset-stock/ASSTSTOCK-20200319-0000008/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"assets-stock-list",
"asset-stock",
"ASSTSTOCK-20200319-0000008",
""
]
......@@ -4135,13 +4135,13 @@
"raw": ""
},
"url": {
"raw": "{{baseurl}}/asset-management/assets-stock-list/ASSTSTOCK-20200319-0000005/",
"raw": "{{baseurl}}/asset-management/asset-stock/ASSTSTOCK-20200319-0000005/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"assets-stock-list",
"asset-stock",
"ASSTSTOCK-20200319-0000005",
""
]
......@@ -4159,13 +4159,13 @@
"raw": ""
},
"url": {
"raw": "{{baseurl}}/asset-management/assets-stock-list/ASSTSTOCK-20200319-0000005/restore/",
"raw": "{{baseurl}}/asset-management/asset-stock/ASSTSTOCK-20200319-0000005/restore/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"assets-stock-list",
"asset-stock",
"ASSTSTOCK-20200319-0000005",
"restore",
""
......@@ -4191,13 +4191,13 @@
"raw": "{\n\t\"asset_type\": \"ASSTTYPE-20200317-0000001\",\n\t\"unique_identifier\": \"ph\",\n\t\"status\": \"In-Store\",\n\t\"acquisition_type\": \"Owned\",\n\t\"location\" : \"Country Space\",\n\t\"user_client\": \"USER-20190923-0000001\",\n\t\"manager\": \"USER-20190923-0000001\",\n\t\"dynamic_field\": \"\",\n\t\"asset\": \"ASST-20200319-0000006\",\n\t\"asset_group\": \"ASSTGRP-20200319-0000002\"\n\t\n\t\n}\n"
},
"url": {
"raw": "{{baseurl}}/asset-management/assets-stock-list/ASSTSTOCK-20200319-0000008/",
"raw": "{{baseurl}}/asset-management/asset-stock/ASSTSTOCK-20200319-0000008/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"assets-stock-list",
"asset-stock",
"ASSTSTOCK-20200319-0000008",
""
]
......@@ -4222,18 +4222,59 @@
"raw": "{\n\t\"asset_type\": \"ASSTTYPE-20200317-0000001\",\n\t\"unique_identifier\": \"ph-002112\",\n\t\"status\": \"In-Store\",\n\t\"acquisition_type\": \"Owned\",\n\t\"location\" : \"Country Space\",\n\t\"user_client\": \"USER-20190923-0000001\",\n\t\"manager\": \"USER-20190923-0000001\",\n\t\"dynamic_field\": \"\",\n\t\"asset\": \"ASST-20200319-0000006\",\n\t\"asset_group\": \"ASSTGRP-20200319-0000002\"\n\t\n\t\n}\n"
},
"url": {
"raw": "{{baseurl}}/asset-management/assets-stock-list/",
"raw": "{{baseurl}}/asset-management/asset-stock/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"assets-stock-list",
"asset-stock",
""
]
}
},
"response": []
},
{
"name": "Dashboard",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/asset-stock/dashboard",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-stock",
"dashboard"
]
}
},
"response": []
}
],
"event": [
{
"listen": "prerequest",
"script": {
"id": "288599a1-e537-45fe-ab0b-6af0b6abe0b0",
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"id": "3f03e962-e3bc-4194-a78d-16f9859cc02a",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"protocolProfileBehavior": {},
......@@ -4734,7 +4775,7 @@
"bearer": [
{
"key": "token",
"value": "8051147751dc47dca817bcb619b9092466aa96d7",
"value": "ea1e1826304c647673d57c3e0bc89738bc89c0ac",
"type": "string"
}
]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment