diff --git a/Website/api/admin.py b/Website/api/admin.py index 8446cf4..5f8cd8c 100644 --- a/Website/api/admin.py +++ b/Website/api/admin.py @@ -2,7 +2,7 @@ from django.contrib import admin from .models import ( DefFiles, Assignment, - Classes, + Class, Teacher, Student ) @@ -13,4 +13,4 @@ admin.site.register(Teacher) admin.site.register(Student) admin.site.register(DefFiles) admin.site.register(Assignment) -admin.site.register(Classes) +admin.site.register(Class) diff --git a/Website/api/maker.py b/Website/api/maker.py index fb383ed..0f0b07f 100644 --- a/Website/api/maker.py +++ b/Website/api/maker.py @@ -30,7 +30,7 @@ # # #################################### # -# from api.models import Assignment, Student, Classes, Teacher, DefFiles +# from api.models import Assignment, Student, Class, Teacher, DefFiles # from datetime import datetime # # f1 = DefFiles( @@ -76,8 +76,8 @@ # A3.files.add(f4) # A3.save() # -# #classes -# math = Classes( +# #Class +# math = Class( # name='Math5', # # ) @@ -86,7 +86,7 @@ # math.assignments.add(A2) # math.save() # -# english = Classes( +# english = Class( # name='English', # ) # english.save() @@ -104,8 +104,8 @@ # repo="https://github.com/therealraffi/2022rkhondak.git", # ) # raffu.save() -# raffu.classes.add(math) -# raffu.classes.add(english) +# raffu.Class.add(math) +# raffu.Class.add(english) # raffu.save() # # #teachers @@ -115,7 +115,7 @@ # ion_user="eharris1" # ) # ng.save() -# ng.classes.add(math) +# ng.Class.add(math) # ng.save() # # chao = Teacher( @@ -124,5 +124,5 @@ # ion_user="AKBailey" # ) # chao.save() -# chao.classes.add(english) +# chao.Class.add(english) # chao.save() diff --git a/Website/api/migrations/0001_initial.py b/Website/api/migrations/0001_initial.py index 96b239b..428a21e 100644 --- a/Website/api/migrations/0001_initial.py +++ b/Website/api/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 3.0.7 on 2020-06-14 19:14 +# Generated by Django 3.0.7 on 2020-06-14 23:00 from django.conf import settings from django.db import migrations, models @@ -14,6 +14,19 @@ class Migration(migrations.Migration): ] 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)), + ('confirmed', models.TextField(blank=True, default='')), + ('unconfirmed', models.TextField(blank=True, default='')), + ], + ), migrations.CreateModel( name='DefFiles', fields=[ @@ -28,13 +41,9 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Teacher', fields=[ - ('created', models.DateTimeField(auto_now_add=True)), - ('first_name', models.CharField(max_length=100)), - ('last_name', models.CharField(max_length=100)), - ('classes', models.CharField(blank=True, default='', max_length=100)), - ('ion_user', models.CharField(max_length=100, primary_key=True, serialize=False)), - ('git', models.CharField(max_length=100)), - ('email', models.CharField(blank=True, default='', max_length=100)), + ('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(to='api.Class')), ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), @@ -42,21 +51,12 @@ class Migration(migrations.Migration): name='Student', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('website', models.CharField(blank=True, default='https://google.com', max_length=150)), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='Classes', - fields=[ - ('name', models.CharField(max_length=100, primary_key=True, serialize=False)), + ('grade', models.IntegerField(blank=True, default=0)), + ('git', models.CharField(blank=True, default='', max_length=100)), ('repo', models.URLField(blank=True, default='')), - ('path', models.CharField(default='', max_length=100)), - ('teacher', models.CharField(default='', max_length=100)), - ('assignments', models.TextField(blank=True, default='')), - ('default_file', models.CharField(blank=True, default='', max_length=100)), - ('confirmed', models.TextField(blank=True, default='')), - ('unconfirmed', models.TextField(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='')), ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), diff --git a/Website/api/migrations/0002_auto_20200614_2034.py b/Website/api/migrations/0002_auto_20200614_2034.py deleted file mode 100644 index f6c6f87..0000000 --- a/Website/api/migrations/0002_auto_20200614_2034.py +++ /dev/null @@ -1,52 +0,0 @@ -# Generated by Django 3.0.7 on 2020-06-14 20:34 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('api', '0001_initial'), - ] - - operations = [ - migrations.RemoveField( - model_name='student', - name='website', - ), - migrations.AddField( - model_name='student', - name='added_to', - field=models.CharField(blank=True, default='', max_length=100), - ), - migrations.AddField( - model_name='student', - name='classes', - field=models.CharField(blank=True, default='', max_length=100), - ), - migrations.AddField( - model_name='student', - name='completed', - field=models.TextField(blank=True, default=''), - ), - migrations.AddField( - model_name='student', - name='git', - field=models.CharField(blank=True, default='https://github.com/', max_length=100), - ), - migrations.AddField( - model_name='student', - name='grade', - field=models.IntegerField(blank=True, default=9), - ), - migrations.AddField( - model_name='student', - name='repo', - field=models.URLField(blank=True, default=''), - ), - migrations.AddField( - model_name='student', - name='student_id', - field=models.IntegerField(blank=True, default=0), - ), - ] diff --git a/Website/api/migrations/0002_auto_20200615_0046.py b/Website/api/migrations/0002_auto_20200615_0046.py new file mode 100644 index 0000000..94bb36e --- /dev/null +++ b/Website/api/migrations/0002_auto_20200615_0046.py @@ -0,0 +1,31 @@ +# Generated by Django 3.0.7 on 2020-06-15 00:46 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('api', '0001_initial'), + ] + + operations = [ + migrations.RemoveField( + model_name='class', + name='confirmed', + ), + migrations.AddField( + model_name='class', + name='confirmed', + field=models.ManyToManyField(blank=True, related_name='confirmed', to='api.Student'), + ), + migrations.RemoveField( + model_name='class', + name='unconfirmed', + ), + migrations.AddField( + model_name='class', + name='unconfirmed', + field=models.ManyToManyField(blank=True, related_name='unconfirmed', to='api.Student'), + ), + ] diff --git a/Website/api/migrations/0003_auto_20200614_2044.py b/Website/api/migrations/0003_auto_20200614_2044.py deleted file mode 100644 index d5a7a69..0000000 --- a/Website/api/migrations/0003_auto_20200614_2044.py +++ /dev/null @@ -1,43 +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 = [ - ('api', '0002_auto_20200614_2034'), - ] - - operations = [ - migrations.RemoveField( - model_name='student', - name='student_id', - ), - migrations.RemoveField( - model_name='teacher', - name='created', - ), - migrations.RemoveField( - model_name='teacher', - name='email', - ), - migrations.RemoveField( - model_name='teacher', - name='first_name', - ), - migrations.RemoveField( - model_name='teacher', - name='last_name', - ), - migrations.AlterField( - model_name='student', - name='git', - field=models.CharField(blank=True, default='', max_length=100), - ), - migrations.AlterField( - model_name='student', - name='grade', - field=models.IntegerField(blank=True), - ), - ] diff --git a/Website/api/migrations/0003_auto_20200615_0233.py b/Website/api/migrations/0003_auto_20200615_0233.py new file mode 100644 index 0000000..031aa1a --- /dev/null +++ b/Website/api/migrations/0003_auto_20200615_0233.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.7 on 2020-06-15 02:33 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('api', '0002_auto_20200615_0046'), + ] + + operations = [ + migrations.AlterField( + model_name='teacher', + name='classes', + field=models.ManyToManyField(blank=True, related_name='teacher', to='api.Class'), + ), + ] diff --git a/Website/api/migrations/0004_auto_20200614_2107.py b/Website/api/migrations/0004_auto_20200614_2107.py deleted file mode 100644 index 75e2a7c..0000000 --- a/Website/api/migrations/0004_auto_20200614_2107.py +++ /dev/null @@ -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 = [ - ('api', '0003_auto_20200614_2044'), - ] - - operations = [ - migrations.AlterField( - model_name='student', - name='grade', - field=models.IntegerField(blank=True, default=0), - ), - ] diff --git a/Website/api/migrations/0004_auto_20200615_0255.py b/Website/api/migrations/0004_auto_20200615_0255.py new file mode 100644 index 0000000..e126c18 --- /dev/null +++ b/Website/api/migrations/0004_auto_20200615_0255.py @@ -0,0 +1,22 @@ +# Generated by Django 3.0.7 on 2020-06-15 02:55 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('api', '0003_auto_20200615_0233'), + ] + + operations = [ + migrations.RemoveField( + model_name='teacher', + name='classes', + ), + migrations.AddField( + model_name='class', + name='teachers', + field=models.ManyToManyField(blank=True, related_name='teachers', to='api.Teacher'), + ), + ] diff --git a/Website/api/models.py b/Website/api/models.py index e8bb2b3..268c451 100644 --- a/Website/api/models.py +++ b/Website/api/models.py @@ -1,52 +1,7 @@ from django.db import models from django.contrib.auth.models import User -class DefFiles(models.Model): - name=models.CharField(max_length=100) - path=models.CharField(max_length=100) - assignment=models.CharField(max_length=100, default="") - classes=models.CharField(max_length=100) - teacher=models.CharField(max_length=100) -class Assignment(models.Model): - owner = models.ForeignKey('auth.User', related_name='assignments', on_delete=models.CASCADE) - - name=models.CharField(max_length=100, primary_key=True) - due_date=models.DateTimeField() - # files = models.ManyToManyField(DefFiles) - files=models.CharField(max_length=100, default="", blank=True) - path=models.CharField(max_length=100) - classes=models.CharField(max_length=100) - teacher=models.CharField(max_length=100) - def __str__(self): - return '%s' % (self.name) - -class Classes(models.Model): - user = models.OneToOneField(User, on_delete=models.CASCADE) - - name = models.CharField(primary_key=True, max_length=100) - repo=models.URLField(default="", blank=True) - path=models.CharField(max_length=100, default="") - teacher=models.CharField(max_length=100, default="") - assignments=models.TextField(default="", blank=True) - default_file=models.CharField(max_length=100, default="", blank=True) - confirmed=models.TextField(default="", blank=True) - unconfirmed=models.TextField(default="", blank=True) - - # assignments = models.ManyToManyField(Assignment, default="") - # default_file = models.ManyToManyField(DefFiles) - def save(self, *args, **kwargs): - return super(Classes, self).save(*args, **kwargs) - -class Teacher(models.Model): - user = models.OneToOneField(User, on_delete=models.CASCADE) - # classes = models.ManyToManyField(Classes, default="") - classes=models.CharField(max_length=100, default="", blank=True) - ion_user=models.CharField(primary_key=True, max_length=100) - git=models.CharField(max_length=100) - - def save(self, *args, **kwargs): - super(Teacher, self).save(*args, **kwargs) class Student(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) @@ -62,3 +17,58 @@ class Student(models.Model): def __str__(self): return f"{self.user.username}'s Profile" + +class Class(models.Model): + name = models.CharField(primary_key=True, max_length=100) + description = models.CharField(default="Class Description", max_length=500) + repo=models.URLField(default="", blank=True) + path=models.CharField(max_length=100, default="") + assignments=models.TextField(default="", blank=True) + default_file=models.CharField(max_length=100, default="", blank=True) + confirmed=models.ManyToManyField(Student, blank=True, related_name='confirmed') + unconfirmed=models.ManyToManyField(Student, blank=True, related_name='unconfirmed') + + # assignments = models.ManyToManyField(Assignment, default="") + # default_file = models.ManyToManyField(DefFiles) + def save(self, *args, **kwargs): + return super(Class, self).save(*args, **kwargs) + + def __str__(self): + return self.name + +class Teacher(models.Model): + user = models.OneToOneField(User, on_delete=models.CASCADE) + classes=models.ManyToManyField(Class, blank=True, related_name='classes') + git=models.CharField(max_length=100, default="", blank=True) + + + def __str__(self): + return f"{self.user.username}'s Profile" + + def save(self, *args, **kwargs): + super(Teacher, self).save(*args, **kwargs) + + + + + +class Assignment(models.Model): + owner = models.ForeignKey('auth.User', related_name='assignments', on_delete=models.CASCADE) + + name=models.CharField(max_length=100, primary_key=True) + due_date=models.DateTimeField() + # files = models.ManyToManyField(DefFiles) + files=models.CharField(max_length=100, default="", blank=True) + path=models.CharField(max_length=100) + classes=models.CharField(max_length=100) + teacher=models.CharField(max_length=100) + def __str__(self): + return '%s' % (self.name) + + +class DefFiles(models.Model): + name=models.CharField(max_length=100) + path=models.CharField(max_length=100) + assignment=models.CharField(max_length=100, default="") + classes=models.CharField(max_length=100) + teacher=models.CharField(max_length=100) diff --git a/Website/api/serializers.py b/Website/api/serializers.py index 2b4bb54..46571fc 100644 --- a/Website/api/serializers.py +++ b/Website/api/serializers.py @@ -1,5 +1,5 @@ from django.contrib.auth.models import User, Group -from .models import Student, Teacher, Classes, Assignment, DefFiles +from .models import Student, Teacher, Class, Assignment, DefFiles from rest_framework import serializers, permissions from django.contrib.auth.models import User from .permissions import IsOwnerOrReadOnly,isTeacher @@ -15,41 +15,39 @@ class UserSerializer(serializers.HyperlinkedModelSerializer): # class DefFilesSerializer(serializers.HyperlinkedModelSerializer): # class Meta: # model = DefFiles -# fields = ['name', 'path','assignment','classes', "teacher",'url', 'id'] +# fields = ['name', 'path','assignment','Class', "teacher",'url', 'id'] class AssignmentSerializer(serializers.HyperlinkedModelSerializer): - #permissions_classes = [permissions.IsAuthenticatedOrReadOnly] + #permissions_Class = [permissions.IsAuthenticatedOrReadOnly] # files = DefFilesSerializer(many=True, read_only=True,allow_null=True) owner = serializers.ReadOnlyField(source='owner.username') class Meta: model = Assignment - # fields = ['url','name', 'due_date', 'path' , "classes","teacher",'owner'] - fields = ['name', 'due_date', 'path' , "classes","teacher",'owner'] + # fields = ['url','name', 'due_date', 'path' , "Class","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) # default_file=DefFilesSerializer(many=True, read_only=True,allow_null=True) owner = serializers.ReadOnlyField(source='owner.username') class Meta: - model = Classes + model = Class # fields = ['url','name', 'repo','path', "teacher",'assignments',"default_file", 'confirmed', 'unconfirmed','owner'] fields = ['name', 'repo','path', "teacher",'assignments',"default_file", 'confirmed', 'unconfirmed','owner'] class StudentSerializer(serializers.HyperlinkedModelSerializer): - # 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') class Meta: model = Student - # fields = ['url','first_name', 'last_name', 'grade','email','student_id', 'git','ion_user','classes','added_to','completed', 'repo','owner'] - fields = ['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 = ['first_name', 'last_name', 'grade','email','student_id', 'git','ion_user','Class','added_to','completed', 'repo','owner'] 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') class Meta: model = Teacher - # fields = ['url','first_name', 'last_name','git','ion_user', 'email','classes','owner'] - fields = ['first_name', 'last_name','git','ion_user', 'email','classes','owner'] - - + # fields = ['url','first_name', 'last_name','git','ion_user', 'email','Class','owner'] + fields = ['first_name', 'last_name','git','ion_user', 'email','Class','owner'] diff --git a/Website/api/urls.py b/Website/api/urls.py index f130d15..6434309 100644 --- a/Website/api/urls.py +++ b/Website/api/urls.py @@ -9,8 +9,8 @@ urlpatterns = [ path('teachers//', views.TeacherDetail.as_view()), path('assignments/', views.AssignmentList.as_view()), path('assignments//', views.AssignmentDetail.as_view()), - path('classes/', views.ClassesList.as_view()), - path('classes//', views.ClassesDetail.as_view()), + path('classes/', views.ClassList.as_view()), + path('classes//', views.ClassDetail.as_view()), ] -urlpatterns = format_suffix_patterns(urlpatterns) \ No newline at end of file +urlpatterns = format_suffix_patterns(urlpatterns) diff --git a/Website/api/views.py b/Website/api/views.py index 3876c0a..11af2b1 100644 --- a/Website/api/views.py +++ b/Website/api/views.py @@ -1,5 +1,5 @@ -from .models import Student, Teacher, Classes, Assignment, DefFiles -from .serializers import StudentSerializer, TeacherSerializer, ClassesSerializer, AssignmentSerializer, UserSerializer +from .models import Student, Teacher, Class, Assignment, DefFiles +from .serializers import StudentSerializer, TeacherSerializer, ClassSerializer, AssignmentSerializer, UserSerializer from rest_framework import generics, viewsets, permissions, response, status from django.http import Http404 from rest_framework.views import APIView @@ -14,7 +14,7 @@ from rest_framework.response import Response class UserViewSet(viewsets.ModelViewSet): queryset = User.objects.all() serializer_class = UserSerializer - permission_classes = [permissions.IsAuthenticated] + permission_Class = [permissions.IsAuthenticated] class StudentViewSet(viewsets.ModelViewSet): @@ -23,7 +23,7 @@ class StudentViewSet(viewsets.ModelViewSet): """ queryset = Student.objects.all() serializer_class = StudentSerializer - permission_classes = [permissions.IsAuthenticated, IsOwnerOrReadOnly] + permission_Class = [permissions.IsAuthenticated, IsOwnerOrReadOnly] def perform_create(self, serializer): serializer.save(owner=self.request.user) @@ -34,18 +34,18 @@ class TeacherViewSet(viewsets.ModelViewSet): """ queryset = Teacher.objects.all() serializer_class = TeacherSerializer - permission_classes = [permissions.IsAuthenticated, IsOwnerOrReadOnly] + permission_Class = [permissions.IsAuthenticated, IsOwnerOrReadOnly] def perform_create(self, serializer): serializer.save(owner=self.request.user) -class ClassesViewSet(viewsets.ModelViewSet): +class ClassViewSet(viewsets.ModelViewSet): """ API endpoint that allows users to be viewed or edited. """ - queryset = Classes.objects.all() - serializer_class = ClassesSerializer - permission_classes = [permissions.IsAuthenticated, IsOwnerOrReadOnly] + queryset = Class.objects.all() + serializer_class = ClassSerializer + permission_Class = [permissions.IsAuthenticated, IsOwnerOrReadOnly] def perform_create(self, serializer): if(self.request.user.groups.filter(name__in=['teachers']).exists() or self.request.user.is_superuser): @@ -61,7 +61,7 @@ class AssignmentViewSet(viewsets.ModelViewSet): """ queryset = Assignment.objects.all() serializer_class = AssignmentSerializer - permission_classes = [permissions.IsAuthenticated, isTeacher, IsOwnerOrReadOnly] + permission_Class = [permissions.IsAuthenticated, isTeacher, IsOwnerOrReadOnly] def perform_create(self, serializer): if(self.request.user.groups.filter(name__in=['teachers']).exists() or self.request.user.is_superuser): @@ -76,4 +76,4 @@ class AssignmentViewSet(viewsets.ModelViewSet): # """ # queryset = DefFiles.objects.all() # serializer_class = DefFilesSerializer -# permissions_classes = [permissions.IsAuthenticatedOrReadOnly] +# permissions_Class = [permissions.IsAuthenticatedOrReadOnly] diff --git a/Website/config/urls.py b/Website/config/urls.py index 420beb6..297739c 100644 --- a/Website/config/urls.py +++ b/Website/config/urls.py @@ -9,7 +9,7 @@ router = routers.DefaultRouter() router.register(r'students', api_views.StudentViewSet) router.register(r'teachers', api_views.TeacherViewSet) router.register(r'assignments', api_views.AssignmentViewSet) -router.register(r'classes', api_views.ClassesViewSet) +router.register(r'classes', api_views.ClassViewSet) # router.register(r'files', api_views.DefFilesViewSet) router.register(r'users', api_views.UserViewSet) diff --git a/Website/skoolos/static/skoolos/styles.css b/Website/skoolos/static/skoolos/styles.css index 8eb8163..5da71bb 100644 --- a/Website/skoolos/static/skoolos/styles.css +++ b/Website/skoolos/static/skoolos/styles.css @@ -13,22 +13,20 @@ body { color: #333333; margin-top: 5rem; font-family: 'Segoe UI'; + margin-left: 2.5rem; + margin-right: 2.5rem; } h1, h2, h3, h4, h5, h6 { color: #444444; } -ul { - margin: 0; -} - .bg-steel { background: #3cba54; } .site-header .navbar-nav .nav-link { - color: #cbd5db; + color: #e1e1e1; } .site-header .navbar-nav .nav-link:hover { @@ -38,63 +36,3 @@ ul { .site-header .navbar-nav .nav-link.active { font-weight: 500; } - -.content-section { - background: #ffffff; - padding: 10px 20px; - border: 1px solid #dddddd; - border-radius: 3px; - margin-bottom: 20px; -} - -.article-title { - color: #444444; -} - -a.article-title:hover { - color: #428bca; - text-decoration: none; -} - -.article-content { - white-space: pre-line; -} - -.article-img { - height: 65px; - width: 65px; - margin-right: 16px; -} - -.article-metadata { - padding-bottom: 1px; - margin-bottom: 4px; - border-bottom: 1px solid #e3e3e3 -} - -.article-metadata a:hover { - color: #333; - text-decoration: none; -} - -.article-svg { - width: 25px; - height: 25px; - vertical-align: middle; -} - -.account-img { - height: 125px; - width: 125px; - margin-right: 20px; - margin-bottom: 16px; -} - -.account-heading { - font-size: 2.5rem; -} - -.nounderline { - text-decoration: none !important; - color: black !important; -} diff --git a/Website/skoolos/static/skoolos/tj_trans.png b/Website/skoolos/static/skoolos/tj_trans.png new file mode 100644 index 0000000..873c249 Binary files /dev/null and b/Website/skoolos/static/skoolos/tj_trans.png differ diff --git a/Website/skoolos/templates/skoolos/base.html b/Website/skoolos/templates/skoolos/base.html index ce0d628..eb90110 100644 --- a/Website/skoolos/templates/skoolos/base.html +++ b/Website/skoolos/templates/skoolos/base.html @@ -21,8 +21,8 @@