Commit 8883f1ae authored by John Red Medrano's avatar John Red Medrano

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

* commit '3abf6786':
  added download for user, department and company
parents 799952a3 3abf6786
from app.entities import models
from rest_framework import serializers
from django.db.models import Q
class headers(serializers.ModelSerializer):
def to_representation(self, instance):
ret = super().to_representation(instance)
ret['deparment'] = instance.department.name
ret['company'] = instance.department.company.name
return ret
class Meta:
model = models.User
fields = (
'code',
'name',
'email',
'contact_no'
)
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 app.entities.models import (
User
)
# from app.applicationlayer.form_listing_ import headers
from app.applicationlayer.download.accounts.serializers import headers
from django.db.models import CharField, Value
from django.db.models import Q
from rest_framework.response import Response
from rest_framework.permissions import AllowAny
# from cms.applicationlayer.utilities import logged_user
class UserDownloadRequest(XLSXFileMixin, ReadOnlyModelViewSet):
queryset = User.objects.all()
serializer_class = headers
renderer_classes = (XLSXRenderer,)
filename = 'User List.xlsx'
permission_classes = (AllowAny,)
# def list(self, request, *args, **kwargs):
# # id_number = request.user.code
# self.queryset = User.objects.all()
# # 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(self.queryset, many=True)
# # print(serializer.data)
# return Response(serializer.data)
column_header = {
'titles': [
'ID_NUMBER',
'Name',
'Email',
'Contact Number',
'Department',
'Company'
],
'column_width': [17, 30, 17],
'height': 25,
'style': {
'alignment': {
'horizontal': 'center',
'vertical': 'center',
'wrapText': False,
'shrink_to_fit': True,
},
'border_side': {
'border_style': 'thin',
'color': 'FF000000',
},
'font': {
'name': 'Arial',
'size': 14,
'bold': True,
'color': 'FF000000',
},
},
}
from app.entities import models
from rest_framework import serializers
from django.db.models import Q
class headers(serializers.ModelSerializer):
def to_representation(self, instance):
ret = super().to_representation(instance)
ret['modified'] = instance.modified.strftime('%Y-%m-%d-%H:%M:%S')
return ret
class Meta:
model = models.Company
fields = (
'name',
'contact_details'
)
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 app.entities.models import (
Company
)
# from app.applicationlayer.form_listing_ import headers
from app.applicationlayer.download.company.serializers import headers
from django.db.models import CharField, Value
from django.db.models import Q
from rest_framework.response import Response
from rest_framework.permissions import AllowAny
# from cms.applicationlayer.utilities import logged_user
class CompanyDownloadRequest(XLSXFileMixin, ReadOnlyModelViewSet):
queryset = Company.objects.all()
serializer_class = headers
renderer_classes = (XLSXRenderer,)
filename = 'Company List.xlsx'
permission_classes = (AllowAny,)
# def list(self, request, *args, **kwargs):
# id_number = request.user.code
# 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 = {
'titles': [
'Name',
'Contact Details',
'Date Modified'
],
'column_width': [17, 30, 17],
'height': 25,
'style': {
'alignment': {
'horizontal': 'center',
'vertical': 'center',
'wrapText': False,
'shrink_to_fit': True,
},
'border_side': {
'border_style': 'thin',
'color': 'FF000000',
},
'font': {
'name': 'Arial',
'size': 14,
'bold': True,
'color': 'FF000000',
},
},
}
from app.entities import models
from rest_framework import serializers
from django.db.models import Q
class headers(serializers.ModelSerializer):
def to_representation(self, instance):
ret = super().to_representation(instance)
ret['company'] = instance.company.name
return ret
class Meta:
model = models.Department
fields = (
'code',
'name'
)
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 app.entities.models import (
Department
)
# from app.applicationlayer.form_listing_ import headers
from app.applicationlayer.download.department.serializers import headers
from django.db.models import CharField, Value
from django.db.models import Q
from rest_framework.response import Response
from rest_framework.permissions import AllowAny
# from cms.applicationlayer.utilities import logged_user
class DepartmentDownloadRequest(XLSXFileMixin, ReadOnlyModelViewSet):
queryset = Department.objects.all()
serializer_class = headers
renderer_classes = (XLSXRenderer,)
filename = 'Department List.xlsx'
permission_classes = (AllowAny,)
# def list(self, request, *args, **kwargs):
# id_number = request.user.code
# 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 = {
'titles': [
'Code',
'Name',
'Company'
],
'column_width': [17, 30, 17],
'height': 25,
'style': {
'alignment': {
'horizontal': 'center',
'vertical': 'center',
'wrapText': False,
'shrink_to_fit': True,
},
'border_side': {
'border_style': 'thin',
'color': 'FF000000',
},
'font': {
'name': 'Arial',
'size': 14,
'bold': True,
'color': 'FF000000',
},
},
}
......@@ -10,6 +10,10 @@ from app.applicationlayer.management.account.views import UserViewSet
from app.businesslayer.company.views import AdminCompanyViewSet
from app.applicationlayer.management.notification.views import NotificationsViewset
from app.applicationlayer.download.accounts.views import UserDownloadRequest
from app.applicationlayer.download.department.views import DepartmentDownloadRequest
from app.applicationlayer.download.company.views import CompanyDownloadRequest
router = routers.DefaultRouter()
......@@ -19,6 +23,9 @@ router.register(r'departments', DepartmentViewSet)
router.register(r'modules', ModuleViewSet)
router.register(r'users', UserViewSet)
router.register(r'notifications', NotificationsViewset)
router.register(r'user-download', UserDownloadRequest)
router.register(r'department-download', DepartmentDownloadRequest)
router.register(r'company-download', CompanyDownloadRequest)
urlpatterns = (
path('', include(router.urls)),
......
This diff is collapsed.
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