Commit 2ff90b33 authored by John Red Medrano's avatar John Red Medrano

Merge pull request #201 in RMS/api-main-service from red-develop to RMSv2

* commit '92a2302c':
  move download folder to form folder
  added new endpoint for download list of form
parents 2a6d12cf 92a2302c
from cms.entities import models
from rest_framework_mongoengine import serializers
from app.entities import models
from rest_framework import serializers
class headers(serializers.DocumentSerializer):
class headers(serializers.ModelSerializer):
def to_representation(self, instance):
setattr(instance, 'action', 'wew')
setattr(
instance, 'created', instance.created.strftime('%Y-%m-%d-%H:%M:%S')
)
setattr(
instance, 'requested_to_target_date',
instance.requested_to_target_date.strftime('%Y-%m-%d-%H:%M:%S')
)
return super().to_representation(instance)
class Meta:
......
from rest_framework_mongoengine import viewsets as meviewsets
from rest_framework_mongoengine.viewsets import ReadOnlyModelViewSet
from rest_framework import viewsets as meviewsets
from rest_framework.viewsets import ReadOnlyModelViewSet
from drf_renderer_xlsx.mixins import XLSXFileMixin
from drf_renderer_xlsx.renderers import XLSXRenderer
from cms.entities.models import (
from app.entities.models import (
ChangeRequestFormHeader,
ChangeRequestFormApprovers,
ChangeRequestFormStakeHolders
)
from cms.applicationlayer.download.change_request_download import headers
# from app.applicationlayer.form_listing_ import headers
from app.applicationlayer.cms.form.download.serializers import headers
from django.db.models import CharField, Value
from mongoengine.queryset.visitor import Q
from django.db.models import Q
from rest_framework.response import Response
from cms.applicationlayer.utilities import logged_user
from rest_framework.permissions import AllowAny
# from cms.applicationlayer.utilities import logged_user
class DownloadRequest(XLSXFileMixin, ReadOnlyModelViewSet):
......@@ -19,41 +21,51 @@ class DownloadRequest(XLSXFileMixin, ReadOnlyModelViewSet):
serializer_class = headers
renderer_classes = (XLSXRenderer,)
filename = 'Change Request Form.xlsx'
permission_classes = (AllowAny,)
def list(self, request, *args, **kwargs):
# id_number = self.request.META.get('HTTP_ACCOUNT_NO')
id_number = 'USER-20190923-0000001'
# print(request.user.code)
# id_number = request.user.code
# id_number = self.request.query_params.get('id_number')
approver = ChangeRequestFormApprovers.objects.filter(
Q(user=id_number) &
Q(deleted_at=None)
)
approver = [data['form_code'] for data in approver]
stake = ChangeRequestFormStakeHolders.objects.filter(
Q(user=id_number) &
Q(deleted_at=None)
)
stake = [data['form_code'] for data in stake]
headers = ChangeRequestFormHeader.objects.filter(
deleted_at=None,
requested_by_user=id_number
)
headers = [data['form_code'] for data in headers]
form_code = stake + approver + headers
self.queryset = ChangeRequestFormHeader.objects.filter(
form_code__in=form_code,
deleted_at=None,
)
exclude = self.queryset.filter(
status='DRAFT',
requested_by_user__ne=id_number
)
exclude = [data['form_code'] for data in exclude]
self.queryset = self.queryset.filter(
form_code__nin=exclude
)
serializer = self.get_serializer(self.queryset, many=True)
# approver = ChangeRequestFormApprovers.objects.filter(
# Q(user=id_number) &
# Q(deleted_at=None)
# )
# approver = [data['form_code'] for data in approver]
# stake = ChangeRequestFormStakeHolders.objects.filter(
# Q(user=id_number) &
# Q(deleted_at=None)
# )
# stake = [data['form_code'] for data in stake]
data = ChangeRequestFormHeader.objects.filter(
Q(frm_approvers__user__code=id_number) |
Q(requested_by_user=id_number) |
Q(frm_stakes__user__code=id_number)
).distinct()
# print(headers)
# print(headers)
# headers = [data['form_code'] for data in headers]
# form_code = stake + approver + headers
# self.queryset = ChangeRequestFormHeader.objects.filter(
# form_code__in=form_code,
# deleted_at=None,
# )
# exclude = self.queryset.filter(
# status='DRAFT',
# requested_by_user__ne=id_number
# )
# exclude = [data['form_code'] for data in exclude]
# self.queryset = headers
# print(data)
serializer = self.get_serializer(data, many=True)
# print(serializer.data)
return Response(serializer.data)
column_header = {
......
......@@ -18,7 +18,6 @@ class ChangeRequestTemplateHeaderMaster(viewsets.ModelViewSet):
department = request.query_params['department_code']
# queryset = self.filter_queryset(self.get_queryset())
permit = AllowedCompany.objects.filter(
group_pivots=department
).count()
......@@ -29,11 +28,6 @@ class ChangeRequestTemplateHeaderMaster(viewsets.ModelViewSet):
created_by_department=department
).order_by('requested_to_template_name')
# queryset = queryset.filter
# self.serializer_class = ChangeRequestTemplatesSerializerList
page = self.paginate_queryset(queryset)
if page is not None:
......
from django.urls import path, include
from rest_framework import routers
from django.conf.urls import url
from rest_framework.urlpatterns import format_suffix_patterns
from app.applicationlayer.management.notification.views import NotificationsViewset
......@@ -31,6 +32,8 @@ from app.applicationlayer.cms.form.details import views as detailsform
from app.applicationlayer.cms.form.attachment import views as attachmentform
# FORM
from app.applicationlayer.cms.form.download import views as dl
router = routers.DefaultRouter()
router.register(r'notifications', NotificationsViewset)
......@@ -47,6 +50,8 @@ router.register(r'form-stakeholders', stakeholderform.ChangeRequestFormStakeHold
router.register(r'form-attachments', attachmentform.ChangeRequestFormAttachmentsViewset)
router.register(r'form-details', detailsform.ChangeRequestFormDetailsViewset)
router.register(r'form-download', dl.DownloadRequest)
# privilege CMS
router.register(r'allowed-companies', allowed.AllowedCompanyViewSet)
# privilege CMS
......@@ -58,11 +63,14 @@ router.register(r'allowed-templates', ChangeRequestTemplateHeaderMaster)
# filter endpoints under Allowed Companies table
urlpatterns = (
urlpatterns = [
path('', include(router.urls)),
path('template-post/', header.ChangeRequestTemplatePost.as_view()),
path('form-post/', headerform.ChangeRequestFormPost.as_view()),
# filter endpoints under Allowed Companies table
path('user-list/', UserList.as_view(), name="User List"),
# filter endpoints under Allowed Companies table
)
]
# urlpatterns += format_suffix_patterns(urlpatterns)
# urlpatterns += router.urls
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