Skip to content

Commit

Permalink
added version field in urls and fixed course fetching errors
Browse files Browse the repository at this point in the history
  • Loading branch information
Daksh119 committed Apr 21, 2024
1 parent 55d42ae commit 7c6b6e7
Show file tree
Hide file tree
Showing 12 changed files with 222 additions and 212 deletions.
47 changes: 29 additions & 18 deletions FusionIIIT/applications/online_cms/models.py
Original file line number Diff line number Diff line change
@@ -1,33 +1,32 @@
from django.db import models
#import models used from academic procedure and academic information modules and globals
from applications.academic_information.models import Course, Student, Curriculum
from applications.academic_procedures.models import Register
from applications.academic_information.models import Student, Curriculum
from applications.programme_curriculum.models import Course as Courses, CourseInstructor
from applications.globals.models import ExtraInfo

#the modules for containing course content
class Modules(models.Model):
module_name = models.CharField(max_length=50)
course_id = models.ForeignKey(Course, on_delete=models.CASCADE, default = 405)
course_id = models.ForeignKey(Courses, on_delete=models.CASCADE)

def __str__(self):
return self.module_name

#the documents in the course (slides , ppt) added by the faculty and can be downloaded by the students
class CourseDocuments(models.Model):
course_id = models.ForeignKey(Course, on_delete=models.CASCADE)
course_id = models.ForeignKey(Courses, on_delete=models.CASCADE)
module_id = models.ForeignKey(Modules, on_delete=models.CASCADE, default = 1)
upload_time = models.DateTimeField(auto_now=True)
description = models.CharField(max_length=100)
document_name = models.CharField(max_length=40)
document_url = models.CharField(max_length=500, null=True,blank=True)
# media = models.FileField(upload_to=content_file_name, null=True, blank=True)
document_url = models.CharField(max_length=100, null=True)

def __str__(self):
return '{} - {}'.format(self.course_id, self.document_name)

#the attendance files added by the faculty and can be downloaded by the students
class AttendanceFiles(models.Model):
course_id = models.ForeignKey(Course, on_delete=models.CASCADE)
course_id = models.ForeignKey(Courses, on_delete=models.CASCADE)
upload_time = models.DateTimeField(auto_now=True)
file_name = models.CharField(max_length=40)
file_url = models.CharField(max_length=100, null=True)
Expand All @@ -37,7 +36,7 @@ def __str__(self):

#videos added by the faculty and can be downloaded by students
class CourseVideo(models.Model):
course_id = models.ForeignKey(Course, on_delete=models.CASCADE)
course_id = models.ForeignKey(Courses, on_delete=models.CASCADE)
upload_time = models.DateTimeField(auto_now=True)
description = models.CharField(max_length=100)
video_name = models.CharField(max_length=40)
Expand All @@ -48,7 +47,7 @@ def __str__(self):

#For storing the questions topic wise
class Topics(models.Model):
course_id = models.ForeignKey(Course, on_delete=models.CASCADE)
course_id = models.ForeignKey(Courses, on_delete=models.CASCADE)
topic_name = models.TextField(max_length=200)

def __str__(self):
Expand All @@ -57,7 +56,7 @@ def __str__(self):
#details of a question bank of which course it is
class QuestionBank(models.Model):
instructor_id = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE)
course_id = models.ForeignKey(Course, on_delete=models.CASCADE)
course_id = models.ForeignKey(Courses, on_delete=models.CASCADE)
name = models.CharField(max_length=100) #name of question bank

def __str__(self):
Expand Down Expand Up @@ -85,7 +84,7 @@ class Question(models.Model):

#details of quiz are stored
class Quiz(models.Model):
course_id = models.ForeignKey(Course, on_delete=models.CASCADE)
course_id = models.ForeignKey(Courses, on_delete=models.CASCADE)
quiz_name = models.CharField(max_length=20)
end_time = models.DateTimeField()
start_time = models.DateTimeField()
Expand Down Expand Up @@ -115,7 +114,7 @@ def __str__(self):

#the details of practice quiz (objective assignment)---- under development
class Practice(models.Model):
course_id = models.ForeignKey(Course, on_delete=models.CASCADE)
course_id = models.ForeignKey(Courses, on_delete=models.CASCADE)
prac_quiz_name = models.CharField(max_length=20)
negative_marks = models.FloatField(default=0)
number_of_question = models.IntegerField(default=0)
Expand Down Expand Up @@ -160,7 +159,7 @@ def __str__(self):

