from django.shortcuts import render from rest_framework.generics import ListAPIView from rest_framework.viewsets import ModelViewSet from rest_framework.response import Response from rest_framework import status from .models import * from .serializers import * from apps.system.permission_data import RbacFilterSet from apps.system.mixins import CreateUpdateCustomMixin, OptimizationMixin # Create your views here. class TeamMemberView(ListAPIView): perms_map = {'get': '*'} queryset = Employee.objects.all() serializer_class = TeamMemberSerializer filterset_fields = ['is_onjob', 'is_fulltime', 'user__dept'] search_fields = ['code', 'remember_code', 'user__name', 'fields', 'ability_employee__major__code', 'ability_employee__major_rule__code'] ordering = ['-pk'] class EmployeeViewSet(CreateUpdateCustomMixin, OptimizationMixin, ModelViewSet): """ 详细信息-增删改查 """ perms_map = {'get': '*', 'put': 'employee_update', 'delete': 'employee_delete'} queryset = Employee.objects.all() serializer_class = EmployeeSerializer search_fields = ['code', 'remember_code', 'user__name', 'fields'] filterset_fields = ['is_onjob', 'is_fulltime', 'user__dept'] ordering = ['-pk'] class QualificationViewSet(CreateUpdateCustomMixin, OptimizationMixin, ModelViewSet): """ 注册资格-增删改查 """ perms_map = {'get': '*', 'post': 'qucalification_create', 'put': 'qucalification_update', 'delete': 'qucalification_delete'} queryset = Qualification.objects.all() serializer_class = QualificationSerializer search_fields = ['cert_number', 'auditor_type__name'] filterset_fields = ['auditor_type', 'cert_field', 'is_enabled', 'employee'] ordering = ['-create_time'] class AbilityViewSet(CreateUpdateCustomMixin, OptimizationMixin, ModelViewSet): """ 专业能力-增删改查 """ perms_map = {'get': '*', 'post': 'ability_create', 'put': 'ability_update', 'delete': 'ability_delete'} queryset = Ability.objects.all() serializer_class = AbilitySerializer search_fields = ['major__code', 'major_rule__code'] filterset_fields = ['major', 'major_rule', 'auditor_abilitys', 'afrom', 'employee'] ordering = ['-create_time'] class EducationViewSet(CreateUpdateCustomMixin, OptimizationMixin, ModelViewSet): """ 教育经历-增删改查 """ perms_map = {'get': '*', 'post': 'education_create', 'put': 'education_update', 'delete': 'education_delete'} queryset = Education.objects.all() serializer_class = EducationSerializer search_fields = ['school', 'major', 'employee__name'] filterset_fields = ['level', 'employee'] ordering = ['level__sort'] class TrainViewSet(CreateUpdateCustomMixin, OptimizationMixin, ModelViewSet): """ 培训记录-增删改查 """ perms_map = {'get': '*', 'post': 'train_create', 'put': 'train_update', 'delete': 'train_delete'} queryset = Train.objects.all() serializer_class = TrainSerializer search_fields = ['name', 'content'] ordering = ['-create_time']