diff --git a/Website/api/maker.py b/Website/api/maker.py index dd31bb6..fb383ed 100644 --- a/Website/api/maker.py +++ b/Website/api/maker.py @@ -1,128 +1,128 @@ -from datetime import datetime - -f1 = DefFiles( - name="instructions.txt" -) -f1.save() -f2 = DefFiles( - name="instructions.txt" -) -f2.save() -f3 = DefFiles( - name="sample.txt" -) -f3.save() -f4 = DefFiles( - name="rubric.txt" -) -f4.save() - -a1 = Assignment.objects.get(pk=1) -a1.files.add(f1) -a1.save() -a2 = Assignment.objects.get(pk=2) -a2.files.add(f2) -a2.save() -a3 = Assignment.objects.get(pk=3) -a3.files.add(f3) -a3.files.add(f4) -a3.save() - -#################################### - -from api.models import Assignment, Student, Classes, Teacher, DefFiles -from datetime import datetime - -f1 = DefFiles( - name="instructions.txt" -) -f1.save() -f2 = DefFiles( - name="instructions.txt" -) -f2.save() -f3 = DefFiles( - name="sample.txt" -) -f3.save() -f4 = DefFiles( - name="rubric.txt" -) -f4.save() - -A1 = Assignment( - name='Week1_HW', - due_date=datetime.now(), -) -A1.save() -A1.files.add(f1) -A1.save() - -A2 = Assignment( - name='Week2_HW', - due_date=datetime.now(), - -) -A2.save() -A2.files.add(f2) -A2.save() - -A3 = Assignment( - name='Journal1', - due_date=datetime.now(), -) -A3.save() -A3.files.add(f3) -A3.files.add(f4) -A3.save() - -#classes -math = Classes( - name='Math5', - -) -math.save() -math.assignments.add(A1) -math.assignments.add(A2) -math.save() - -english = Classes( - name='English', -) -english.save() -english.assignments.add(A3) -english.save() - -#students -raffu = Student( - first_name = "Raffu", - last_name = "Khondaker", - student_id = 1579460, - ion_user="2022rkhondak", - webmail = "2022rkhondak@tjhsst.edu", - grade = 10, - repo="https://github.com/therealraffi/2022rkhondak.git", -) -raffu.save() -raffu.classes.add(math) -raffu.classes.add(english) -raffu.save() - -#teachers -ng = Teacher( - first_name = "Errin", - last_name = "Harris", - ion_user="eharris1" -) -ng.save() -ng.classes.add(math) -ng.save() - -chao = Teacher( - first_name = "Abagail", - last_name = "Bailey", - ion_user="AKBailey" -) -chao.save() -chao.classes.add(english) -chao.save() +# from datetime import datetime +# +# f1 = DefFiles( +# name="instructions.txt" +# ) +# f1.save() +# f2 = DefFiles( +# name="instructions.txt" +# ) +# f2.save() +# f3 = DefFiles( +# name="sample.txt" +# ) +# f3.save() +# f4 = DefFiles( +# name="rubric.txt" +# ) +# f4.save() +# +# a1 = Assignment.objects.get(pk=1) +# a1.files.add(f1) +# a1.save() +# a2 = Assignment.objects.get(pk=2) +# a2.files.add(f2) +# a2.save() +# a3 = Assignment.objects.get(pk=3) +# a3.files.add(f3) +# a3.files.add(f4) +# a3.save() +# +# #################################### +# +# from api.models import Assignment, Student, Classes, Teacher, DefFiles +# from datetime import datetime +# +# f1 = DefFiles( +# name="instructions.txt" +# ) +# f1.save() +# f2 = DefFiles( +# name="instructions.txt" +# ) +# f2.save() +# f3 = DefFiles( +# name="sample.txt" +# ) +# f3.save() +# f4 = DefFiles( +# name="rubric.txt" +# ) +# f4.save() +# +# A1 = Assignment( +# name='Week1_HW', +# due_date=datetime.now(), +# ) +# A1.save() +# A1.files.add(f1) +# A1.save() +# +# A2 = Assignment( +# name='Week2_HW', +# due_date=datetime.now(), +# +# ) +# A2.save() +# A2.files.add(f2) +# A2.save() +# +# A3 = Assignment( +# name='Journal1', +# due_date=datetime.now(), +# ) +# A3.save() +# A3.files.add(f3) +# A3.files.add(f4) +# A3.save() +# +# #classes +# math = Classes( +# name='Math5', +# +# ) +# math.save() +# math.assignments.add(A1) +# math.assignments.add(A2) +# math.save() +# +# english = Classes( +# name='English', +# ) +# english.save() +# english.assignments.add(A3) +# english.save() +# +# #students +# raffu = Student( +# first_name = "Raffu", +# last_name = "Khondaker", +# student_id = 1579460, +# ion_user="2022rkhondak", +# webmail = "2022rkhondak@tjhsst.edu", +# grade = 10, +# repo="https://github.com/therealraffi/2022rkhondak.git", +# ) +# raffu.save() +# raffu.classes.add(math) +# raffu.classes.add(english) +# raffu.save() +# +# #teachers +# ng = Teacher( +# first_name = "Errin", +# last_name = "Harris", +# ion_user="eharris1" +# ) +# ng.save() +# ng.classes.add(math) +# ng.save() +# +# chao = Teacher( +# first_name = "Abagail", +# last_name = "Bailey", +# ion_user="AKBailey" +# ) +# chao.save() +# chao.classes.add(english) +# chao.save() diff --git a/Website/api/migrations/0001_initial.py b/Website/api/migrations/0001_initial.py index 37f2d7e..96b239b 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-13 18:15 +# Generated by Django 3.0.7 on 2020-06-14 19:14 from django.conf import settings from django.db import migrations, models @@ -35,25 +35,15 @@ class Migration(migrations.Migration): ('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)), - ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='teachers', to=settings.AUTH_USER_MODEL)), + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Student', fields=[ - ('created', models.DateTimeField(auto_now_add=True)), - ('first_name', models.CharField(max_length=100)), - ('last_name', models.CharField(max_length=100)), - ('student_id', models.IntegerField()), - ('ion_user', models.CharField(max_length=100, primary_key=True, serialize=False)), - ('email', models.CharField(blank=True, default='', max_length=100)), - ('grade', models.IntegerField()), - ('git', models.CharField(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='')), - ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='students', to=settings.AUTH_USER_MODEL)), + ('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( @@ -67,7 +57,7 @@ class Migration(migrations.Migration): ('default_file', models.CharField(blank=True, default='', max_length=100)), ('confirmed', models.TextField(blank=True, default='')), ('unconfirmed', models.TextField(blank=True, default='')), - ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='classes', to=settings.AUTH_USER_MODEL)), + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( diff --git a/Website/api/migrations/0002_auto_20200614_2034.py b/Website/api/migrations/0002_auto_20200614_2034.py new file mode 100644 index 0000000..f6c6f87 --- /dev/null +++ b/Website/api/migrations/0002_auto_20200614_2034.py @@ -0,0 +1,52 @@ +# 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/0003_auto_20200614_2044.py b/Website/api/migrations/0003_auto_20200614_2044.py new file mode 100644 index 0000000..d5a7a69 --- /dev/null +++ b/Website/api/migrations/0003_auto_20200614_2044.py @@ -0,0 +1,43 @@ +# 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/0004_auto_20200614_2107.py b/Website/api/migrations/0004_auto_20200614_2107.py new file mode 100644 index 0000000..75e2a7c --- /dev/null +++ b/Website/api/migrations/0004_auto_20200614_2107.py @@ -0,0 +1,18 @@ +# 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/models.py b/Website/api/models.py index 3df2268..e8bb2b3 100644 --- a/Website/api/models.py +++ b/Website/api/models.py @@ -39,26 +39,26 @@ class Classes(models.Model): return super(Classes, self).save(*args, **kwargs) class Teacher(models.Model): - owner = models.ForeignKey('auth.User', related_name='teachers', on_delete=models.CASCADE) - - created = models.DateTimeField(auto_now_add=True) - first_name = models.CharField(max_length=100) - last_name = models.CharField(max_length=100) + 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) - email=models.CharField(max_length=100, default="", blank=True) + + def save(self, *args, **kwargs): + super(Teacher, self).save(*args, **kwargs) class Student(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) - student_id = models.IntegerField() - grade = models.IntegerField() - git=models.CharField(max_length=100) + grade = models.IntegerField(default=0, blank=True) + git=models.CharField(default="", max_length=100, blank=True) repo=models.URLField(default="", blank=True) classes=models.CharField(max_length=100, default="", blank=True) added_to=models.CharField(max_length=100, default="", blank=True) completed=models.TextField(default="", blank=True) def save(self, *args, **kwargs): - return super(Student, self).save(*args, **kwargs) + super(Student, self).save(*args, **kwargs) + + def __str__(self): + return f"{self.user.username}'s Profile" diff --git a/Website/api/signals.py b/Website/api/signals.py index 1ec0946..fe8deab 100644 --- a/Website/api/signals.py +++ b/Website/api/signals.py @@ -2,7 +2,4 @@ from django.contrib.auth.models import User from django.db.models.signals import post_save from django.dispatch import receiver from .models import Student, Teacher - -@receiver(post_save, sender=User) -def save_profile(sender, instance, **kwargs): - instance.profile.save() +) diff --git a/Website/config/settings.py b/Website/config/settings.py index b636949..17603a8 100644 --- a/Website/config/settings.py +++ b/Website/config/settings.py @@ -43,8 +43,6 @@ INSTALLED_APPS = [ 'api', 'crispy_forms', 'django_forms_bootstrap', - - ] REST_FRAMEWORK = { diff --git a/Website/skoolos/migrations/__init__.py b/Website/skoolos/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/Website/skoolos/static/skoolos/Segoe UI Bold Italic.ttf b/Website/skoolos/static/skoolos/Segoe UI Bold Italic.ttf new file mode 100644 index 0000000..d134de8 Binary files /dev/null and b/Website/skoolos/static/skoolos/Segoe UI Bold Italic.ttf differ diff --git a/Website/skoolos/static/skoolos/Segoe UI Bold.ttf b/Website/skoolos/static/skoolos/Segoe UI Bold.ttf new file mode 100644 index 0000000..5723e8b Binary files /dev/null and b/Website/skoolos/static/skoolos/Segoe UI Bold.ttf differ diff --git a/Website/skoolos/static/skoolos/Segoe UI Italic.ttf b/Website/skoolos/static/skoolos/Segoe UI Italic.ttf new file mode 100644 index 0000000..07fdf85 Binary files /dev/null and b/Website/skoolos/static/skoolos/Segoe UI Italic.ttf differ diff --git a/Website/skoolos/static/skoolos/Segoe UI.ttf b/Website/skoolos/static/skoolos/Segoe UI.ttf new file mode 100644 index 0000000..46b3b99 Binary files /dev/null and b/Website/skoolos/static/skoolos/Segoe UI.ttf differ diff --git a/Website/skoolos/static/skoolos/futura.ttf b/Website/skoolos/static/skoolos/futura.ttf new file mode 100644 index 0000000..1ef199e Binary files /dev/null and b/Website/skoolos/static/skoolos/futura.ttf differ diff --git a/Website/skoolos/static/skoolos/styles.css b/Website/skoolos/static/skoolos/styles.css index e69de29..8eb8163 100644 --- a/Website/skoolos/static/skoolos/styles.css +++ b/Website/skoolos/static/skoolos/styles.css @@ -0,0 +1,100 @@ +@font-face { + font-family: Futura; + src: url(futura.ttf); +} + +@font-face { + font-family: 'Segoe UI'; + src: url('Segoe UI.ttf'); +} + +body { + background: #fafafa; + color: #333333; + margin-top: 5rem; + font-family: 'Segoe UI'; +} + +h1, h2, h3, h4, h5, h6 { + color: #444444; +} + +ul { + margin: 0; +} + +.bg-steel { + background: #3cba54; +} + +.site-header .navbar-nav .nav-link { + color: #cbd5db; +} + +.site-header .navbar-nav .nav-link:hover { + color: #ffffff; +} + +.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/templates/skoolos/base.html b/Website/skoolos/templates/skoolos/base.html index ac4bb53..ce0d628 100644 --- a/Website/skoolos/templates/skoolos/base.html +++ b/Website/skoolos/templates/skoolos/base.html @@ -17,6 +17,32 @@
+