Commit 67496fdb authored by Samarth Joshi's avatar Samarth Joshi

Adding multiuser support (kinda_

parent 7b302b5a
......@@ -121,4 +121,4 @@ USE_TZ = True
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'statics'),)
LOGIN_REDIRECT_URL = 'student'
LOGIN_REDIRECT_URL = 'student'
\ No newline at end of file
No preview for this file type
......@@ -6,8 +6,11 @@ from .models import submission
from .models import cribs
from .models import quiz
from .models import result
from .models import Permission
admin.site.register(Questions)
admin.site.register(submission)
admin.site.register(cribs)
admin.site.register(quiz)
admin.site.register(result)
admin.site.register(Permission)
# 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)),
],
),
]
......@@ -2,6 +2,10 @@ from django.db import models
from django.contrib.auth.models import User
import datetime
class Permission(models.Model):
userId=models.ForeignKey(to=User, on_delete=models.CASCADE)
role=models.CharField(max_length=1,default="S")
class quiz(models.Model):
quizId=models.AutoField(primary_key=True) #primary key
......
test
\ No newline at end of file
......@@ -13,6 +13,7 @@ from django.db.models import Max
from django.shortcuts import redirect
from .models import result as results
from .models import cribs as crib
from .models import Permission
from django.db import connection, transaction
import numpy as np
import math
......@@ -98,8 +99,11 @@ def upload(request):
@login_required
def student(request):
return render(request,'student.html')
role = Permission.objects.all().filter(userId=request.user).values('role')[0];
if role and role == "S":
return render(request,'student.html')
else:
return render(request,'professor.html')
def upload_file(request):
uploaded=False
......@@ -172,7 +176,7 @@ def sign_up(request):
if request.method == "POST":
if form.is_valid():
user = form.save()
login(request,user)
login(request.user)
return render(request,'student.html')
context['form']=form
return render(request,'registration/signup.html',context)
......
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