diff --git a/FusionIIIT/applications/hr2/api/serializers.py b/FusionIIIT/applications/hr2/api/serializers.py new file mode 100644 index 000000000..e318fc7ff --- /dev/null +++ b/FusionIIIT/applications/hr2/api/serializers.py @@ -0,0 +1,43 @@ +from applications.hr2.models import models, Employee, EmpConfidentialDetails, EmpDependents, WorkAssignemnt, EmpAppraisalForm, ForeignService +from rest_framework import serializers + +class EmployeeSerializer(serializers.ModelSerializer): + class Meta: + model = Employee + fields = ( 'extra_info' , + 'father_name' , + 'mother_name' , + 'religion', + 'category', + 'cast' , + 'home_district', + 'date_of_joining', + 'designation', + 'blood_group' + ) + +class EmpConfidentialDetailsSerializer(serializers.ModelSerializer): + class Meta: + model = EmpConfidentialDetails + fields=('__all__') + +class EmpDependentsSerializer(serializers.ModelSerializer): + class Meta: + model = EmpDependents + fields=('__all__') + +class ForeignServiceSerializer(serializers.ModelSerializer): + class Meta: + model = ForeignService + fields=('__all__') + +class EmpAppraisalFormSerializer(serializers.ModelSerializer): + class Meta: + model = EmpAppraisalForm + fields=('__all__') + +class WorkAssignemntSerializer(serializers.ModelSerializer): + class Meta: + model = WorkAssignemnt + fields=('__all__') + diff --git a/FusionIIIT/applications/hr2/api/urls.py b/FusionIIIT/applications/hr2/api/urls.py new file mode 100644 index 000000000..93333dfe9 --- /dev/null +++ b/FusionIIIT/applications/hr2/api/urls.py @@ -0,0 +1,13 @@ +from django.conf.urls import url +from . import views + +urlpatterns = [ + + url(r'employee_details/$', views.employee_details_api,name='employee_details_api'), + url(r'emp_confidential_details/$', views.emp_confidential_details_api,name='emp_confidential_details_api'), + url(r'emp_dependents/$', views.emp_dependents_api,name='emp_dependents_api'), + url(r'foreign_service/$', views.foreign_service_api,name='foreign_service_api'), + url(r'emp_appraisal_form/$', views.emp_appraisal_form_api,name='emp_appraisal_form_api'), + url(r'work_assignment/$', views.work_assignment_api,name='work_assignment_api'), +] + \ No newline at end of file diff --git a/FusionIIIT/applications/hr2/api/views.py b/FusionIIIT/applications/hr2/api/views.py new file mode 100644 index 000000000..179a5bb62 --- /dev/null +++ b/FusionIIIT/applications/hr2/api/views.py @@ -0,0 +1,134 @@ +from django.contrib.auth import get_user_model +from django.contrib.auth.decorators import login_required +from django.shortcuts import get_object_or_404 +from django.forms.models import model_to_dict +from rest_framework.permissions import * +from rest_framework.authentication import * +from rest_framework import status +from rest_framework.decorators import api_view, permission_classes,authentication_classes +from rest_framework.permissions import AllowAny +from rest_framework.response import Response +from . import serializers +from applications.hr2.models import * + + +@api_view(['GET','POST']) +@permission_classes([IsAuthenticated]) +@authentication_classes([TokenAuthentication]) +@login_required +def employee_details_api(request,*args,**kwargs): + if request.method == 'GET': + employee_details = Employee.objects.all() + employee_details = serializers.EmployeeSerializer(employee_details,many=True).data + resp = { + 'employee_details' : employee_details, + } + return Response(data=resp,status=status.HTTP_200_OK) + + elif request.method == 'POST': + serializer = serializers.EmployeeSerializer(data=request.data) + if serializer.is_valid(): + serializer.save() + return Response(serializer.data, status=status.HTTP_201_CREATED) + return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) + + +@api_view(['GET','POST']) +@permission_classes([IsAuthenticated]) +@authentication_classes([TokenAuthentication]) +@login_required +def emp_confidential_details_api(request,*args,**kwargs): + if request.method == 'GET': + emp_confidential_details = EmpConfidentialDetails.objects.all() + emp_confidential_details = serializers.EmpConfidentialDetailsSerializer(emp_confidential_details,many=True).data + resp = { + 'emp_confidential_details' : emp_confidential_details, + } + return Response(data=resp,status=status.HTTP_200_OK) + + elif request.method == 'POST': + serializer = serializers.EmpConfidentialDetailsSerializer(data=request.data) + if serializer.is_valid(): + serializer.save() + return Response(serializer.data, status=status.HTTP_201_CREATED) + return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) + +@api_view(['GET','POST']) +@permission_classes([IsAuthenticated]) +@authentication_classes([TokenAuthentication]) +@login_required +def emp_dependents_api(request,*args,**kwargs): + if request.method == 'GET': + emp_dependents_details = EmpDependents.objects.all() + emp_dependents_details = serializers.EmpDependentsSerializer(emp_dependents_details,many=True).data + resp = { + 'emp_dependents_details' : emp_dependents_details, + } + return Response(data=resp,status=status.HTTP_200_OK) + + elif request.method == 'POST': + serializer = serializers.EmpDependentsSerializer(data=request.data) + if serializer.is_valid(): + serializer.save() + return Response(serializer.data, status=status.HTTP_201_CREATED) + return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) + +@api_view(['GET','POST']) +@permission_classes([IsAuthenticated]) +@authentication_classes([TokenAuthentication]) +@login_required +def foreign_service_api(request,*args,**kwargs): + if request.method == 'GET': + foreign_service_details = ForeignService.objects.all() + foreign_service_details = serializers.ForeignServiceSerializer(foreign_service_details,many=True).data + resp = { + 'foreign_service_details' : foreign_service_details, + } + return Response(data=resp,status=status.HTTP_200_OK) + + elif request.method == 'POST': + serializer = serializers.ForeignServiceSerializer(data=request.data) + if serializer.is_valid(): + serializer.save() + return Response(serializer.data, status=status.HTTP_201_CREATED) + return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) + +@api_view(['GET','POST']) +@permission_classes([IsAuthenticated]) +@authentication_classes([TokenAuthentication]) +@login_required +def emp_appraisal_form_api(request,*args,**kwargs): + if request.method == 'GET': + emp_appraisal_form_details = ForeignService.objects.all() + emp_appraisal_form_details = serializers.EmpAppraisalFormSerializer(emp_appraisal_form_details,many=True).data + resp = { + 'emp_appraisal_form_details' : emp_appraisal_form_details, + } + return Response(data=resp,status=status.HTTP_200_OK) + + elif request.method == 'POST': + serializer = serializers.EmpAppraisalFormSerializer(data=request.data) + if serializer.is_valid(): + serializer.save() + return Response(serializer.data, status=status.HTTP_201_CREATED) + return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) + +@api_view(['GET','POST']) +@permission_classes([IsAuthenticated]) +@authentication_classes([TokenAuthentication]) +@login_required +def work_assignment_api(request,*args,**kwargs): + if request.method == 'GET': + work_assignment_details = ForeignService.objects.all() + work_assignment_details = serializers.WorkAssignemntSerializer(work_assignment_details,many=True).data + resp = { + 'work_assignment_details' : work_assignment_details, + } + return Response(data=resp,status=status.HTTP_200_OK) + + elif request.method == 'POST': + serializer = serializers.WorkAssignemntSerializer(data=request.data) + if serializer.is_valid(): + serializer.save() + return Response(serializer.data, status=status.HTTP_201_CREATED) + return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) diff --git a/FusionIIIT/applications/hr2/serializers.py b/FusionIIIT/applications/hr2/serializers.py new file mode 100644 index 000000000..39c7930c3 --- /dev/null +++ b/FusionIIIT/applications/hr2/serializers.py @@ -0,0 +1,19 @@ +from . import models +from models import employee +from rest_framework import serializers + +class EmployeeSerializer(serializers.ModelSerializer): + class Meta: + model = employee + fields = ( 'extra_info' , + 'father_name' , + 'mother_name' , + 'religion', + 'category', + 'cast' , + 'home_district', + 'date_of_joining', + 'designation', + 'blood_group' + ) + diff --git a/FusionIIIT/applications/hr2/urls.py b/FusionIIIT/applications/hr2/urls.py index 56918efb7..a3089e305 100644 --- a/FusionIIIT/applications/hr2/urls.py +++ b/FusionIIIT/applications/hr2/urls.py @@ -1,5 +1,4 @@ -from django.conf.urls import url - +from django.conf.urls import url,include from . import views app_name = 'hr2' @@ -17,5 +16,5 @@ url(r'^administrativeProfile/$', views.administrative_profile, name='administrativeProfile'), url(r'^addnew/$', views.add_new_user, name='addnew'), - -] + url(r'^api/',include('applications.hr2.api.urls')), +] \ No newline at end of file diff --git a/FusionIIIT/templates/hr2Module/service_main.html b/FusionIIIT/templates/hr2Module/service_main.html index 1fc3e3972..7059c76e9 100644 --- a/FusionIIIT/templates/hr2Module/service_main.html +++ b/FusionIIIT/templates/hr2Module/service_main.html @@ -726,8 +726,8 @@
| Personal Details:- | - +Personal Details:- | +
|---|