diff --git a/server/server/apps/course/__pycache__/views.cpython-35.pyc b/server/server/apps/course/__pycache__/views.cpython-35.pyc
index 7e0e34c..5317b72 100644
Binary files a/server/server/apps/course/__pycache__/views.cpython-35.pyc and b/server/server/apps/course/__pycache__/views.cpython-35.pyc differ
diff --git a/server/server/apps/course/views.py b/server/server/apps/course/views.py
index 971b9c2..ee9a90e 100644
--- a/server/server/apps/course/views.py
+++ b/server/server/apps/course/views.py
@@ -27,6 +27,7 @@ def show(request, course_url):
         mod = Moderator.objects.get(username=request.session['user'])
     except Moderator.DoesNotExist:
         is_mod = False
+        return render(request, 'class/show.html', {'course': course, 'is_mod': is_mod})
         
     if mod.admin:
         is_mod = True
diff --git a/server/server/apps/files/__pycache__/forms.cpython-35.pyc b/server/server/apps/files/__pycache__/forms.cpython-35.pyc
new file mode 100644
index 0000000..c5ea2b6
Binary files /dev/null and b/server/server/apps/files/__pycache__/forms.cpython-35.pyc differ
diff --git a/server/server/apps/files/__pycache__/urls.cpython-35.pyc b/server/server/apps/files/__pycache__/urls.cpython-35.pyc
new file mode 100644
index 0000000..3f92ec6
Binary files /dev/null and b/server/server/apps/files/__pycache__/urls.cpython-35.pyc differ
diff --git a/server/server/apps/files/__pycache__/views.cpython-35.pyc b/server/server/apps/files/__pycache__/views.cpython-35.pyc
new file mode 100644
index 0000000..35e96e7
Binary files /dev/null and b/server/server/apps/files/__pycache__/views.cpython-35.pyc differ
diff --git a/server/server/apps/files/migrations/0003_auto_20200324_0135.py b/server/server/apps/files/migrations/0003_auto_20200324_0135.py
new file mode 100644
index 0000000..54a15d3
--- /dev/null
+++ b/server/server/apps/files/migrations/0003_auto_20200324_0135.py
@@ -0,0 +1,19 @@
+# Generated by Django 2.2.10 on 2020-03-24 01:35
+
+from django.db import migrations, models
+import server.apps.files.models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('files', '0002_auto_20200302_0345'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='file',
+            name='payload',
+            field=models.FileField(blank=True, upload_to=server.apps.files.models.gen_filename),
+        ),
+    ]
diff --git a/server/server/apps/files/migrations/__pycache__/0003_auto_20200324_0135.cpython-35.pyc b/server/server/apps/files/migrations/__pycache__/0003_auto_20200324_0135.cpython-35.pyc
new file mode 100644
index 0000000..936dc31
Binary files /dev/null and b/server/server/apps/files/migrations/__pycache__/0003_auto_20200324_0135.cpython-35.pyc differ
diff --git a/server/server/apps/files/urls.py b/server/server/apps/files/urls.py
new file mode 100644
index 0000000..dab0fe3
--- /dev/null
+++ b/server/server/apps/files/urls.py
@@ -0,0 +1,9 @@
+from django.urls import path
+
+from . import views
+
+app_name = "file"
+
+urlpatterns = [
+    path("", views.upload_file, name="upload"),
+]
\ No newline at end of file
diff --git a/server/server/apps/files/views.py b/server/server/apps/files/views.py
index 4565d78..d517e02 100644
--- a/server/server/apps/files/views.py
+++ b/server/server/apps/files/views.py
@@ -3,10 +3,11 @@ from django.http import HttpResponseRedirect
 
 from .forms import UploadFileForm
 from .models import File
+from ..decorators import login
 
 # Create your views here.
+@login
 def upload_file(request):
-    if 'type' in request.session and request.session['type'] in settings.ALLOWED_USERS:
     if request.method == 'POST':
         form = UploadFileForm(request.POST, request.FILES)
         if form.is_valid():
diff --git a/server/server/urls.py b/server/server/urls.py
index 5ad473e..e8a2110 100644
--- a/server/server/urls.py
+++ b/server/server/urls.py
@@ -27,5 +27,6 @@ urlpatterns = [
     path('logout/', auth_views.logout, name="logout"),
     path('courses/', include("server.apps.course.urls", namespace="courses")),
     path('mod/', include("server.apps.mod.urls", namespace="mod")),
+    path('file/', include("server.apps.files.urls", namespace="file")),
     path('', content_views.index, name="index"),
 ]