Commit 6bc80228 authored by Samarth Joshi's avatar Samarth Joshi
parents 3c4b02a9 4b397938
...@@ -43,6 +43,6 @@ urlpatterns = [ ...@@ -43,6 +43,6 @@ urlpatterns = [
path('heartbeat/',a.heartbeat), path('heartbeat/',a.heartbeat),
path('getbeat/',a.getbeat), path('getbeat/',a.getbeat),
path('logs/',a.view_logs), path('logs/',a.view_logs),
path('logout/', auth_views.LogoutView.as_view(), name='logout') path('logout/', auth_views.LogoutView.as_view(), name='logout'),
]+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) ]+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
No preview for this file type
from django import forms from django import forms
##
# @breif This is class is used to create the form for uploading the quiz in CSV form by the instructor
##
class UploadFileForm(forms.Form): class UploadFileForm(forms.Form):
"""To create the form for uploading the quiz in CSV form by the instructor"""
file = forms.FileField() file = forms.FileField()
\ No newline at end of file
# Generated by Django 3.1.2 on 2020-11-13 09:34
import datetime
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Questions',
fields=[
('question', models.TextField()),
('option1', models.CharField(max_length=100)),
('option2', models.CharField(max_length=100)),
('option3', models.CharField(max_length=100)),
('option4', models.CharField(max_length=100)),
('answer', models.CharField(max_length=100)),
('type', models.CharField(default=1, max_length=10)),
('marks', models.IntegerField(default=1)),
('negative', models.FloatField(default=0, max_length=10)),
('explainations', models.TextField(default='No Explaination Given', max_length=1000)),
('questionId', models.AutoField(primary_key=True, serialize=False)),
('quizCode', models.CharField(default='Code', max_length=100)),
],
options={
'db_table': 'Questions',
},
),
migrations.CreateModel(
name='quiz',
fields=[
('quizId', models.AutoField(primary_key=True, serialize=False)),
('startTime', models.TimeField()),
('date', models.DateField(default=datetime.date.today)),
('length', models.FloatField(max_length=10)),
('quizCode', models.CharField(default='Code', max_length=100)),
('quizDone', models.BooleanField(default=False)),
('quizInfo', models.CharField(default='No Info Available', max_length=100)),
('quizInstructor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='submission',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('option', models.CharField(max_length=100)),
('questionId', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='quiz.questions')),
('quizId', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='quiz.quiz')),
('studentId', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='result',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('marks', models.IntegerField(default=0, max_length=10)),
('quizId', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='quiz.quiz')),
('studentId', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
migrations.AddField(
model_name='questions',
name='quizId',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='quiz.quiz'),
),
migrations.CreateModel(
name='Permission',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('role', models.CharField(default='S', max_length=1)),
('userId', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='cribs',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('cribs', models.CharField(max_length=1000)),
('questionId', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='quiz.questions')),
('quizId', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='quiz.quiz')),
('studentId', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
options={
'db_table': 'cribs',
},
),
]
# Generated by Django 3.1.2 on 2020-11-13 10:47
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('quiz', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='cribs',
name='studentId',
field=models.CharField(max_length=100),
),
]
# Generated by Django 3.1.2 on 2020-11-13 10:48
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('quiz', '0002_auto_20201113_1047'),
]
operations = [
migrations.AlterField(
model_name='cribs',
name='studentId',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
]
# Generated by Django 3.1.2 on 2020-11-14 15:53
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('quiz', '0003_auto_20201113_1048'),
]
operations = [
migrations.CreateModel(
name='log',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('text', models.CharField(max_length=1000)),
('studentId', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
]
# Generated by Django 3.1.2 on 2020-11-14 16:04
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('quiz', '0004_log'),
]
operations = [
migrations.RemoveField(
model_name='log',
name='studentId',
),
migrations.AddField(
model_name='log',
name='quizId',
field=models.ForeignKey(default='', on_delete=django.db.models.deletion.CASCADE, to='quiz.quiz'),
),
]
# Generated by Django 3.1.2 on 2020-11-14 16:33
import datetime
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('quiz', '0005_auto_20201114_1604'),
]
operations = [
migrations.RemoveField(
model_name='log',
name='text',
),
migrations.AddField(
model_name='log',
name='fullscreen',
field=models.CharField(default='', max_length=20),
),
migrations.AddField(
model_name='log',
name='logtime',
field=models.DateTimeField(default=datetime.datetime(2020, 11, 14, 16, 33, 30, 839180)),
),
migrations.AddField(
model_name='log',
name='questions',
field=models.CharField(default='', max_length=20),
),
migrations.AddField(
model_name='log',
name='studentId',
field=models.ForeignKey(default='', on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
]
# Generated by Django 3.1.2 on 2020-11-14 16:35
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
('quiz', '0006_auto_20201114_1633'),
]
operations = [
migrations.AlterField(
model_name='log',
name='logtime',
field=models.DateTimeField(default=django.utils.timezone.now),
),
]
# Generated by Django 3.1.2 on 2020-11-14 16:36
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('quiz', '0007_auto_20201114_1635'),
]
operations = [
migrations.AlterField(
model_name='result',
name='marks',
field=models.IntegerField(default=0),
),
]
# Generated by Django 3.1.2 on 2020-11-14 16:45
import datetime
from django.db import migrations, models
from django.utils.timezone import utc
class Migration(migrations.Migration):
dependencies = [
('quiz', '0008_auto_20201114_1636'),
]
operations = [
migrations.AlterField(
model_name='log',
name='logtime',
field=models.DateTimeField(default=datetime.datetime(2020, 11, 14, 16, 45, 56, 786475, tzinfo=utc)),
),
]
# Generated by Django 3.1.2 on 2020-11-14 16:46
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
('quiz', '0009_auto_20201114_1645'),
]
operations = [
migrations.AlterField(
model_name='log',
name='logtime',
field=models.DateTimeField(default=django.utils.timezone.now),
),
]
...@@ -4,12 +4,12 @@ import datetime ...@@ -4,12 +4,12 @@ import datetime
from django.utils import timezone from django.utils import timezone
class Permission(models.Model): class Permission(models.Model):
"""Defines the permission of the user default permission is Student the admin can provide staff permission""" """This class is used to create the userspermission table in database.Defines the permission of the user default permission is Student the admin can provide staff permission"""
userId=models.ForeignKey(to=User, on_delete=models.CASCADE) userId=models.ForeignKey(to=User, on_delete=models.CASCADE)
role=models.CharField(max_length=1,default="S") role=models.CharField(max_length=1,default="S")
class quiz(models.Model): class quiz(models.Model):
"""Contains information about the quiz time,length,code and instructor who has created it""" """This class is used to create the quiz table in database.Contains information about the quiz time,length,code and instructor who has created it"""
quizId=models.AutoField(primary_key=True) #primary key quizId=models.AutoField(primary_key=True) #primary key
startTime=models.TimeField() startTime=models.TimeField()
date=models.DateField(default=datetime.date.today) date=models.DateField(default=datetime.date.today)
...@@ -29,7 +29,7 @@ class quiz(models.Model): ...@@ -29,7 +29,7 @@ class quiz(models.Model):
return str(self.quizId) return str(self.quizId)
class Questions(models.Model): class Questions(models.Model):
""" Contains info about the questions within a particular quiz and its attributes like socre and negative marks and correct answer""" """ This class is used to create the Questions table in database.Contains info about the questions within a particular quiz and its attributes like socre and negative marks and correct answer"""
question = models.TextField() question = models.TextField()
option1 = models.CharField(max_length=100) option1 = models.CharField(max_length=100)
option2 = models.CharField(max_length=100) option2 = models.CharField(max_length=100)
...@@ -50,7 +50,7 @@ class Questions(models.Model): ...@@ -50,7 +50,7 @@ class Questions(models.Model):
db_table="Questions" db_table="Questions"
class submission(models.Model): class submission(models.Model):
""" Contains info about each questions answer submitted by each student""" """ This class is used to create the Submission table in database.Contains info about each questions answer submitted by each student"""
questionId=models.ForeignKey(Questions,to_field='questionId',on_delete=models.CASCADE) questionId=models.ForeignKey(Questions,to_field='questionId',on_delete=models.CASCADE)
option=models.CharField(max_length=100) option=models.CharField(max_length=100)
studentId=models.ForeignKey(to=User, on_delete=models.CASCADE) studentId=models.ForeignKey(to=User, on_delete=models.CASCADE)
...@@ -58,7 +58,7 @@ class submission(models.Model): ...@@ -58,7 +58,7 @@ class submission(models.Model):
class cribs(models.Model): class cribs(models.Model):
""" Contains cribs raised by students""" """ This class is used to create the cribs table in database.Contains cribs raised by students"""
studentId=models.ForeignKey(to=User, on_delete=models.CASCADE) studentId=models.ForeignKey(to=User, on_delete=models.CASCADE)
cribs=models.CharField(max_length=1000) cribs=models.CharField(max_length=1000)
quizId=models.ForeignKey(quiz,to_field='quizId',on_delete=models.CASCADE) quizId=models.ForeignKey(quiz,to_field='quizId',on_delete=models.CASCADE)
...@@ -68,14 +68,14 @@ class cribs(models.Model): ...@@ -68,14 +68,14 @@ class cribs(models.Model):
class result(models.Model): class result(models.Model):
"""Stores cumulative score by each student in each quiz""" """This class is used to create the result table in database.Stores cumulative score by each student in each quiz"""
studentId = models.ForeignKey(to=User, on_delete=models.CASCADE) studentId = models.ForeignKey(to=User, on_delete=models.CASCADE)
quizId = models.ForeignKey(quiz, to_field='quizId', on_delete=models.CASCADE) quizId = models.ForeignKey(quiz, to_field='quizId', on_delete=models.CASCADE)
marks=models.IntegerField(default=0) marks=models.IntegerField(default=0)
class log(models.Model): class log(models.Model):
"""stores the student activity information for monitoring the students""" """This class is used to create the log table in database.stores the student activity information for monitoring the students"""
quizId=models.ForeignKey(quiz,to_field='quizId',on_delete=models.CASCADE, default="") quizId=models.ForeignKey(quiz,to_field='quizId',on_delete=models.CASCADE, default="")
studentId = models.ForeignKey(to=User, on_delete=models.CASCADE, default="") studentId = models.ForeignKey(to=User, on_delete=models.CASCADE, default="")
logtime = models.DateTimeField(default=timezone.now) logtime = models.DateTimeField(default=timezone.now)
......
...@@ -207,7 +207,7 @@ ...@@ -207,7 +207,7 @@
</div> </div>
</a> </a>
<a class="menu_card" id="menucard_logout" href="#"> <a class="menu_card" id="menucard_logout" href='{% url "logout" %}?next=/'>
<div class="menu_card_wrapper"> <div class="menu_card_wrapper">
<div class="img_wrapper"><img height="90px" src="{% static 'img/menu_logout.svg' %}"></div> <div class="img_wrapper"><img height="90px" src="{% static 'img/menu_logout.svg' %}"></div>
<div class="menu_card_content"> <div class="menu_card_content">
......
...@@ -229,7 +229,7 @@ def sign_up(request): ...@@ -229,7 +229,7 @@ def sign_up(request):
if request.method == "POST": if request.method == "POST":
if form.is_valid(): if form.is_valid():
user = form.save() user = form.save()
login(request.user) login(request,user)
return render(request,'student.html') return render(request,'student.html')
context['form']=form context['form']=form
return render(request,'registration/signup.html',context) return render(request,'registration/signup.html',context)
...@@ -287,7 +287,8 @@ def add_quiz(request): ...@@ -287,7 +287,8 @@ def add_quiz(request):
row=(vals[i],vals[i+1],vals[i+2],vals[i+3],vals[i+4],vals[i+5],vals[i+6],vals[i+7],vals[i+8]) row=(vals[i],vals[i+1],vals[i+2],vals[i+3],vals[i+4],vals[i+5],vals[i+6],vals[i+7],vals[i+8])
q1=Questions(question=row[0],option1=row[1],option2=row[2],option3=row[3],option4=row[4], q1=Questions(question=row[0],option1=row[1],option2=row[2],option3=row[3],option4=row[4],
answer=row[7],marks=int(row[5]),negative=float(row[6]),explainations=row[7],quizCode=q.quizCode,quizId=q) answer=row[7],marks=int(row[5]),negative=float(row[6]),explainations=row[8],quizCode=q.quizCode,quizId=q)
print(row)
q1.save() q1.save()
i=i+9 i=i+9
return render(request,'professor.html',{'quiz_upload':True})#(request,'success') return render(request,'professor.html',{'quiz_upload':True})#(request,'success')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment