diff --git a/activities/forms.py b/activities/forms.py
new file mode 100644
index 0000000..cf7a22d
--- /dev/null
+++ b/activities/forms.py
@@ -0,0 +1,14 @@
+from django import forms
+
+from . import models
+
+
+class ActivityForm(forms.ModelForm):
+ class Meta:
+ model = models.Activity
+ fields = [
+ 'name',
+ 'series',
+ 'type',
+ 'medium',
+ ]
diff --git a/activities/templates/activities/activity/create.html b/activities/templates/activities/activity/create.html
new file mode 100644
index 0000000..b5c55a3
--- /dev/null
+++ b/activities/templates/activities/activity/create.html
@@ -0,0 +1,27 @@
+{% extends 'base.html' %}
+
+{% block content %}
+
+
+
+
+
+
+{% endblock %}
diff --git a/activities/templates/activities/activity/list.html b/activities/templates/activities/activity/list.html
index 041320c..956610d 100644
--- a/activities/templates/activities/activity/list.html
+++ b/activities/templates/activities/activity/list.html
@@ -9,6 +9,9 @@
+ New Activity
+
diff --git a/activities/urls.py b/activities/urls.py
index c86fbdf..20cc490 100644
--- a/activities/urls.py
+++ b/activities/urls.py
@@ -14,6 +14,10 @@ urlpatterns = [
views.ActivitySeriesDetailView.as_view(),
name='activity-series.detail'),
+ path('activities/create',
+ views.ActivityCreateView.as_view(),
+ name='activity.create'),
+
path('activities',
views.ActivityListView.as_view(),
name='activity.list'),
diff --git a/activities/views.py b/activities/views.py
index 72b2d55..ec9b0e6 100644
--- a/activities/views.py
+++ b/activities/views.py
@@ -5,12 +5,12 @@ import json
from django.contrib.auth.mixins import LoginRequiredMixin
from django.http import HttpResponse
-from django.views.generic import DetailView, ListView, View
+from django.views.generic import CreateView, DetailView, ListView, View
from django.views.generic.detail import SingleObjectMixin
from people import models as people_models
from people import permissions
-from . import models
+from . import forms, models
class ActivitySeriesListView(LoginRequiredMixin, ListView):
@@ -29,6 +29,15 @@ class ActivitySeriesDetailView(LoginRequiredMixin, DetailView):
model = models.ActivitySeries
template_name = 'activities/activity_series/detail.html'
context_object_name = 'activity_series'
+
+
+class ActivityCreateView(LoginRequiredMixin, CreateView):
+ """
+ View to create a new instance of :class:`Activity`.
+ """
+ model = models.Activity
+ template_name = 'activities/activity/create.html'
+ form_class = forms.ActivityForm
class ActivityListView(LoginRequiredMixin, ListView):