diff --git a/.gitignore b/.gitignore
index 0d631fd..848c6b0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,10 @@
-# IDE files
+# IDEs
.idea/
.vscode/
+# Tools
+.mypy_cache/
+
# Runtime
/static/
venv/
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/migrations/0006_activity_attendance_optional.py b/activities/migrations/0006_activity_attendance_optional.py
new file mode 100644
index 0000000..0c7df33
--- /dev/null
+++ b/activities/migrations/0006_activity_attendance_optional.py
@@ -0,0 +1,18 @@
+# Generated by Django 2.2.10 on 2020-04-02 15:57
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('activities', '0005_shrink_name_fields_to_255'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='activity',
+ name='attendance_list',
+ field=models.ManyToManyField(blank=True, related_name='activities', to='people.Person'),
+ ),
+ ]
diff --git a/activities/models.py b/activities/models.py
index 134bc97..cd49770 100644
--- a/activities/models.py
+++ b/activities/models.py
@@ -1,4 +1,5 @@
from django.db import models
+from django.urls import reverse
from people import models as people_models
@@ -88,7 +89,11 @@ class Activity(models.Model):
#: Who attended this activity?
attendance_list = models.ManyToManyField(people_models.Person,
- related_name='activities')
+ related_name='activities',
+ blank=True)
+
+ def get_absolute_url(self):
+ return reverse('activities:activity.detail', kwargs={'pk': self.pk})
def __str__(self) -> str:
return self.name
diff --git a/activities/templates/activities/activity/create.html b/activities/templates/activities/activity/create.html
new file mode 100644
index 0000000..5910e7c
--- /dev/null
+++ b/activities/templates/activities/activity/create.html
@@ -0,0 +1,29 @@
+{% extends 'base.html' %}
+
+{% block content %}
+
+
+
New Activity
+
+
+
+
+
+{% endblock %}
diff --git a/activities/templates/activities/activity/detail.html b/activities/templates/activities/activity/detail.html
index 5e1901d..45fd12b 100644
--- a/activities/templates/activities/activity/detail.html
+++ b/activities/templates/activities/activity/detail.html
@@ -10,6 +10,8 @@
+ {{ activity.name }}
+
{% if user_is_attending %}