Skip to content

Commit 11057f6

Browse files
authored
Merge pull request #3 from PriyanshuXcoder/ac-5
API's made for MCM & all three medals
2 parents 437d089 + e9ad1e6 commit 11057f6

File tree

8 files changed

+181
-5
lines changed

8 files changed

+181
-5
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Generated by Django 3.1.5 on 2024-10-18 03:42
2+
3+
import datetime
4+
from django.db import migrations, models
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
dependencies = [
10+
('central_mess', '0001_initial'),
11+
]
12+
13+
operations = [
14+
migrations.AlterField(
15+
model_name='payments',
16+
name='payment_date',
17+
field=models.DateField(default=datetime.date(2024, 10, 18)),
18+
),
19+
migrations.AlterUniqueTogether(
20+
name='payments',
21+
unique_together=set(),
22+
),
23+
]
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Generated by Django 3.1.5 on 2024-10-18 03:42
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('globals', '0002_auto_20241007_2302'),
10+
]
11+
12+
operations = [
13+
migrations.AlterField(
14+
model_name='extrainfo',
15+
name='user_status',
16+
field=models.CharField(choices=[('PRESENT', 'PRESENT'), ('NEW', 'NEW')], default='PRESENT', max_length=50),
17+
),
18+
]
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Generated by Django 3.1.5 on 2024-10-18 03:42
2+
3+
from django.db import migrations, models
4+
import django.db.models.deletion
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
dependencies = [
10+
('academic_information', '0001_initial'),
11+
('online_cms', '0001_initial'),
12+
]
13+
14+
operations = [
15+
migrations.AddField(
16+
model_name='attendance',
17+
name='no_of_attendance',
18+
field=models.IntegerField(default=1),
19+
),
20+
migrations.AlterField(
21+
model_name='attendance',
22+
name='present',
23+
field=models.IntegerField(default=0),
24+
),
25+
migrations.AlterField(
26+
model_name='gradingscheme',
27+
name='type_of_evaluation',
28+
field=models.CharField(max_length=100),
29+
),
30+
migrations.CreateModel(
31+
name='StudentEvaluation',
32+
fields=[
33+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
34+
('marks', models.DecimalField(decimal_places=2, max_digits=10, null=True)),
35+
('total_marks', models.DecimalField(decimal_places=2, default=0, max_digits=10)),
36+
('evaluation_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.gradingscheme')),
37+
('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')),
38+
],
39+
),
40+
]
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Generated by Django 3.1.5 on 2024-10-18 03:42
2+
3+
import datetime
4+
from django.db import migrations, models
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
dependencies = [
10+
('research_procedures', '0001_initial'),
11+
]
12+
13+
operations = [
14+
migrations.AlterField(
15+
model_name='staff_allocations',
16+
name='start_date',
17+
field=models.DateField(default=datetime.date(2024, 10, 18)),
18+
),
19+
]

FusionIIIT/applications/scholarships/api/serializers.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from rest_framework import serializers
22
from applications.academic_information.models import Student
33
from applications.globals.models import ExtraInfo
4-
from applications.scholarships.models import Award_and_scholarship,Previous_winner
4+
from applications.scholarships.models import Award_and_scholarship,Previous_winner,Director_gold,Director_silver,Proficiency_dm,Mcm
55

66

77
class AwardAndScholarshipSerializer(serializers.ModelSerializer):
@@ -19,7 +19,25 @@ class Meta:
1919
fields = ['student', 'programme', 'year', 'award_id']
2020

2121

22+
class DirectorGoldSerializer(serializers.ModelSerializer):
23+
class Meta:
24+
model = Director_gold
25+
fields = '__all__'
26+
27+
class DirectorSilverSerializer(serializers.ModelSerializer):
28+
class Meta:
29+
model = Director_silver
30+
fields = '__all__'
2231

32+
class ProficiencyDMSerializer(serializers.ModelSerializer):
33+
class Meta:
34+
model = Proficiency_dm
35+
fields = '__all__'
36+
37+
class McmSerializer(serializers.ModelSerializer):
38+
class Meta:
39+
model = Mcm
40+
fields = '__all__'
2341
# class McmSerializer(serializers.ModelSerializer):
2442
# class Meta:
2543
# model = Mcm

FusionIIIT/applications/scholarships/api/views.py

