Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Generated by Django 3.1.5 on 2024-11-16 03:03

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('central_mess', '0003_merge_20241110_1253'),
('central_mess', '0004_merge_20241115_1610'),
]

operations = [
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Generated by Django 3.1.5 on 2024-11-16 03:06

import datetime
from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('central_mess', '0005_merge_20241116_0303'),
]

operations = [
migrations.AlterField(
model_name='payments',
name='payment_date',
field=models.DateField(default=datetime.date.today),
),
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Generated by Django 3.1.5 on 2024-11-16 03:03

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('globals', '0005_auto_20241115_1710'),
('globals', '0004_merge_20241115_1610'),
]

operations = [
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Generated by Django 3.1.5 on 2024-11-16 03:03

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('online_cms', '0003_merge_20241110_1253'),
('online_cms', '0004_merge_20241115_1509'),
]

operations = [
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Generated by Django 3.1.5 on 2024-11-16 03:03

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('research_procedures', '0003_merge_20241110_1253'),
('research_procedures', '0003_merge_20241115_1509'),
]

operations = [
]
96 changes: 11 additions & 85 deletions FusionIIIT/applications/scholarships/api/serializers.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@
from rest_framework import serializers
from applications.academic_information.models import Student
from applications.globals.models import ExtraInfo
from applications.scholarships.models import Award_and_scholarship,Previous_winner,Mcm,Director_silver,Director_gold,Notional_prize,Proficiency_dm
from applications.scholarships.models import Award_and_scholarship,Previous_winner,Mcm,Director_silver,Director_gold,Notional_prize,Proficiency_dm,Release



class ReleaseSerializer(serializers.ModelSerializer):
class Meta:
model = Release
fields = '__all__'



# This serializer is used for editing the catalog by convenor and assistant
class AwardAndScholarshipSerializer(serializers.ModelSerializer):
Expand All @@ -10,6 +19,7 @@ class Meta:
fields = '_all_'


# this serializer is used for showing data on catalog form
class AwardAndScholarshipSerializer(serializers.ModelSerializer):
class Meta:
model = Award_and_scholarship
Expand Down Expand Up @@ -50,87 +60,3 @@ class Meta:





# class McmSerializer(serializers.ModelSerializer):
# class Meta:
# model = Mcm
# fields = [
# 'brother_name', 'brother_occupation', 'sister_name', 'sister_occupation',
# 'income_father', 'income_mother', 'income_other', 'father_occ', 'mother_occ',
# 'father_occ_desc', 'mother_occ_desc', 'four_wheeler', 'four_wheeler_desc',
# 'two_wheeler', 'two_wheeler_desc', 'house', 'plot_area', 'constructed_area',
# 'school_fee', 'school_name', 'bank_name', 'loan_amount', 'college_fee',
# 'college_name', 'income_certificate', 'forms', 'status', 'student',
# 'annual_income', 'date', 'award_id'
# ]


# class NotionalPrizeSerializer(serializers.ModelSerializer):
# class Meta:
# model = Notional_prize
# fields = ['spi', 'cpi', 'year', 'award_id']


# class ReleaseSerializer(serializers.ModelSerializer):
# class Meta:
# model = Release
# fields = [
# 'date_time', 'programme', 'startdate', 'enddate', 'award',
# 'remarks', 'batch', 'notif_visible'
# ]

# class NotificationSerializer(serializers.ModelSerializer):
# class Meta:
# model = Notification
# fields = [
# 'release_id', 'student_id', 'notification_mcm_flag',
# 'notification_convocation_flag', 'invite_mcm_accept_flag',
# 'invite_convocation_accept_flag'
# ]

# class ApplicationSerializer(serializers.ModelSerializer):
# class Meta:
# model = Application
# fields = ['application_id', 'student_id', 'applied_flag', 'award']


# class DirectorSilverSerializer(serializers.ModelSerializer):
# class Meta:
# model = Director_silver
# fields = [
# 'nearest_policestation', 'nearest_railwaystation', 'correspondence_address',
# 'student', 'award_id', 'award_type', 'status', 'relevant_document', 'date',
# 'financial_assistance', 'grand_total', 'inside_achievements', 'justification',
# 'outside_achievements'
# ]



