Skip to content

Commit 2d9adc9

Browse files
Merge branch 'master' of https://github.com/Narosen/FusionIIIT
2 parents dfb63c0 + 912a111 commit 2d9adc9

File tree

11 files changed

+684
-197
lines changed

11 files changed

+684
-197
lines changed

FusionIIIT/Fusion/settings.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,11 +135,17 @@
135135
'django.template.context_processors.request',
136136
'django.contrib.auth.context_processors.auth',
137137
'django.contrib.messages.context_processors.messages',
138+
'django.template.context_processors.media',
138139
],
139140
},
140141
},
141142
]
142143

144+
FILE_UPLOAD_HANDLERS = [
145+
'django.core.files.uploadhandler.MemoryFileUploadHandler',
146+
'django.core.files.uploadhandler.TemporaryFileUploadHandler',
147+
]
148+
143149
WSGI_APPLICATION = 'Fusion.wsgi.application'
144150

145151

FusionIIIT/Fusion/urls.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
url(r'^academic-procedures/', include('applications.academic_procedures.urls',
4040
namespace='procedures')),
4141
url(r'^aims/', include('applications.academic_information.urls')),
42-
]
4342

4443
if settings.DEBUG:
4544
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from django import forms
2+
from .models import Meeting
3+
4+
class MinuteForm(forms.ModelForm):
5+
class Meta:
6+
model = Meeting
7+
fields = ('date', 'minutes_file', )

FusionIIIT/applications/academic_information/models.py

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ class Constants:
3939

4040
class Student(models.Model):
4141
id = models.OneToOneField(ExtraInfo, on_delete=models.CASCADE, primary_key=True)
42+
name = models.CharField(max_length=50, default='')
43+
batch=models.CharField(max_length=10,default='2015')
4244
programme = models.CharField(max_length=10, choices=Constants.PROGRAMME)
4345
cpi = models.FloatField(default=0)
4446
category = models.CharField(max_length=10, choices=Constants.CATEGORY, null=False)
@@ -62,22 +64,16 @@ class Meta:
6264
unique_together = ('course_id', 'course_name', 'sem')
6365

6466
def __str__(self):
65-
return self.course_name
67+
return str(self.id)
6668

6769

6870
class Meeting(models.Model):
6971
date = models.DateField()
70-
time = models.CharField(max_length=20)
71-
agenda = models.FileField()
72-
minutes_file = models.FileField(max_length=40)
73-
72+
minutes_file = models.FileField(upload_to='documents/')
7473

7574
class Meta:
7675
db_table = 'Meeting'
7776

78-
def __str__(self):
79-
return self.date
80-
8177

8278
class Calendar(models.Model):
8379
from_date = models.DateField()
@@ -116,14 +112,17 @@ class Meta:
116112
class Student_attendance(models.Model):
117113
student_id = models.ForeignKey(Student)
118114
course_id = models.ForeignKey(Course)
119-
attend = models.CharField(max_length=6, choices=Constants.ATTEND_CHOICES)
120-
date = models.DateField()
115+
# attend = models.CharField(max_length=6, choices=Constants.ATTEND_CHOICES)
116+
date = models.DateField(auto_now=True)
117+
present_attend=models.IntegerField(default=0)
118+
total_attend=models.IntegerField(default=0)
119+
121120

122121
class Meta:
123122
db_table = 'Student_attendance'
124123

125124
def __self__(self):
126-
return self.date
125+
return self.course_id
127126

128127

129128
class Instructor(models.Model):
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// Submit post on submit
2+
$(document).ready(function() {
3+
$('#minutes').on('submit', function(event){
4+
create_member();
5+
});
6+
});
7+
8+
function create_member() {
9+
$.ajax({
10+
type : "POST", // http method
11+
url : "minutes/", // the endpoint
12+
dataType: 'json',
13+
data : {
14+
'date' : $('#date').val(),
15+
'minute' : $('#minute').val(),
16+
},
17+
// data sent with the post request
18+
// handle a successful response
19+
success : function(data) {
20+
alert("Your file is uploaded");
21+
},
22+
error : function(data) {
23+
alert("Cannot be uploaded");
24+
}
25+
});
26+
};
27+
28+
29+

