From 8343a6278055a0af7dc4cdb11180765fd6c9a91d Mon Sep 17 00:00:00 2001 From: Todd Dembrey <todd.dembrey@torchbox.com> Date: Wed, 28 Feb 2018 11:03:58 +0000 Subject: [PATCH] Add basic Activity model and comment form --- opentech/apply/activity/forms.py | 9 ++++++ .../apply/activity/migrations/0001_initial.py | 30 +++++++++++++++++++ opentech/apply/activity/models.py | 8 ++++- opentech/apply/activity/views.py | 8 +++-- opentech/apply/funds/views.py | 4 ++- 5 files changed, 55 insertions(+), 4 deletions(-) create mode 100644 opentech/apply/activity/forms.py create mode 100644 opentech/apply/activity/migrations/0001_initial.py diff --git a/opentech/apply/activity/forms.py b/opentech/apply/activity/forms.py new file mode 100644 index 000000000..1931ffde3 --- /dev/null +++ b/opentech/apply/activity/forms.py @@ -0,0 +1,9 @@ +from django import forms + +from .models import Activity + + +class CommentForm(forms.ModelForm): + class Meta: + model = Activity + fields = ('message',) diff --git a/opentech/apply/activity/migrations/0001_initial.py b/opentech/apply/activity/migrations/0001_initial.py new file mode 100644 index 000000000..53a29ded1 --- /dev/null +++ b/opentech/apply/activity/migrations/0001_initial.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.8 on 2018-02-28 11:03 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('funds', '0025_update_with_file_blocks'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Activity', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('timestamp', models.DateTimeField(auto_now_add=True)), + ('message', models.TextField()), + ('application', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='funds.ApplicationSubmission')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/opentech/apply/activity/models.py b/opentech/apply/activity/models.py index 71a836239..9d47edb77 100644 --- a/opentech/apply/activity/models.py +++ b/opentech/apply/activity/models.py @@ -1,3 +1,9 @@ +from django.conf import settings from django.db import models -# Create your models here. + +class Activity(models.Model): + timestamp = models.DateTimeField(auto_now_add=True) + user = models.ForeignKey(settings.AUTH_USER_MODEL) + application = models.ForeignKey('funds.ApplicationSubmission') + message = models.TextField() diff --git a/opentech/apply/activity/views.py b/opentech/apply/activity/views.py index 91ea44a21..638e31200 100644 --- a/opentech/apply/activity/views.py +++ b/opentech/apply/activity/views.py @@ -1,3 +1,7 @@ -from django.shortcuts import render +from django.views.generic.edit import ModelFormMixin -# Create your views here. +from .forms import CommentForm + + +class CommentFormViewMixin(ModelFormMixin): + form_class = CommentForm diff --git a/opentech/apply/funds/views.py b/opentech/apply/funds/views.py index 6068b7cca..076a9db6f 100644 --- a/opentech/apply/funds/views.py +++ b/opentech/apply/funds/views.py @@ -5,6 +5,8 @@ from django.views.generic import DetailView from django_filters.views import FilterView from django_tables2.views import SingleTableMixin +from opentech.apply.activity.views import CommentFormViewMixin + from .models import ApplicationSubmission from .tables import SubmissionsTable, SubmissionFilter, SubmissionFilterAndSearch from .workflow import SingleStage, DoubleStage @@ -40,7 +42,7 @@ class SubmissionSearchView(SingleTableMixin, FilterView): ) -class SubmissionDetailView(DetailView): +class SubmissionDetailView(CommentFormViewMixin, DetailView): model = ApplicationSubmission def get_context_data(self, **kwargs): -- GitLab