# class ProficiencyDmSerializer(serializers.ModelSerializer):
# class Meta:
# model = Proficiency_dm
# fields = [
# 'relevant_document', 'title_name', 'student', 'award_id', 'award_type',
# 'status', 'nearest_policestation', 'nearest_railwaystation',
# 'correspondence_address', 'no_of_students', 'date', 'roll_no1', 'roll_no2',
# 'roll_no3', 'roll_no4', 'roll_no5', 'financial_assistance',
# 'brief_description', 'justification', 'grand_total', 'ece_topic', 'cse_topic',
# 'mech_topic', 'design_topic', 'ece_percentage', 'cse_percentage',
# 'mech_percentage', 'design_percentage'
# ]


# class DirectorGoldSerializer(serializers.ModelSerializer):
# class Meta:
# model = Director_gold
# fields = [
# 'student', 'status', 'correspondence_address', 'nearest_policestation',
# 'nearest_railwaystation', 'relevant_document', 'date', 'award_id',
# 'financial_assistance', 'academic_achievements', 'science_inside',
# 'science_outside', 'games_inside', 'games_outside', 'cultural_inside',
# 'cultural_outside', 'social', 'corporate', 'hall_activities',
# 'gymkhana_activities', 'institute_activities', 'counselling_activities',
# 'other_activities', 'justification', 'grand_total'
# ]

70 changes: 68 additions & 2 deletions FusionIIIT/applications/scholarships/api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,21 @@
from rest_framework.response import Response
from rest_framework.decorators import api_view
from rest_framework import status
from applications.scholarships.models import Previous_winner, Award_and_scholarship,Mcm,Director_gold,Notional_prize,Director_silver,Proficiency_dm
from applications.scholarships.models import Previous_winner, Award_and_scholarship,Mcm,Director_gold,Notional_prize,Director_silver,Proficiency_dm,Release
from applications.academic_information.models import Spi, Student
from applications.globals.models import (Designation, ExtraInfo,
HoldsDesignation)
from rest_framework import viewsets
from applications.scholarships.api.serializers import PreviousWinnerSerializer,AwardAndScholarshipSerializer,McmSerializer,NotionalPrizeSerializer,DirectorGoldSerializer,DirectorSilverSerializer,ProficiencyDmSerializer
from applications.scholarships.api.serializers import PreviousWinnerSerializer,AwardAndScholarshipSerializer,McmSerializer,NotionalPrizeSerializer,DirectorGoldSerializer,DirectorSilverSerializer,ProficiencyDmSerializer,ReleaseSerializer


class ReleaseCreateView(APIView):
def post(self, request):
serializer = ReleaseSerializer(data=request.data)
if serializer.is_valid():
serializer.save() # Save the data to the database
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)



Expand Down Expand Up @@ -77,6 +86,7 @@ def post(self, request, *args, **kwargs):

else:
return Response({'result': 'Failure', 'error': 'No winners found'}, status=status.HTTP_404_NOT_FOUND)

class McmUpdateView(APIView):
def post(self, request):
serializer = McmSerializer(data=request.data)
Expand All @@ -85,6 +95,7 @@ def post(self, request):
return Response(McmSerializer(mcm_instance).data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)


class McmRetrieveView(APIView):
def post(self, request):
roll_number = request.data.get('roll_number')
Expand All @@ -100,6 +111,8 @@ def post(self, request):
serializer = McmSerializer(mcm_data, many=True)

return Response(serializer.data, status=status.HTTP_200_OK)


class DirectorSilverRetrieveView(APIView):
def post(self, request):
roll_number = request.data.get('roll_number')
Expand All @@ -115,6 +128,8 @@ def post(self, request):
serializer = DirectorSilverSerializer(director_silver_data, many=True)

return Response(serializer.data, status=status.HTTP_200_OK)


