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

+ +
+ +
+ {% csrf_token %} + + {% load bootstrap4 %} + {% bootstrap_form form %} + + {% buttons %} + + {% endbuttons %} +
+ +{% 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 %}