-
{% endblock content %}
diff --git a/student/templates/my_class_student.html b/student/templates/my_class_student.html
index 525ce62..a9579d0 100644
--- a/student/templates/my_class_student.html
+++ b/student/templates/my_class_student.html
@@ -1,82 +1,32 @@
-{% extends "student_base.html" %}
+{% extends "base.html" %}
{% block content %}
-
-
-
-
{% endblock content %}
diff --git a/student/templates/session_view_student.html b/student/templates/session_view_student.html
index ebd62bc..54613dc 100644
--- a/student/templates/session_view_student.html
+++ b/student/templates/session_view_student.html
@@ -1,90 +1,44 @@
-{% extends "student_base.html" %}
-{% load crispy_forms_tags %}
+{% extends "base.html" %}
{% block content %}
-
-
-
-
-
My Class
- {% if session %}
-
{{ session.title }} - {{ session.date }}
-
-
Description
-
{{ session.description }}
-
Lesson Plan
- {% if session.lesson_plan %}
-
Download Lesson Plan
-
- {% else %}
-
No Lesson Plan Available
- {% endif %}
-
Lecture
- {% if session.lecture %}
-
Download Lecture
-
+
+
+
{{ classroom.course }} - {{ session.date }}
+ {% if session %}
+
{{ session.title }}
+
+
Description
+
{{ session.description }}
+
Activity
+ {% if session.activity %}
+
Download Activity
+
+ {% else %}
+
No Activity Available
+ {% endif %}
+
Video
+ {% if session.video %}
+
View Session Video
{% else %}
-
No Lecture Available
+
No Video Available
{% endif %}
-
Activity
- {% if session.activity %}
-
Download Activity
-
+
Resources
+ {% if resources %}
+ {% for resource in resources %}
+
{{ resource.title }}
+ {% if resource.file %}
+
Download Resource
+
+ {% endif %}
+ {% if resource.link %}
+
Go To Resource
+ {% endif %}
+ {% endfor %}
{% else %}
-
No Activity Available
+
No Resources
{% endif %}
-
Video
- {% if session.video %}
-
View Session Video
- {% else %}
-
No Video Available
- {% endif %}
-
Resources
- {% if resources %}
- {% for resource in resources %}
-
{{ resource.title }}
- {% if resource.file %}
-
Download Resource
-
- {% endif %}
- {% if resource.link %}
-
Go To Resource
- {% endif %}
- {% endfor %}
- {% else %}
-
No Resources
- {% endif %}
- {% endif %}
+ {% endif %}
+
-
{% endblock content %}
diff --git a/student/templates/student.html b/student/templates/student.html
index 600e2cc..c48d2e1 100644
--- a/student/templates/student.html
+++ b/student/templates/student.html
@@ -1,103 +1,19 @@
-{% extends "student_base.html" %}
+{% extends "base.html" %}
{% block content %}
-
-
-
-
-
-
- {% if messages %}
- {% for message in messages %}
-
- {{ message }}
-
- {% endfor %}
- {% endif %}
-
Student User Home
+
+ {% include "message.html" %}
+
Staff User Home
{% if announcements %}
-
Announcements
- {% for announcement in announcements reversed %}
-
-
{{ announcement.announcement.title }}
-
{{ announcement.announcement.announcement }}
-
{{ announcement.announcement.created_by }} on {{ announcement.announcement.posted.date }}
-
-
- {% endfor %}
+ {% include "announcements.html" %}
{% endif %}
-
{% if forms %}
-
Forms
- {% for form in forms %}
-
- {% endfor %}
+ {% include "forms.html" %}
{% endif %}
{% if notifications %}
-
Notifications
- {% for notification in notifications %}
-
-
{{ notification.subject }}
-
{{ notification.notification }}
-
Mission Bit on {{ notification.notified.date }}
-
-
-
-
- {% endfor %}
+ {% include "notifications.html" %}
{% endif %}
-
+
{% endblock content %}
diff --git a/student/templates/student_base.html b/student/templates/student_base.html
deleted file mode 100644
index 955ccbf..0000000
--- a/student/templates/student_base.html
+++ /dev/null
@@ -1,74 +0,0 @@
-{% load static %}
-
-
-
-
Mission Bit
-
-
-
-
-
-
-
-
-
-
-
-
-{% block content %}
-
-
-{% endblock %}
-
-
-
-
diff --git a/student/urls.py b/student/urls.py
index 8160acf..45b0f03 100644
--- a/student/urls.py
+++ b/student/urls.py
@@ -1,7 +1,11 @@
from django.urls import path, include
from . import views
-urlpatterns = [path("", views.student, name="student"),
- path("attendance_student/", views.attendance_student, name="attendance_student"),
- path("my_class_student/", views.my_class_student, name="my_class_student"),
- path("session_view_student/", views.session_view_student, name="session_view_student")]
+urlpatterns = [
+ path("", views.student, name="student"),
+ path("attendance_student/", views.attendance_student, name="attendance_student"),
+ path("my_class_student/", views.my_class_student, name="my_class_student"),
+ path(
+ "session_view_student/", views.session_view_student, name="session_view_student"
+ ),
+]
diff --git a/student/views.py b/student/views.py
index f56e9f4..08754f5 100644
--- a/student/views.py
+++ b/student/views.py
@@ -1,11 +1,29 @@
from django.shortcuts import render, redirect
from django.contrib.auth.models import Group
from home.decorators import group_required
-from home.models.models import Announcement, Form, Notification, Attendance, Classroom, Session, Resource
-from attendance.views import get_average_attendance_from_list, get_date_from_template_returned_string
-from staff.staff_views_helper import get_classroom_by_django_user, get_my_forms, get_my_announcements
+from home.models.models import (
+ Announcement,
+ Form,
+ Notification,
+ Attendance,
+ Classroom,
+ Session,
+ Resource,
+)
+from attendance.views import (
+ get_average_attendance_from_list,
+ get_date_from_template_returned_string,
+)
+from staff.staff_views_helper import (
+ get_classroom_by_django_user,
+ get_my_forms,
+ get_my_announcements,
+)
import os
-from staff.staff_views_helper import mark_announcement_dismissed, mark_notification_acknowledged
+from staff.staff_views_helper import (
+ mark_announcement_dismissed,
+ mark_notification_acknowledged,
+)
from django.http import HttpResponse, Http404
from datetime import datetime
@@ -14,43 +32,73 @@
def student(request):
if request.method == "POST":
if request.POST.get("dismiss_announcement") == "true":
- mark_announcement_dismissed(Announcement.objects.get(id=request.POST.get("announcement")), request.user)
+ mark_announcement_dismissed(
+ Announcement.objects.get(id=request.POST.get("announcement")),
+ request.user,
+ )
return redirect("student")
elif request.POST.get("acknowledge_notification") == "true":
- mark_notification_acknowledged(Notification.objects.get(id=request.POST.get("notification")))
+ mark_notification_acknowledged(
+ Notification.objects.get(id=request.POST.get("notification"))
+ )
return redirect("student")
announcements = get_my_announcements(request, "student")
forms = get_my_forms(request, "student")
- notifications = Notification.objects.filter(user_id=request.user.id, acknowledged=False)
- return render(request, "student.html", {"announcements": announcements,
- "forms": forms,
- "notifications": notifications})
+ notifications = Notification.objects.filter(
+ user_id=request.user.id, acknowledged=False
+ )
+ classroom = get_classroom_by_django_user(request.user)
+ return render(
+ request,
+ "student.html",
+ {
+ "announcements": announcements,
+ "forms": forms,
+ "notifications": notifications,
+ "classroom": classroom,
+ },
+ )
@group_required("student")
def attendance_student(request):
classroom = get_classroom_by_django_user(request.user)
- attendance = Attendance.objects.filter(student_id=request.user.id,
- date__range=["2000-01-01", datetime.today().date()]).order_by("date")
+ attendance = Attendance.objects.filter(
+ student_id=request.user.id, date__range=["2000-01-01", datetime.today().date()]
+ ).order_by("date")
attendance_percentage = get_average_attendance_from_list(attendance) * 100
- return render(request, "attendance_student.html", {"attendance": attendance,
- "attendance_percentage": attendance_percentage,
- "classroom": classroom})
+ return render(
+ request,
+ "attendance_student.html",
+ {
+ "attendance": attendance,
+ "attendance_percentage": attendance_percentage,
+ "classroom": classroom,
+ },
+ )
@group_required("student")
def my_class_student(request):
classroom = get_classroom_by_django_user(request.user)
- sessions = Session.objects.filter(classroom_id=classroom.id,
- date__range=["2000-01-01", datetime.today().date()]).order_by("date")
- return render(request, "my_class_student.html", {"classroom": classroom,
- "sessions": sessions})
+ sessions = Session.objects.filter(
+ classroom_id=classroom.id, date__range=["2000-01-01", datetime.today().date()]
+ ).order_by("date")
+ return render(
+ request, "my_class_student.html", {"classroom": classroom, "sessions": sessions}
+ )
@group_required("student")
def session_view_student(request):
- session = Session.objects.get(classroom_id=request.GET.get("classroom"),
- date=get_date_from_template_returned_string(request.GET.get("session_date")))
+ session = Session.objects.get(
+ classroom_id=request.GET.get("classroom"),
+ date=get_date_from_template_returned_string(request.GET.get("session_date")),
+ )
resources = Resource.objects.filter(session_id=session.id)
- return render(request, "session_view_student.html", {"session": session,
- "resources": resources})
+ classroom = get_classroom_by_django_user(request.user)
+ return render(
+ request,
+ "session_view_student.html",
+ {"session": session, "resources": resources, "classroom": classroom},
+ )
diff --git a/teacher/templates/my_class.html b/teacher/templates/my_class.html
deleted file mode 100644
index 298095b..0000000
--- a/teacher/templates/my_class.html
+++ /dev/null
@@ -1,83 +0,0 @@
-{% extends "teacher_base.html" %}
-
-
-{% block content %}
-
-
-
-
-
-
-
-
My Class
- {% if sessions %}
-
-
- Date |
- Title |
- Description |
- View Session |
-
- {% for session in sessions %}
-
- {{ session.date }} |
- {{ session.title }} |
- {{ session.description }} |
-
-
- |
-
- {% endfor %}
-
- {% endif %}
-
-
-{% endblock content %}
diff --git a/teacher/templates/my_class_teacher.html b/teacher/templates/my_class_teacher.html
new file mode 100644
index 0000000..d5d9b38
--- /dev/null
+++ b/teacher/templates/my_class_teacher.html
@@ -0,0 +1,35 @@
+{% extends "base.html" %}
+
+{% block content %}
+
+
+
+
{{ classroom.course }}
+ {% if sessions %}
+
+
+ Date |
+ Title |
+ Description |
+ View Session |
+
+ {% for session in sessions %}
+
+ {{ session.date }} |
+ {{ session.title }} |
+ {{ session.description }} |
+
+
+ |
+
+ {% endfor %}
+
+ {% endif %}
+
+
+
+{% endblock content %}
diff --git a/teacher/templates/session_view.html b/teacher/templates/session_view.html
deleted file mode 100644
index bf854f2..0000000
--- a/teacher/templates/session_view.html
+++ /dev/null
@@ -1,108 +0,0 @@
-{% extends "teacher_base.html" %}
-{% load crispy_forms_tags %}
-
-{% block content %}
-
-
-
-
-
-
-
-
My Class
- {% if session %}
-
{{ session.title }} - {{ session.date }}
-
-
-
Description
-
{{ session.description }}
-
Lesson Plan
- {% if session.lesson_plan %}
-
Download Lesson Plan
-
- {% else %}
-
No Lesson Plan Available
- {% endif %}
-
Lecture
- {% if session.lecture %}
-
Download Lecture
-
- {% else %}
-
No Lecture Available
- {% endif %}
-
Activity
- {% if session.activity %}
-
Download Activity
-
- {% else %}
-
No Activity Available
- {% endif %}
-
Video
- {% if session.video %}
-
View Session Video
- {% else %}
-
No Video Available
- {% endif %}
-
Resources
- {% if resources %}
- {% for resource in resources %}
-
{{ resource.title }}
- {% if resource.file %}
-
Download Resource
-
- {% endif %}
- {% if resource.link %}
-
Go To Resource
- {% endif %}
- {% endfor %}
- {% else %}
-
No Resources
- {% endif %}
- {% endif %}
-
Add Resource for {{ session.date }}
-
-
-
-
-{% endblock content %}
diff --git a/teacher/templates/session_view_teacher.html b/teacher/templates/session_view_teacher.html
new file mode 100644
index 0000000..fa88bd8
--- /dev/null
+++ b/teacher/templates/session_view_teacher.html
@@ -0,0 +1,92 @@
+{% extends "base.html" %}
+{% load crispy_forms_tags %}
+
+{% block content %}
+
+
+
+
{{ classroom.course }} - {{ session.date }}
+ {% if session %}
+
{{ session.title }}
+
Take Attendance
+
+
Description
+
{{ session.description }}
+
Lesson Plan
+ {% if session.lesson_plan %}
+
Download Lesson Plan
+
+ {% else %}
+
No Lesson Plan Available
+ {% endif %}
+
Lecture
+ {% if session.lecture %}
+
Download Lecture
+
+ {% else %}
+
No Lecture Available
+ {% endif %}
+
Activity
+ {% if session.activity %}
+
Download Activity
+
+ {% else %}
+
No Activity Available
+ {% endif %}
+
Video
+ {% if session.video %}
+
View Session Video
+ {% else %}
+
No Video Available
+ {% endif %}
+
Resources
+ {% if resources %}
+ {% for resource in resources %}
+
{{ resource.title }}
+ {% if resource.file %}
+
Download Resource
+
+ {% endif %}
+ {% if resource.link %}
+
Go To Resource
+ {% endif %}
+ {% endfor %}
+ {% else %}
+
No Resources
+ {% endif %}
+ {% endif %}
+
+
+
+
+
+
+{% endblock content %}
diff --git a/teacher/templates/teacher.html b/teacher/templates/teacher.html
index 6a52f56..45288e3 100644
--- a/teacher/templates/teacher.html
+++ b/teacher/templates/teacher.html
@@ -1,98 +1,19 @@
-{% extends "teacher_base.html" %}
+{% extends "base.html" %}
{% block content %}
-
-
-
-
-
-
Teacher User Home
+
+ {% include "message.html" %}
+
Teacher User Home
{% if announcements %}
-
Announcements
- {% for announcement in announcements reversed %}
-
-
{{ announcement.title }}
-
{{ announcement.announcement }}
-
{{ announcement.created_by }} on {{ announcement.posted.date }}
-
-
- {% endfor %}
+ {% include "announcements.html" %}
{% endif %}
{% if forms %}
-
Forms
- {% for form in forms %}
-
- {% endfor %}
+ {% include "forms.html" %}
{% endif %}
{% if notifications %}
-
Notifications
- {% for notification in notifications %}
-
-
{{ notification.subject }}
-
{{ notification.notification }}
-
Mission Bit on {{ notification.notified.date }}
-
-
-
-
- {% endfor %}
+ {% include "notifications.html" %}
{% endif %}
-
-
+
{% endblock content %}
diff --git a/teacher/templates/teacher_base.html b/teacher/templates/teacher_base.html
deleted file mode 100644
index 4cd7254..0000000
--- a/teacher/templates/teacher_base.html
+++ /dev/null
@@ -1,74 +0,0 @@
-{% load static %}
-
-
-
-
Mission Bit
-
-
-
-
-
-
-
-
-
-
-
-
-{% block content %}
-
-
-{% endblock %}
-
-
-
-
diff --git a/teacher/urls.py b/teacher/urls.py
index 0740932..868af1b 100644
--- a/teacher/urls.py
+++ b/teacher/urls.py
@@ -1,6 +1,10 @@
from django.urls import path, include
from . import views
-urlpatterns = [path("", views.teacher, name="teacher"),
- path("my_class/", views.my_class, name="my_class"),
- path("session_view/", views.session_view, name="session_view")]
+urlpatterns = [
+ path("", views.teacher, name="teacher"),
+ path("my_class_teacher/", views.my_class_teacher, name="my_class_teacher"),
+ path(
+ "session_view_teacher/", views.session_view_teacher, name="session_view_teacher"
+ ),
+]
diff --git a/teacher/views.py b/teacher/views.py
index f379235..806befb 100644
--- a/teacher/views.py
+++ b/teacher/views.py
@@ -1,10 +1,22 @@
from django.shortcuts import render, redirect
from home.decorators import group_required
-from home.models.models import Announcement, Form, Notification, Classroom, Session, Resource
+from home.models.models import (
+ Announcement,
+ Form,
+ Notification,
+ Classroom,
+ Session,
+ Resource,
+)
from home.forms import AddResourceForm
from attendance.views import get_date_from_template_returned_string
from staff.staff_views_helper import get_classroom_by_django_user
-from staff.staff_views_helper import mark_announcement_dismissed, mark_notification_acknowledged, get_my_announcements, get_my_forms
+from staff.staff_views_helper import (
+ mark_announcement_dismissed,
+ mark_notification_acknowledged,
+ get_my_announcements,
+ get_my_forms,
+)
import os
from django.http import HttpResponse, Http404
from django.contrib import messages
@@ -14,29 +26,43 @@
def teacher(request):
if request.method == "POST":
if request.POST.get("dismiss_announcement") == "true":
- mark_announcement_dismissed(Announcement.objects.get(id=request.POST.get("announcement")), request.user)
+ mark_announcement_dismissed(
+ Announcement.objects.get(id=request.POST.get("announcement")),
+ request.user,
+ )
return redirect("teacher")
elif request.POST.get("acknowledge_notification") == "true":
- mark_notification_acknowledged(Notification.objects.get(id=request.POST.get("notification")))
+ mark_notification_acknowledged(
+ Notification.objects.get(id=request.POST.get("notification"))
+ )
return redirect("teacher")
- announcements = get_my_announcements(request, "staff")
- forms = get_my_forms(request, "staff")
+ announcements = get_my_announcements(request, "teacher")
+ forms = get_my_forms(request, "teacher")
notifications = Notification.objects.filter(user_id=request.user.id)
- return render(request, "teacher.html", {"announcements": announcements,
- "forms": forms,
- "notifications": notifications})
+ classroom = get_classroom_by_django_user(request.user)
+ return render(
+ request,
+ "teacher.html",
+ {
+ "announcements": announcements,
+ "forms": forms,
+ "notifications": notifications,
+ "classroom": classroom,
+ },
+ )
@group_required("teacher")
-def my_class(request):
+def my_class_teacher(request):
classroom = get_classroom_by_django_user(request.user)
sessions = Session.objects.filter(classroom_id=classroom.id).order_by("date")
- return render(request, "my_class.html", {"sessions": sessions,
- "classroom": classroom})
+ return render(
+ request, "my_class_teacher.html", {"sessions": sessions, "classroom": classroom}
+ )
@group_required("teacher")
-def session_view(request):
+def session_view_teacher(request):
if request.method == "POST":
form = AddResourceForm(request.POST, request.FILES)
if form.is_valid():
@@ -44,7 +70,7 @@ def session_view(request):
title=form.cleaned_data.get("title"),
description=form.cleaned_data.get("description"),
classroom_id=request.POST.get("classroom"),
- session_id=request.POST.get("session")
+ session_id=request.POST.get("session"),
)
if request.POST.get("link"):
resource.link = form.cleaned_data.get("link")
@@ -53,10 +79,22 @@ def session_view(request):
resource.save()
messages.add_message(request, messages.SUCCESS, "Resource Added To Session")
return redirect("teacher")
- session = Session.objects.get(classroom_id=request.GET.get("classroom"),
- date=get_date_from_template_returned_string(request.GET.get("session_date")))
+ else:
+ return render(request, "session_view_teacher.html", {"form": form})
+ session = Session.objects.get(
+ classroom_id=request.GET.get("classroom"),
+ date=get_date_from_template_returned_string(request.GET.get("session_date")),
+ )
resources = Resource.objects.filter(session_id=session.id)
+ classroom = get_classroom_by_django_user(request.user)
form = AddResourceForm()
- return render(request, "session_view.html", {"session": session,
- "resources": resources,
- "form": form})
+ return render(
+ request,
+ "session_view_teacher.html",
+ {
+ "session": session,
+ "resources": resources,
+ "form": form,
+ "classroom": classroom,
+ },
+ )
diff --git a/tests/test_home.py b/tests/test_home.py
index 5380117..6f7753e 100644
--- a/tests/test_home.py
+++ b/tests/test_home.py
@@ -4,7 +4,7 @@
from django.urls import reverse
from rest_framework import status
from django.contrib.messages.storage.fallback import FallbackStorage
-
+from home.forms import ContactRegisterForm, UserRegisterForm
from home.views import *
@@ -39,7 +39,7 @@ def add_user_to_group(self, user, group):
add_to_group = Group.objects.get(name=group)
add_to_group.user_set.add(user)
- def create_valid_form(
+ def create_valid_user_and_contact_form(
self,
username="testuser2",
email="test@email.com",
@@ -53,6 +53,19 @@ def create_valid_form(
"last_name": lastname,
"password1": "top_secret_123",
"password2": "top_secret_123",
+ "birthdate": "01/01/1901",
+ "owner": User.objects.filter(is_active=True).first().id,
+ "title": "Staff",
+ "race": "White",
+ "which_best_describes_your_ethnicity": "Hispanic/Latinx",
+ "gender": "Female",
+ }
+
+ def create_valid_contact_form(self):
+ return {
+ "first_name": "test_user",
+ "last_name": "test_user",
+ "email": "test@email.com",
}
def create_change_pwd_form(self):
@@ -64,6 +77,8 @@ def create_change_pwd_form(self):
class HomeViewsTest(BaseTestCase):
+ databases = "__all__"
+
def test_home_unauthenticated(self):
request = RequestFactory().get(reverse("home-home"))
request.user = AnonymousUser()
@@ -160,10 +175,6 @@ def test_login(self):
response = login(RequestFactory())
self.assertEqual(response.status_code, status.HTTP_302_FOUND)
- def test_register(self):
- response = self.client.get(reverse("home-register"))
- self.assertEqual(response.status_code, status.HTTP_200_OK)
-
def test_landing_page(self):
response = self.client.get(reverse("home-landing_page"))
self.assertEqual(response.status_code, status.HTTP_200_OK)
@@ -196,12 +207,12 @@ def test_register_after_oauth(self):
self.assertEqual(response.status_code, status.HTTP_302_FOUND)
def test_register_as_student_post(self):
- request = RequestFactory().post(reverse("home-home"), self.create_valid_form())
- request.user = self.create_user()
- setattr(request, "session", "session")
- messages = FallbackStorage(request)
- setattr(request, "_messages", messages)
- response = register_as_student(request)
+ self.client.force_login(self.create_user())
+ response = self.client.post(
+ reverse("home-register_as_student"),
+ self.create_valid_user_and_contact_form(),
+ )
+ Contact.objects.get(client_id="tesuse19010101").delete()
self.assertEqual(
DjangoUser.objects.filter(first_name="test").first().first_name, "test"
)
@@ -209,12 +220,8 @@ def test_register_as_student_post(self):
self.assertEqual(response.status_code, status.HTTP_302_FOUND)
def test_register_as_student_invalid_form(self):
- request = RequestFactory().post(reverse("home-home"), {})
- request.user = self.create_user()
- setattr(request, "session", "session")
- messages = FallbackStorage(request)
- setattr(request, "_messages", messages)
- response = register_as_student(request)
+ self.client.force_login(self.create_user())
+ response = self.client.post(reverse("home-register_as_student"), {})
self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_register_as_volunteer(self):
@@ -222,13 +229,12 @@ def test_register_as_volunteer(self):
self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_register_as_volunteer_post(self):
- request = RequestFactory().post(reverse("home-home"), self.create_valid_form())
- request.user = self.create_user()
- setattr(request, "session", "session")
- messages = FallbackStorage(request)
- setattr(request, "_messages", messages)
- Group.objects.get_or_create(name="volunteer")
- response = register_as_volunteer(request)
+ self.client.force_login(self.create_user())
+ response = self.client.post(
+ reverse("home-register_as_volunteer"),
+ self.create_valid_user_and_contact_form(),
+ )
+ Contact.objects.get(client_id="tesuse19010101").delete()
self.assertEqual(
DjangoUser.objects.filter(first_name="test").first().first_name, "test"
)
@@ -236,12 +242,8 @@ def test_register_as_volunteer_post(self):
self.assertEqual(response.status_code, status.HTTP_302_FOUND)
def test_register_as_volunteer_invalid_form(self):
- request = RequestFactory().post(reverse("home-home"), {})
- request.user = self.create_user()
- setattr(request, "session", "session")
- messages = FallbackStorage(request)
- setattr(request, "_messages", messages)
- response = register_as_volunteer(request)
+ self.client.force_login(self.create_user())
+ response = self.client.post(reverse("home-register_as_volunteer"), {})
self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_register_as_donor(self):
@@ -249,13 +251,11 @@ def test_register_as_donor(self):
self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_register_as_donor_post(self):
- request = RequestFactory().post(reverse("home-home"), self.create_valid_form())
- request.user = self.create_user()
- setattr(request, "session", "session")
- messages = FallbackStorage(request)
- setattr(request, "_messages", messages)
- Group.objects.get_or_create(name="donor")
- response = register_as_donor(request)
+ self.client.force_login(self.create_user())
+ response = self.client.post(
+ reverse("home-register_as_donor"), self.create_valid_user_and_contact_form()
+ )
+ Contact.objects.get(client_id="tesuse19010101").delete()
self.assertEqual(
DjangoUser.objects.filter(first_name="test").first().first_name, "test"
)
@@ -263,10 +263,6 @@ def test_register_as_donor_post(self):
self.assertEqual(response.status_code, status.HTTP_302_FOUND)
def test_register_as_donor_invalid_form(self):
- request = RequestFactory().post(reverse("home-home"), {})
- request.user = self.create_user()
- setattr(request, "session", "session")
- messages = FallbackStorage(request)
- setattr(request, "_messages", messages)
- response = register_as_donor(request)
+ self.client.force_login(self.create_user())
+ response = self.client.post(reverse("home-register_as_donor"), {})
self.assertEqual(response.status_code, status.HTTP_200_OK)
diff --git a/tests/test_staff.py b/tests/test_staff.py
index 2c7ed13..6587552 100644
--- a/tests/test_staff.py
+++ b/tests/test_staff.py
@@ -55,28 +55,18 @@ def setUp(self) -> None:
volunteer.userprofile.salesforce_id = "voluse19010101"
volunteer.save()
Group.objects.get(name="teacher").user_set.add(volunteer)
- classroom = Classroom.objects.create(
- course="Test_Course"
- )
+ classroom = Classroom.objects.create(course="Test_Course")
ClassroomMembership.objects.create(
- member=teacher,
- classroom=classroom,
- membership_type="teacher"
+ member=teacher, classroom=classroom, membership_type="teacher"
)
ClassroomMembership.objects.create(
- member=t_a,
- classroom=classroom,
- membership_type="teacher_assistant"
+ member=t_a, classroom=classroom, membership_type="teacher_assistant"
)
ClassroomMembership.objects.create(
- member=volunteer,
- classroom=classroom,
- membership_type="volunteer"
+ member=volunteer, classroom=classroom, membership_type="volunteer"
)
ClassroomMembership.objects.create(
- member=student,
- classroom=classroom,
- membership_type="student"
+ member=student, classroom=classroom, membership_type="student"
)
def create_staff_user(self):
@@ -130,13 +120,55 @@ def valid_create_class_offering_form(self):
def valid_create_classroom_form(self):
return {
"course": ClassOffering.objects.get(name="Test_Class").id,
- "teacher": Contact.objects.get(client_id="clatea19010101").id,
- "teacher_assistant": Contact.objects.get(client_id="clatea19010101").id,
- "volunteers": Contact.objects.get(client_id="voluse19010101").id,
- "students": Contact.objects.get(client_id="stuuse19010101").id,
+ "teacher": self.get_or_create_test_teacher().id,
+ "teacher_assistant": self.get_or_create_test_teacher().id,
+ "volunteers": self.get_or_create_test_volunteer().id,
+ "students": self.get_or_create_test_student().id,
"created_by": User.objects.filter(is_active=True).first().id,
}
+ def get_or_create_test_teacher(self):
+ contact = Contact.objects.get_or_create(
+ first_name="classroom",
+ last_name="teacher",
+ email="clatea@gmail.com",
+ birthdate="1901-01-01",
+ title="Teacher",
+ owner=User.objects.filter(is_active=True).first(),
+ race="White",
+ which_best_describes_your_ethnicity="Hispanic/Latinx",
+ gender="Female",
+ )
+ return contact[0]
+
+ def get_or_create_test_student(self):
+ contact = Contact.objects.get_or_create(
+ first_name="student",
+ last_name="user",
+ email="clastu@gmail.com",
+ birthdate="1901-01-01",
+ title="Student",
+ owner=User.objects.filter(is_active=True).first(),
+ race="White",
+ which_best_describes_your_ethnicity="Hispanic/Latinx",
+ gender="Female",
+ )
+ return contact[0]
+
+ def get_or_create_test_volunteer(self):
+ contact = Contact.objects.get_or_create(
+ first_name="volunteer",
+ last_name="user",
+ email="clavol@gmail.com",
+ birthdate="1901-01-01",
+ title="Volunteer",
+ owner=User.objects.filter(is_active=True).first(),
+ race="White",
+ which_best_describes_your_ethnicity="Hispanic/Latinx",
+ gender="Female",
+ )
+ return contact[0]
+
def valid_make_announcement_form(self):
return {
"title": "Test Announcement",
@@ -156,22 +188,6 @@ def test_staff(self):
self.client.force_login(self.create_nonstaff_user())
self.assertRaises(PermissionError)
- def test_user_management(self):
- self.client.force_login(self.create_staff_user())
- response = self.client.get(reverse("user_management"))
- self.assertEqual(response.status_code, status.HTTP_200_OK)
- self.assertTemplateUsed(response, "user_management.html")
- self.client.force_login(self.create_nonstaff_user())
- self.assertRaises(PermissionError)
-
- def test_my_account_staff(self):
- self.client.force_login(self.create_staff_user())
- response = self.client.get(reverse("my_account_staff"))
- self.assertEqual(response.status_code, status.HTTP_200_OK)
- self.assertTemplateUsed(response, "my_account_staff.html")
- self.client.force_login(self.create_nonstaff_user())
- self.assertRaises(PermissionError)
-
def test_classroom_management(self):
self.client.force_login(self.create_staff_user())
response = self.client.get(reverse("classroom_management"))
@@ -192,8 +208,7 @@ def test_create_classroom(self):
def test_create_classroom_invalid_form(self):
self.client.force_login(self.create_staff_user())
response = self.client.post(reverse("create_classroom"), {})
- self.assertEqual(response.url, reverse("staff"))
- self.assertEqual(response.status_code, status.HTTP_302_FOUND)
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_create_class_offering(self):
self.client.force_login(self.create_staff_user())
@@ -209,8 +224,7 @@ def test_create_class_offering(self):
def test_create_class_offering_invalid_form(self):
self.client.force_login(self.create_staff_user())
response = self.client.post(reverse("create_class_offering"), {})
- self.assertEqual(response.url, reverse("staff"))
- self.assertEqual(response.status_code, status.HTTP_302_FOUND)
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_make_announcement(self):
self.client.force_login(self.create_staff_user())
@@ -226,8 +240,7 @@ def test_make_announcement(self):
def test_make_announcement_invalid_form(self):
self.client.force_login(self.create_staff_user())
response = self.client.post(reverse("make_announcement"), {})
- self.assertEqual(response.url, reverse("staff"))
- self.assertEqual(response.status_code, status.HTTP_302_FOUND)
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_create_staff_user(self):
self.client.force_login(self.create_staff_user())
@@ -246,8 +259,7 @@ def test_create_staff_user(self):
def test_create_staff_user_invalid_form(self):
self.client.force_login(self.create_staff_user())
response = self.client.post(reverse("create_staff_user"), {})
- self.assertEqual(response.url, reverse("staff"))
- self.assertEqual(response.status_code, status.HTTP_302_FOUND)
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_create_teacher_user(self):
self.client.force_login(self.create_staff_user())
@@ -266,8 +278,7 @@ def test_create_teacher_user(self):
def test_create_teacher_user_invalid_form(self):
self.client.force_login(self.create_staff_user())
response = self.client.post(reverse("create_teacher_user"), {})
- self.assertEqual(response.url, reverse("staff"))
- self.assertEqual(response.status_code, status.HTTP_302_FOUND)
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_create_student_user(self):
self.client.force_login(self.create_staff_user())
@@ -286,8 +297,7 @@ def test_create_student_user(self):
def test_create_student_user_invalid_form(self):
self.client.force_login(self.create_staff_user())
response = self.client.post(reverse("create_student_user"), {})
- self.assertEqual(response.url, reverse("staff"))
- self.assertEqual(response.status_code, status.HTTP_302_FOUND)
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_create_volunteer_user(self):
self.client.force_login(self.create_staff_user())
@@ -306,5 +316,4 @@ def test_create_volunteer_user(self):
def test_create_volunteer_user_invalid_form(self):
self.client.force_login(self.create_staff_user())
response = self.client.post(reverse("create_volunteer_user"), {})
- self.assertEqual(response.url, reverse("staff"))
- self.assertEqual(response.status_code, status.HTTP_302_FOUND)
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
diff --git a/volunteer/templates/volunteer.html b/volunteer/templates/volunteer.html
index 99dc1f0..2e31335 100644
--- a/volunteer/templates/volunteer.html
+++ b/volunteer/templates/volunteer.html
@@ -1,4 +1,4 @@
-{% extends "home/home.html" %}
+{% extends "home_base.html" %}
{% block content %}