class DirectorSilverUpdateView(APIView):
def post(self, request):
serializer = DirectorSilverSerializer(data=request.data)
Expand All @@ -137,20 +152,26 @@ def post(self, request):
serializer = DirectorGoldSerializer(director_gold_data, many=True)

return Response(serializer.data, status=status.HTTP_200_OK)


class DirectorGoldUpdateView(APIView):
def post(self, request):
serializer = DirectorGoldSerializer(data=request.data)
if serializer.is_valid():
director_gold_instance = serializer.save()
return Response(DirectorGoldSerializer(director_gold_instance).data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)


class ProficiencyDmUpdateView(APIView):
def post(self, request):
serializer = ProficiencyDmSerializer(data=request.data)
if serializer.is_valid():
proficiency_dm_instance = serializer.save()
return Response(ProficiencyDmSerializer(proficiency_dm_instance).data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)


class ProficiencyDmRetrieveView(APIView):
def post(self, request):
roll_number = request.data.get('roll_number')
Expand All @@ -167,6 +188,7 @@ def post(self, request):

return Response(serializer.data, status=status.HTTP_200_OK)


class ScholarshipDetailView(APIView):
def get(self, request):
# Fetch all records from the Mcm table
Expand All @@ -175,6 +197,17 @@ def get(self, request):
serializer = McmSerializer(mcm_data, many=True)
# Return the serialized data as a response
return Response(serializer.data, status=status.HTTP_200_OK)


class DirectorGoldListView(APIView):
def get(self, request):
# Fetch all entries
director_gold_entries = Director_gold.objects.all()
# Serialize all entries
serializer = DirectorGoldSerializer(director_gold_entries, many=True)
# Return the serialized data as a response
return Response(serializer.data, status=status.HTTP_200_OK)


class StudentDetailView(APIView):
def post(self, request):
Expand All @@ -189,3 +222,36 @@ def post(self, request):

serializer = McmSerializer(mcm_entry)
return Response(serializer.data, status=status.HTTP_200_OK)


class DirectorSilverDetailView(APIView):
def post(self, request):
student_id = request.data.get('student')

if not student_id:
return Response({"error": "Student ID is required."}, status=status.HTTP_400_BAD_REQUEST)

try:
director_silver_entry = Director_silver.objects.get(student__id=student_id)
except Director_silver.DoesNotExist:
return Response({"error": "No record found for the given student ID."}, status=status.HTTP_404_NOT_FOUND)

serializer = DirectorSilverSerializer(director_silver_entry)
return Response(serializer.data, status=status.HTTP_200_OK)



class DirectorGoldDetailView(APIView):
def post(self, request):
student_id = request.data.get('student')

if not student_id:
return Response({"error": "Student ID is required."}, status=status.HTTP_400_BAD_REQUEST)

try:
director_gold_entry = Director_gold.objects.get(student__id=student_id)
except Director_gold.DoesNotExist:
return Response({"error": "No record found for the given student ID."}, status=status.HTTP_404_NOT_FOUND)

serializer = DirectorGoldSerializer(director_gold_entry)
return Response(serializer.data, status=status.HTTP_200_OK)
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 3.1.5 on 2024-11-16 03:06

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('scholarships', '0002_auto_20241115_1710'),
]

operations = [
migrations.RenameField(
model_name='mcm',
old_name='marksheet',
new_name='Marksheet',
),
]
14 changes: 5 additions & 9 deletions FusionIIIT/applications/scholarships/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,15 +76,6 @@ class Meta:
def __str__(self):
return self.award_name

# class Award_and_scholarship(models.Model):
# award_name = models.CharField(max_length=100, default='')
# catalog = models.TextField(max_length=5000, blank=True, null=False) # blank=True for forms, null=True for database

# class Meta:
# db_table = 'Award_and_scholarship'

# def __str__(self):
# return self.award_name


class Mcm(models.Model):
Expand Down Expand Up @@ -293,3 +284,8 @@ class Director_gold(models.Model):

class Meta:
db_table = 'Director_gold'





Loading