FusionIIIT/applications/academic_information/static/academic_information/scripts/senate_members.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,18 @@ $(document).ready(function() {
88
function create_member() {
99
$.ajax({
1010
type : "POST", // http method
11-
url : "senate/", // the endpoint
11+
url : "senator/", // the endpoint
1212
dataType: 'json',
1313
data : {
1414
'rollno' : $('#rollno').val()
1515
},
1616
// data sent with the post request
1717
// handle a successful response
1818
success : function(data) {
19-
alert("success");
19+
alert("New Senator Added");
2020
},
2121
error : function(data) {
22-
alert("fail");
22+
alert("Something went wrong");
2323
}
2424
});
2525
};

FusionIIIT/applications/academic_information/urls.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,17 @@
55

66
urlpatterns = [
77
url(r'^$', views.homepage, name='homepage'),
8+
<<<<<<< HEAD
89
url(r'^senate/$', views.senate, name='senate'),
910
url(r'^delete/$', views.delete, name='delete'),
1011
url(r'^edit_convenor/$', views.edit_convenor, name='edit_convenor'),
1112
url(r'^delete1/$', views.delete1, name='delete1'),
1213
url(r'^delete2/$', views.delete2, name='delete2'),
14+
=======
15+
url(r'^senator/$', views.senator, name='senator'),
16+
url(r'^minutes/$', views.minutes, name='minutes'),
17+
url(r'^delete/$', views.delete, name='delete'),
18+
url(r'^attendance',views.add_attendance,name="add_attendance"),
19+
url(r'^get_attendance',views.get_attendance,name="get_attendance")
20+
>>>>>>> 912a11178daaef08de17299f53b8a62bbc63b12b
1321
]

FusionIIIT/applications/academic_information/views.py

Lines changed: 115 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
1-
# from django.shortcuts import render
2-
31
from django.shortcuts import render
4-
from .models import Student
2+
from .models import Student, Meeting, Student_attendance,Course,Student
53
from applications.globals.models import ExtraInfo, Designation, DepartmentInfo
64
from django.http import HttpResponse
75
from django.db.models.query import QuerySet
86
from django.views.decorators.csrf import csrf_exempt
7+
from django.contrib import messages
98
from django.http import JsonResponse
9+
from .forms import MinuteForm
1010
import json
1111

1212

1313
def homepage(request):
14+
form = MinuteForm()
1415
try:
1516
s = Designation.objects.get(name = 'senate')
1617
v = Designation.objects.get(name = 'Convenor')
@@ -19,20 +20,37 @@ def homepage(request):
1920
Convenor = ExtraInfo.objects.filter(designation = v)
2021
CoConvenor = ExtraInfo.objects.filter(designation = t)
2122
students = Student.objects.filter(id__in = senates)
22-
23+
meetings = Meeting.objects.all()
2324
except:
2425
senates = ""
2526
students = ""
27+
<<<<<<< HEAD
2628
Convenor = ""
2729
CoConvenor = ""
30+
=======
31+
meetings = ""
32+
>>>>>>> 912a11178daaef08de17299f53b8a62bbc63b12b
2833
pass
2934

3035
context = {
3136
'senates':senates,
3237
'students':students,
38+
<<<<<<< HEAD
3339
'Convenor':Convenor,
3440
'CoConvenor':CoConvenor,
3541
}
42+
=======
43+
'meetings' : meetings,
44+
'form': form,
45+
}
46+
if request.method == 'POST':
47+
form = MinuteForm(request.POST, request.FILES)
48+
if form.is_valid():
49+
form.save()
50+
return HttpResponse('sucess')
51+
else:
52+
return HttpResponse('not uploaded')
53+
>>>>>>> 912a11178daaef08de17299f53b8a62bbc63b12b
3654
return render(request, "ais/ais.html", context)
3755

3856
def delete(request):
@@ -42,11 +60,11 @@ def delete(request):
4260
return HttpResponse("Deleted")
4361

4462
@csrf_exempt
45-
def senate(request):
63+
def senator(request):
4664
if request.method == 'POST':
4765
rollno = request.POST.get('rollno')
48-
s = Designation.objects.get(name = 'senate')
4966
extraInfo = ExtraInfo.objects.get(id = rollno)
67+
s = Designation.objects.get(name = 'senate')
5068
extraInfo.designation.add(s)
5169
extraInfo.save()
5270
student = Student.objects.get(id = extraInfo)
@@ -61,6 +79,7 @@ def senate(request):
6179
data = {}
6280
return JsonResponse(data)
6381

82+
<<<<<<< HEAD
6483
def edit_convenor(request):
6584
s = Designation.objects.get(name = 'Convenor')
6685
p = Designation.objects.get(name = 'Co Convenor')
@@ -87,3 +106,93 @@ def delete2(request):
87106
student.designation.remove(s)
88107
return HttpResponse("Deleted")
89108

109+
=======
110+
def add_attendance(request):
111+
if request.method == 'POST':
112+
student_attend = Student_attendance()
113+
s_id = request.POST.get('student_id')
114+
c_id = request.POST.get('course_id')
115+
print(s_id)
116+
print(c_id)
117+
context={}
118+
try:
119+
student_attend.student_id = Student.objects.get(id_id=s_id)
120+
except:
121+
error_mess = "Student Data Not Found"
122+
context['result']='Failure'
123+
context['message']=error_mess
124+
messages.error(request, error_mess)
125+
return HttpResponse(json.dumps(context), content_type='add_attendance/json')
126+
127+
128+
try:
129+
student_attend.course_id = Course.objects.get(course_id=c_id)
130+
except:
131+
error_mess = "Course Data Not Found"
132+
context['result'] = 'Failure'
133+
context['message'] = error_mess
134+
messages.error(request, error_mess)
135+
return HttpResponse(json.dumps(context), content_type='add_attendance/json')
136+
137+
# print('student_id ',student_attend.student_id)
138+
139+
140+
student_attend.present_attend = request.POST.get('present_attend')
141+
student_attend.total_attend = request.POST.get('total_attend')
142+
143+
if student_attend.present_attend > student_attend.total_attend :
144+
error_mess = "Present attendance should not be greater than Total attendance"
145+
context['result'] = 'Failure'
146+
context['message'] = error_mess
147+
return HttpResponse(json.dumps(context), content_type='add_attendance/json')
148+
149+
150+
success_mess = "Your Data has been successfully added"
151+
messages.success(request, success_mess)
152+
student_attend.save()
153+
context['result'] = 'Success'
154+
context['message'] = success_mess
155+
messages.error(request, success_mess)
156+
return HttpResponse(json.dumps(context), content_type='add_attendance/json')
157+
158+
159+
def get_attendance(request):
160+
course_id=request.GET.get('course_id')
161+
print(course_id)
162+
c_id=Course.objects.get(course_id=course_id)
163+
# data=Student_attendance.objects.filter(course_id_id=c_id).values_list('student_id_id','course_id_id')
164+
data = Student_attendance.objects.filter(course_id_id=c_id).values_list('course_id_id','student_id_id','present_attend','total_attend')
165+
stud_data={}
166+
stud_data['name']=[]
167+
stud_data['programme']=[]
168+
stud_data['batch']=[]
169+
for obj in data:
170+
roll = data[0][1]
171+
extra_info = ExtraInfo.objects.get(id=roll)
172+
s_id = Student.objects.get(id=extra_info)
173+
174+
s_name=s_id.name
175+
s_programme=s_id.programme
176+
s_batch=s_id.batch
177+
print(s_name)
178+
print(s_programme)
179+
stud_data['name'].append(s_name)
180+
stud_data['programme'].append(s_programme)
181+
stud_data['batch'].append(s_batch)
182+
183+
print(stud_data)
184+
context={}
185+
try:
186+
context['result'] = 'Success'
187+
context['tuples'] = list(data)
188+
context['stud_data']=stud_data
189+
190+
except:
191+
context['result'] = 'Failure'
192+
193+
194+
print(data[0][1])
195+
print(stud_data['name'][0])
196+
print(context)
197+
return HttpResponse(json.dumps(context),content_type='get_attendance/json')
198+
>>>>>>> 912a11178daaef08de17299f53b8a62bbc63b12b

0 commit comments

Comments
 (0)