You need to sign in or sign up before continuing.
Commit 536ad3d2 authored by Roshan Rabinarayan's avatar Roshan Rabinarayan

added view for various quizzes in student

parent 48f3dc07
No preview for this file type
# Generated by Django 2.2.7 on 2020-10-26 13:46
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)),
],
),
migrations.CreateModel(
name='quiz',
fields=[
('quizId', models.AutoField(default=0, primary_key=True, serialize=False)),
('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.CharField(default='No Name', max_length=100)),
],
),
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.AddField(
model_name='questions',
name='quizId',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='quiz.quiz'),
),
migrations.CreateModel(
name='cribs',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('studentId', models.CharField(max_length=100)),
('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')),
],
),
]
# Generated by Django 3.1.2 on 2020-10-30 20:19
import datetime
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('quiz', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='quiz',
name='date',
field=models.DateField(default=datetime.date.today),
),
migrations.AddField(
model_name='quiz',
name='startTime',
field=models.DateTimeField(default=datetime.datetime(2020, 10, 30, 20, 19, 59, 786706)),
),
]
# Generated by Django 3.1.2 on 2020-10-30 20:26
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('quiz', '0002_auto_20201030_2019'),
]
operations = [
migrations.AlterField(
model_name='quiz',
name='startTime',
field=models.TimeField(auto_now=True),
),
]
# Generated by Django 3.1.2 on 2020-11-02 15:26
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_20201030_2026'),
]
operations = [
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)),
],
),
]
# Generated by Django 3.1.2 on 2020-11-06 05:34
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('quiz', '0004_result'),
]
operations = [
migrations.AlterModelTable(
name='cribs',
table='cribs',
),
migrations.AlterModelTable(
name='questions',
table='Questions',
),
]
# Generated by Django 3.1.2 on 2020-11-06 13:01
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_20201106_0534'),
]
operations = [
migrations.AlterField(
model_name='quiz',
name='quizInstructor',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
]
# Generated by Django 3.1.2 on 2020-11-06 13:31
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('quiz', '0006_auto_20201106_1301'),
]
operations = [
migrations.AlterField(
model_name='quiz',
name='startTime',
field=models.TimeField(),
),
]
# Generated by Django 3.1.2 on 2020-11-06 14:50
import django.contrib.auth.models
import django.contrib.auth.validators
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
('auth', '0012_alter_user_first_name_max_length'),
('quiz', '0007_auto_20201106_1331'),
]
operations = [
migrations.AlterField(
model_name='quiz',
name='quizId',
field=models.AutoField(primary_key=True, serialize=False),
),
migrations.CreateModel(
name='User',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('password', models.CharField(max_length=128, verbose_name='password')),
('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),
('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')),
('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),
('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')),
('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
('role', models.CharField(default='Student', max_length=200)),
('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')),
('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')),
],
options={
'verbose_name': 'user',
'verbose_name_plural': 'users',
'abstract': False,
},
managers=[
('objects', django.contrib.auth.models.UserManager()),
],
),
]
# Generated by Django 3.1.2 on 2020-11-06 15:21
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('quiz', '0008_auto_20201106_1450'),
]
operations = [
migrations.DeleteModel(
name='User',
),
]
# Generated by Django 3.1.2 on 2020-11-06 15:30
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', '0009_delete_user'),
]
operations = [
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)),
],
),
]
...@@ -7,6 +7,10 @@ ...@@ -7,6 +7,10 @@
<body> <body>
<center><h1><a>Welcome Professor {{user}}</a></h1> <center><h1><a>Welcome Professor {{user}}</a></h1>
<br><h1><a href="/create_quiz/">Create New Quiz</a></h1> <br><h1><a href="/create_quiz/">Create New Quiz</a></h1>
<br><h1><a href="/instructor?quiz_id=0">Instructor Graphs</a></h1></center> {%for quiz in quizId%}
<br><h1><a href="/instructor?quiz_id={{quiz.0}}">Instructor Graphs for quizCode:{{quiz.1}}</a></h1></center>
{%endfor%}
</body> </body>
</html> </html>
...@@ -7,6 +7,10 @@ ...@@ -7,6 +7,10 @@
<body> <body>
<center><h1><a>Welcome Student{{user}}</a></h1> <center><h1><a>Welcome Student{{user}}</a></h1>
<br><h1><a href="/quiz/?q=0">Start Quiz</a></h1> <br><h1><a href="/quiz/?q=0">Start Quiz</a></h1>
{%for quiz in quizId%}
<br><h1><a href="/quiz/?q={{quiz.0}}">Start Quiz Code:{{quiz.1}}</a></h1>
{%endfor%}
<br><h1><a href="/quiz/?q={{quizID}}">{{quizcode}}</a></h1>
<br><h1><a href="/submissions/">View Previous Quizzes</a></h1> <br><h1><a href="/submissions/">View Previous Quizzes</a></h1>
</body> </body>
</html> </html>
...@@ -102,12 +102,23 @@ def upload(request): ...@@ -102,12 +102,23 @@ def upload(request):
@login_required @login_required
def student(request): def student(request):
role = Permission.objects.all().filter(userId=request.user).values('role')[0]['role']; role = Permission.objects.all().filter(userId=request.user).values('role')[0]['role'];
quizzes=quiz.objects.all().values('quizId','quizCode')
quizId=list()
quizCode=list()
for q in quizzes:
quizId.append((q['quizId'],q['quizCode']))
print(role) print(role)
if role: if role:
if role == "S": if role == "S":
return render(request,'student.html') return render(request,'student.html',{'quizId':quizId})
else: else:
return render(request,'professor.html') quizzes=quiz.objects.all().filter().values('quizId','quizCode','quizInstructor')
quizId=list()
for q in quizzes:
quizId.append((q['quizId'],q['quizCode']))
return render(request,'professor.html',{'quizId':quizId})
return HttpResponse('Role not configured in Permission table') return HttpResponse('Role not configured in Permission table')
def upload_file(request): def upload_file(request):
......
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