#details of the assignment uploaded by the faculty
class Assignment(models.Model):
course_id = models.ForeignKey(Course, on_delete=models.CASCADE)
course_id = models.ForeignKey(Courses, on_delete=models.CASCADE)
upload_time = models.DateTimeField(auto_now=True)
submit_date = models.DateTimeField()
assignment_name = models.CharField(max_length=100)
Expand Down Expand Up @@ -200,7 +199,7 @@ def __str__(self):

#to store the comment of student and lecturer
class Forum(models.Model):
course_id = models.ForeignKey(Course, on_delete=models.CASCADE)
course_id = models.ForeignKey(Courses, on_delete=models.CASCADE)
commenter_id = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE)
comment_time = models.DateTimeField(auto_now=True)
comment = models.TextField(max_length=2000)
Expand All @@ -224,7 +223,7 @@ def __str__(self):
return '{} - {} - {}'.format(self.pk, self.forum_ques, self.forum_reply)

class GradingScheme(models.Model):
course_id = models.ForeignKey(Course, on_delete=models.CASCADE)
course_id = models.ForeignKey(Courses, on_delete=models.CASCADE)
# quiz = models.DecimalField(max_digits=10, decimal_places=2,default=0)
# assignment = models.DecimalField(max_digits=10, decimal_places=2,default=0)
# midsem = models.DecimalField(max_digits=10, decimal_places=2,default=0)
Expand All @@ -238,7 +237,7 @@ def __str__(self):
self.pk, self.course_id)

class GradingScheme_grades(models.Model):
course_id = models.ForeignKey(Course, on_delete=models.CASCADE)
course_id = models.ForeignKey(Courses, on_delete=models.CASCADE)
O_Lower = models.DecimalField(max_digits=10, decimal_places=2, default=0)
O_Upper = models.DecimalField(max_digits=10, decimal_places=2, default=0)
A_plus_Lower = models.DecimalField(max_digits=10, decimal_places=2, default=0)
Expand All @@ -264,7 +263,7 @@ def __str__(self):
return '{} - {}'.format(self.pk, self.course_id)

class Student_grades(models.Model):
course_id = models.ForeignKey(Course, on_delete=models.CASCADE)
course_id = models.ForeignKey(Courses, on_delete=models.CASCADE)
semester = models.IntegerField(default=1)
year = models.IntegerField(default=2016)
roll_no = models.TextField(max_length=2000)
Expand All @@ -273,4 +272,16 @@ class Student_grades(models.Model):
batch = models.IntegerField(default=2021)

def __str__(self):
return '{} - {}'.format(self.pk, self.course_id)
return '{} - {}'.format(self.pk, self.course_id)

class Attendance(models.Model):
student_id = models.ForeignKey(Student,on_delete=models.CASCADE)
# course_id = models.ForeignKey(Course)
# attend = models.CharField(max_length=6, choices=Constants.ATTEND_CHOICES)
instructor_id = models.ForeignKey(CourseInstructor, on_delete=models.CASCADE)
# curriculum_id = models.ForeignKey(Curriculum, on_delete=models.CASCADE)
date = models.DateField()
present = models.BooleanField(default=False)