Lines changed: 56 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
from rest_framework.response import Response
33
from rest_framework.decorators import api_view
44
from rest_framework import status
5-
from applications.scholarships.models import Previous_winner, Award_and_scholarship
5+
from applications.scholarships.models import Previous_winner, Award_and_scholarship,Director_gold,Director_silver
66
from applications.academic_information.models import Spi, Student
77
from applications.globals.models import (Designation, ExtraInfo,
88
HoldsDesignation)
99
from rest_framework import viewsets
10-
from applications.scholarships.api.serializers import PreviousWinnerSerializer,AwardAndScholarshipSerializer
10+
from applications.scholarships.api.serializers import PreviousWinnerSerializer,AwardAndScholarshipSerializer,DirectorGoldSerializer,DirectorSilverSerializer,ProficiencyDMSerializer,McmSerializer
1111

1212
class create_award(APIView):
1313

@@ -62,3 +62,57 @@ def post(self, request, *args, **kwargs):
6262

6363
else:
6464
return Response({'result': 'Failure', 'error': 'No winners found'}, status=status.HTTP_404_NOT_FOUND)
65+
66+
67+
68+
class DirectorGoldUpdateView(APIView):
69+
def put(self, request):
70+
# Deserialize the data without specifying an instance, allowing for creation or update
71+
serializer = DirectorGoldSerializer(data=request.data)
72+
73+
if serializer.is_valid():
74+
# Save the object; if the data contains an 'id', it will update the existing record
75+
serializer.save()
76+
return Response(serializer.data, status=status.HTTP_200_OK)
77+
78+
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
79+
80+
81+
class DirectorSilverUpdateView(APIView):
82+
def put(self, request):
83+
# Deserialize the data, which includes the ID for identifying the record to update
84+
serializer = DirectorSilverSerializer(data=request.data)
85+
86+
if serializer.is_valid():
87+
# Save the object; if the data contains an 'id', it will update the existing record
88+
serializer.save()
89+
return Response(serializer.data, status=status.HTTP_200_OK)
90+
91+
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
92+
93+
94+
class ProficiencyDMUpdateView(APIView):
95+
def put(self, request):
96+
# Deserialize the data, which includes the ID for identifying the record to update
97+
serializer = ProficiencyDMSerializer(data=request.data)
98+
99+
if serializer.is_valid():
100+
# Save the object; if the data contains an 'id', it will update the existing record
101+
serializer.save()
102+
return Response(serializer.data, status=status.HTTP_200_OK)
103+
104+
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
105+
106+
107+
class McmUpdateView(APIView):
108+
def put(self, request):
109+
# Deserialize the data from the request
110+
serializer = McmSerializer(data=request.data)
111+
112+
# Validate and save data if valid
113+
if serializer.is_valid():
114+
serializer.save()
115+
return Response(serializer.data, status=status.HTTP_200_OK)
116+
117+
# Return error details if validation fails
118+
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

FusionIIIT/applications/scholarships/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ class Mcm(models.Model):
117117
college_fee = models.IntegerField(blank=True, null=True)
118118
college_name = models.CharField(max_length=30, null=True)
119119
income_certificate = models.FileField(null=True, blank=True)
120+
# marksheet = models.FileField(upload_to='marksheets/', null=False, blank=False)
120121
forms = models.FileField(null=True, blank=True)
121122
status = models.CharField(max_length=10, choices=Constants.STATUS_CHOICES, default='INCOMPLETE')
122123
student = models.ForeignKey(Student,

FusionIIIT/applications/scholarships/urls.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from . import views
66
from applications.scholarships.api.views import GetWinnersView
77
from applications.scholarships.api.views import create_award
8+
from applications.scholarships.api.views import DirectorGoldUpdateView,DirectorSilverUpdateView,ProficiencyDMUpdateView,McmUpdateView
89

910
app_name = 'spacs'
1011

@@ -24,8 +25,10 @@
2425
#app
2526
url(r'get-winners/', GetWinnersView.as_view(), name='get-winners'),
2627
url(r'create-award/', create_award.as_view(), name='create-award'),
27-
28-
28+
url(r'director-gold/', DirectorGoldUpdateView.as_view(), name='director-gold-update'),
29+
path('director-silver/', DirectorSilverUpdateView.as_view(), name='director-silver-update'),
30+
path('proficiency-dm/', ProficiencyDMUpdateView.as_view(), name='proficiency-dm-update'),
31+
path('mcm/', McmUpdateView.as_view(), name='mcm-update'),
2932

3033

3134
]

0 commit comments

Comments
 (0)