Commit 3abf6786 authored by John Red Medrano's avatar John Red Medrano

added download for user, department and company

parent e4af0ac4
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 ...@@ -10,6 +10,10 @@ from app.applicationlayer.management.account.views import UserViewSet
from app.businesslayer.company.views import AdminCompanyViewSet from app.businesslayer.company.views import AdminCompanyViewSet
from app.applicationlayer.management.notification.views import NotificationsViewset 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() router = routers.DefaultRouter()
...@@ -19,6 +23,9 @@ router.register(r'departments', DepartmentViewSet) ...@@ -19,6 +23,9 @@ router.register(r'departments', DepartmentViewSet)
router.register(r'modules', ModuleViewSet) router.register(r'modules', ModuleViewSet)
router.register(r'users', UserViewSet) router.register(r'users', UserViewSet)
router.register(r'notifications', NotificationsViewset) router.register(r'notifications', NotificationsViewset)
router.register(r'user-download', UserDownloadRequest)
router.register(r'department-download', DepartmentDownloadRequest)
router.register(r'company-download', CompanyDownloadRequest)
urlpatterns = ( urlpatterns = (
path('', include(router.urls)), 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