55 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
	
| from django.conf import settings
 | |
| from django.core.cache import cache
 | |
| from django.db.models import Count, Q
 | |
| from django.db.models.query import QuerySet
 | |
| from django.http import request
 | |
| from django.shortcuts import render
 | |
| from django.utils import timezone
 | |
| from rest_framework import status
 | |
| from rest_framework.decorators import action, permission_classes
 | |
| from rest_framework.exceptions import PermissionDenied
 | |
| from rest_framework.mixins import CreateModelMixin, DestroyModelMixin, ListModelMixin, RetrieveModelMixin
 | |
| from rest_framework.permissions import IsAdminUser
 | |
| from rest_framework.response import Response
 | |
| from rest_framework.viewsets import GenericViewSet, ModelViewSet
 | |
| from utils.pagination import PageOrNot
 | |
| 
 | |
| from apps.system.mixins import CreateUpdateCustomMixin, CreateUpdateModelAMixin, OptimizationMixin
 | |
| from apps.system.models import Organization
 | |
| from apps.system.permission import get_permission_list, has_permission
 | |
| from apps.system.permission_data import RbacFilterSet
 | |
| 
 | |
| from .models import *
 | |
| from .serializers import *
 | |
| # Create your views here.
 | |
| class RegulatoryViewSet(OptimizationMixin, PageOrNot, CreateUpdateModelAMixin, ModelViewSet):
 | |
|     perms_map = {'get': '*', 'post': 'regulatory_create',
 | |
|                  'put': 'regulatory_update', 'delete': 'regulatory_delete'}
 | |
|     queryset =  Regulatory.objects.all()
 | |
|     serializer_class = RegulatorySerializer
 | |
|     ordering = ['-id']
 | |
|     search_fields = ['provinces']
 | |
|     ordering_fields = ['provinces']
 | |
|     filterset_fields = ['provinces']
 | |
| class ProfessionalViewSet(OptimizationMixin, PageOrNot, CreateUpdateModelAMixin, ModelViewSet):
 | |
|     perms_map = {'get': '*', 'post': 'professional_create',
 | |
|                  'put': 'professional_update', 'delete': 'professional_delete'}
 | |
|     queryset =  Professional.objects.all()
 | |
|     serializer_class = ProfessionalSerializer
 | |
|     ordering = ['-id']
 | |
| class PolicyViewSet(OptimizationMixin, PageOrNot, CreateUpdateModelAMixin, ModelViewSet):
 | |
|     perms_map = {'get': '*', 'post': 'policy_create',
 | |
|                  'put': 'policy_update', 'delete': 'policy_delete'}
 | |
|     queryset = Policy.objects.all()
 | |
|     serializer_class = PolicySerializer
 | |
|     ordering = ['-id']
 | |
| class ValidationViewSet(OptimizationMixin, PageOrNot, CreateUpdateModelAMixin, ModelViewSet):
 | |
|     perms_map = {'get': '*', 'post': 'validation_create',
 | |
|                  'put': 'policy_update', 'delete': 'validation_delete'}
 | |
|     queryset = Validation.objects.all()
 | |
|     serializer_class = ValidationSerializer
 | |
|     ordering = ['-id']
 | |
|     search_fields = ['provinces']
 | |
|     ordering_fields = ['provinces']
 | |
|     filterset_fields = ['provinces']
 |