mirror of
https://github.com/Rushilwiz/SkoolOS.git
synced 2025-04-16 02:10:19 -04:00
Merge branch 'development' of https://github.com/Rushilwiz/SkoolOS into development
This commit is contained in:
commit
61200ae579
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -60,6 +60,10 @@ coverage.xml
|
||||||
local_settings.py
|
local_settings.py
|
||||||
db.sqlite3
|
db.sqlite3
|
||||||
db.sqlite3-journal
|
db.sqlite3-journal
|
||||||
|
migrations/
|
||||||
|
*/migrations/
|
||||||
|
**/**/migrations
|
||||||
|
**/migrations
|
||||||
|
|
||||||
# Flask stuff:
|
# Flask stuff:
|
||||||
instance/
|
instance/
|
||||||
|
|
|
@ -1,83 +0,0 @@
|
||||||
# Generated by Django 3.0.7 on 2020-06-15 19:24
|
|
||||||
|
|
||||||
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='Class',
|
|
||||||
fields=[
|
|
||||||
('name', models.CharField(max_length=100, primary_key=True, serialize=False)),
|
|
||||||
('description', models.CharField(default='Class Description', max_length=500)),
|
|
||||||
('repo', models.URLField(blank=True, default='')),
|
|
||||||
('path', models.CharField(default='', max_length=100)),
|
|
||||||
('assignments', models.TextField(blank=True, default='')),
|
|
||||||
('default_file', models.CharField(blank=True, default='', max_length=100)),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='DefFiles',
|
|
||||||
fields=[
|
|
||||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('name', models.CharField(max_length=100)),
|
|
||||||
('path', models.CharField(max_length=100)),
|
|
||||||
('assignment', models.CharField(default='', max_length=100)),
|
|
||||||
('classes', models.CharField(max_length=100)),
|
|
||||||
('teacher', models.CharField(max_length=100)),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='Teacher',
|
|
||||||
fields=[
|
|
||||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('git', models.CharField(blank=True, default='', max_length=100)),
|
|
||||||
('classes', models.ManyToManyField(blank=True, related_name='classes', to='api.Class')),
|
|
||||||
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='Student',
|
|
||||||
fields=[
|
|
||||||
('grade', models.IntegerField(blank=True, default=0)),
|
|
||||||
('git', models.CharField(blank=True, default='', max_length=100)),
|
|
||||||
('repo', models.URLField(blank=True, default='')),
|
|
||||||
('classes', models.CharField(blank=True, default='', max_length=100)),
|
|
||||||
('added_to', models.CharField(blank=True, default='', max_length=100)),
|
|
||||||
('completed', models.TextField(blank=True, default='')),
|
|
||||||
('ion_user', models.CharField(max_length=100, primary_key=True, serialize=False)),
|
|
||||||
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='class',
|
|
||||||
name='confirmed',
|
|
||||||
field=models.ManyToManyField(blank=True, related_name='confirmed', to='api.Student'),
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='class',
|
|
||||||
name='unconfirmed',
|
|
||||||
field=models.ManyToManyField(blank=True, related_name='unconfirmed', to='api.Student'),
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='Assignment',
|
|
||||||
fields=[
|
|
||||||
('name', models.CharField(max_length=100, primary_key=True, serialize=False)),
|
|
||||||
('due_date', models.DateTimeField()),
|
|
||||||
('files', models.CharField(blank=True, default='', max_length=100)),
|
|
||||||
('path', models.CharField(max_length=100)),
|
|
||||||
('classes', models.CharField(max_length=100)),
|
|
||||||
('teacher', models.CharField(max_length=100)),
|
|
||||||
('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='assignments', to=settings.AUTH_USER_MODEL)),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
]
|
|
|
@ -1,23 +0,0 @@
|
||||||
# Generated by Django 3.0.7 on 2020-06-15 20:19
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('api', '0001_initial'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='teacher',
|
|
||||||
name='id',
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='teacher',
|
|
||||||
name='ion_user',
|
|
||||||
field=models.CharField(default='eharris1', max_length=100, primary_key=True, serialize=False),
|
|
||||||
preserve_default=False,
|
|
||||||
),
|
|
||||||
]
|
|
|
@ -5,6 +5,7 @@ from django.contrib.auth.models import User
|
||||||
|
|
||||||
class Student(models.Model):
|
class Student(models.Model):
|
||||||
user = models.OneToOneField(User, on_delete=models.CASCADE)
|
user = models.OneToOneField(User, on_delete=models.CASCADE)
|
||||||
|
ion_user = models.CharField(max_length=100)
|
||||||
grade = models.IntegerField(default=0, blank=True)
|
grade = models.IntegerField(default=0, blank=True)
|
||||||
git=models.CharField(default="", max_length=100, blank=True)
|
git=models.CharField(default="", max_length=100, blank=True)
|
||||||
repo=models.URLField(default="", blank=True)
|
repo=models.URLField(default="", blank=True)
|
||||||
|
@ -39,6 +40,7 @@ class Class(models.Model):
|
||||||
|
|
||||||
class Teacher(models.Model):
|
class Teacher(models.Model):
|
||||||
user = models.OneToOneField(User, on_delete=models.CASCADE)
|
user = models.OneToOneField(User, on_delete=models.CASCADE)
|
||||||
|
ion_user = models.CharField(max_length=100)
|
||||||
classes=models.ManyToManyField(Class, blank=True, related_name='classes')
|
classes=models.ManyToManyField(Class, blank=True, related_name='classes')
|
||||||
git=models.CharField(max_length=100, default="", blank=True)
|
git=models.CharField(max_length=100, default="", blank=True)
|
||||||
ion_user=models.CharField(primary_key=True, max_length=100)
|
ion_user=models.CharField(primary_key=True, max_length=100)
|
||||||
|
|
|
@ -15,19 +15,19 @@ class UserSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
# class DefFilesSerializer(serializers.HyperlinkedModelSerializer):
|
# class DefFilesSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
# class Meta:
|
# class Meta:
|
||||||
# model = DefFiles
|
# model = DefFiles
|
||||||
# fields = ['name', 'path','assignment','classes', "teacher",'url', 'id']
|
# fields = ['name', 'path','assignment','Class', "teacher",'url', 'id']
|
||||||
|
|
||||||
class AssignmentSerializer(serializers.HyperlinkedModelSerializer):
|
class AssignmentSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
#permissions_classes = [permissions.IsAuthenticatedOrReadOnly]
|
#permissions_Class = [permissions.IsAuthenticatedOrReadOnly]
|
||||||
# files = DefFilesSerializer(many=True, read_only=True,allow_null=True)
|
# files = DefFilesSerializer(many=True, read_only=True,allow_null=True)
|
||||||
owner = serializers.ReadOnlyField(source='owner.username')
|
owner = serializers.ReadOnlyField(source='owner.username')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Assignment
|
model = Assignment
|
||||||
# fields = ['url','name', 'due_date', 'path' , "classes","teacher",'owner']
|
# fields = ['url','name', 'due_date', 'path' , "Class","teacher",'owner']
|
||||||
fields = ['name', 'due_date', 'path' , "classes","teacher",'owner']
|
fields = ['name', 'due_date', 'path' , "Class","teacher",'owner']
|
||||||
|
|
||||||
class ClassesSerializer(serializers.HyperlinkedModelSerializer):
|
class ClassSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
# assignments = AssignmentSerializer(many=True, read_only=True,allow_null=True)
|
# assignments = AssignmentSerializer(many=True, read_only=True,allow_null=True)
|
||||||
# default_file=DefFilesSerializer(many=True, read_only=True,allow_null=True)
|
# default_file=DefFilesSerializer(many=True, read_only=True,allow_null=True)
|
||||||
#owner = serializers.ReadOnlyField(source='owner.username')
|
#owner = serializers.ReadOnlyField(source='owner.username')
|
||||||
|
@ -37,18 +37,16 @@ class ClassesSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
fields = ['name', 'repo','path','assignments',"default_file", 'confirmed', 'unconfirmed']
|
fields = ['name', 'repo','path','assignments',"default_file", 'confirmed', 'unconfirmed']
|
||||||
|
|
||||||
class StudentSerializer(serializers.HyperlinkedModelSerializer):
|
class StudentSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
# classes = ClassesSerializer(many=True, read_only=True,allow_null=True)
|
# Class = ClassSerializer(many=True, read_only=True,allow_null=True)
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Student
|
model = Student
|
||||||
# fields = ['url','first_name', 'last_name', 'grade','email','student_id', 'git','ion_user','classes','added_to','completed', 'repo','owner']
|
# fields = ['url','first_name', 'last_name', 'grade','email','student_id', 'git','ion_user','Class','added_to','completed', 'repo','owner']
|
||||||
fields = ['url','grade', 'ion_user','git','user','classes','added_to','completed', 'repo']
|
fields = ['url','grade', 'ion_user','git','user','Class','added_to','completed', 'repo']
|
||||||
|
|
||||||
class TeacherSerializer(serializers.HyperlinkedModelSerializer):
|
class TeacherSerializer(serializers.ModelSerializer):
|
||||||
classes = ClassesSerializer(many=True, read_only=True,allow_null=True)
|
# Class = ClassSerializer(many=True, read_only=True,allow_null=True)
|
||||||
#owner = serializers.ReadOnlyField(source='owner.username')
|
owner = serializers.ReadOnlyField(source='owner.username')
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Teacher
|
model = Teacher
|
||||||
# fields = ['url','first_name', 'last_name','git','ion_user', 'email','classes','owner']
|
# fields = ['url','first_name', 'last_name','git','ion_user', 'email','Class','owner']
|
||||||
fields = ['git','classes','user', 'url']
|
fields = ['first_name', 'last_name','git','ion_user', 'email','Class','owner']
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
# Generated by Django 3.0.7 on 2020-06-14 19:13
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
initial = True
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='Token',
|
|
||||||
fields=[
|
|
||||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('username', models.TextField()),
|
|
||||||
('email', models.TextField()),
|
|
||||||
('first_name', models.TextField()),
|
|
||||||
('last_name', models.TextField()),
|
|
||||||
('isStudent', models.BooleanField()),
|
|
||||||
('token', models.CharField(max_length=255)),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
]
|
|
|
@ -1,18 +0,0 @@
|
||||||
# Generated by Django 3.0.7 on 2020-06-14 20:44
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('users', '0001_initial'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='token',
|
|
||||||
name='isStudent',
|
|
||||||
field=models.BooleanField(default=True),
|
|
||||||
),
|
|
||||||
]
|
|
|
@ -1,18 +0,0 @@
|
||||||
# Generated by Django 3.0.7 on 2020-06-14 21:07
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('users', '0002_auto_20200614_2044'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='token',
|
|
||||||
name='grade',
|
|
||||||
field=models.IntegerField(default=9),
|
|
||||||
),
|
|
||||||
]
|
|
|
@ -97,15 +97,15 @@ def create_account (request):
|
||||||
last_name=last_name,
|
last_name=last_name,
|
||||||
password=password)
|
password=password)
|
||||||
user.save()
|
user.save()
|
||||||
token.delete()
|
|
||||||
|
|
||||||
if isStudent:
|
if isStudent:
|
||||||
profile = Student(owner=user, git=git, grade=grade, ion_user=username)
|
profile = Student(user=user, git=git, grade=grade, ion_user=username)
|
||||||
else:
|
else:
|
||||||
profile = Teacher(owner=user, git=git, ion_user=username)
|
profile = Teacher(user=user, git=git, ion_user=usernam)
|
||||||
|
|
||||||
profile.save()
|
profile.save()
|
||||||
|
token.delete()
|
||||||
print (user)
|
print (user)
|
||||||
messages.success(request, "Your SkoolOS account has successfully been created")
|
messages.success(request, "Your SkoolOS account has successfully been created")
|
||||||
return redirect(f'/login/?username={username}')
|
return redirect(f'/login/?username={username}')
|
||||||
|
|
Loading…
Reference in New Issue
Block a user