def __str__(self):
return self.course_id
34 changes: 17 additions & 17 deletions FusionIIIT/applications/online_cms/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,32 +7,32 @@
urlpatterns = [

url(r'^$', views.viewcourses, name='viewcourses'),
url(r'^(?P<course_code>[A-Z0-9]+)/$', views.course, name='course'),
url(r'^(?P<course_code>[A-Z0-9]+)/(?P<version>[\d.]+)/$', views.course, name='course'),
# url(r'^(?P<course_code>[A-Z0-9]+)/edit_marks$', views.edit_marks, name='edit_marks'),
url(r'^(?P<course_code>[A-Z0-9]+)/get_exam_data$', views.get_exam_data, name='get_exam_data'),
url(r'^(?P<course_code>[A-Z0-9]+)/forum$', views.forum,
url(r'^(?P<course_code>[A-Z0-9]+)/(?P<version>[\d.]+)/get_exam_data$', views.get_exam_data, name='get_exam_data'),
url(r'^(?P<course_code>[A-Z0-9]+)/(?P<version>[\d.]+)/forum$', views.forum,
name='forum'),
url(r'^(?P<course_code>[A-Z0-9]+)/ajax_reply$', views.ajax_reply,
url(r'^(?P<course_code>[A-Z0-9]+)/(?P<version>[\d.]+)/ajax_reply$', views.ajax_reply,
name='ajax_reply'),
url(r'^(?P<course_code>[A-Z0-9]+)/ajax_new$', views.ajax_new,
url(r'^(?P<course_code>[A-Z0-9]+)/(?P<version>[\d.]+)/ajax_new$', views.ajax_new,
name='ajax_new'),
url(r'^(?P<course_code>[A-Z0-9]+)/ajax_remove$', views.ajax_remove,
url(r'^(?P<course_code>[A-Z0-9]+)/(?P<version>[\d.]+)/ajax_remove$', views.ajax_remove,
name='ajax_remove'),
url(r'^(?P<course_code>[A-Z0-9]+)/upload_assignment$', views.upload_assignment,
url(r'^(?P<course_code>[A-Z0-9]+)/(?P<version>[\d.]+)/upload_assignment$', views.upload_assignment,
name='upload_assignment'),
url(r'^(?P<course_code>[A-Z0-9]+)/add_modules$', views.add_modules,
url(r'^(?P<course_code>[A-Z0-9]+)/(?P<version>[\d.]+)/add_modules$', views.add_modules,
name='add_modules'),
url(r'^(?P<course_code>[A-Z0-9]+)/add_documents$', views.add_document,
url(r'^(?P<course_code>[A-Z0-9]+)/(?P<version>[\d.]+)/add_documents$', views.add_document,
name='add_document'),
url(r'^(?P<course_code>[A-Z0-9]+)/add_assignment$',
url(r'^(?P<course_code>[A-Z0-9]+)/(?P<version>[\d.]+)/add_assignment$',
views.add_assignment, name='add_assignment'),
# url(r'^(?P<course_code>[A-Z0-9]+)/add_video$', views.add_videos,
# name='add_videos'),
url(r'^(?P<course_code>[A-Z0-9]+)/delete/$', views.delete,
url(r'^(?P<course_code>[A-Z0-9]+)/(?P<version>[\d.]+)/delete/$', views.delete,
name='delete'),
url(r'^(?P<course_code>[A-Z0-9]+)/ajax_assess$', views.ajax_assess,
url(r'^(?P<course_code>[A-Z0-9]+)/(?P<version>[\d.]+)/ajax_assess$', views.ajax_assess,
name='ajax_assess'),
url(r'^(?P<course_code>[A-Z0-9]+)/ajax_feedback$', views.ajax_feedback,
url(r'^(?P<course_code>[A-Z0-9]+)/(?P<version>[\d.]+)/ajax_feedback$', views.ajax_feedback,
name='ajax_feedback'),
url(r'^quiz/(?P<quiz_id>[0-9]+)/$', views.quiz, name='quiz'),
url(r'^(?P<course_code>[A-Z0-9]+)/create_quiz/$', views.create_quiz, name='create_quiz'),
Expand Down Expand Up @@ -71,16 +71,16 @@
views.remove_question, name='remove_question'),
url(r'^(?P<course_code>[A-Z0-9]+)/edit_bank/(?P<qb_code>[0-9]+)$',
views.edit_bank, name='edit_bank'),
url(r'^(?P<course_code>[A-Z0-9]+)/attendance$', views.submit_attendance,
url(r'^(?P<course_code>[A-Z0-9]+)/(?P<version>[\d.]+)/attendance$', views.submit_attendance,
name='submit_attendance'),
url(r'^(?P<course_code>[A-Z0-9]+)/add_attendance$', views.add_attendance,
url(r'^(?P<course_code>[A-Z0-9]+)/(?P<version>[\d.]+)/add_attendance$', views.add_attendance,
name='add_attendance'),
url(r'^(?P<course_code>[A-Z0-9]+)/create_grading_scheme$',
url(r'^(?P<course_code>[A-Z0-9]+)/(?P<version>[\d.]+)/create_grading_scheme$',
views.create_grading_scheme, name='Create_grading_scheme'),
url(r'^admin/add_academic_calendar', views.add_academic_calendar, name='Add Calendar'),
url(r'^admin/update_calendar', views.update_calendar, name='Add Calendar'),
url(r'^admin/add_timetable', views.add_timetable, name="add_timetable"),
url(r'^admin/delete_timetable', views.delete_timetable, name='delete_timetable'),
url(r'^(?P<course_code>[A-z0-9]+)/submit_marks$',views.submit_marks, name='submit_marks'),
url(r'^(?P<course_code>[A-z0-9]+)/(?P<version>[\d.]+)/submit_marks$',views.submit_marks, name='submit_marks'),
]

Loading

0 comments on commit 7c6b6e7

Please sign in to comment.