From 91fd8fda2729a53fa90c6df2c084637624d28d7a Mon Sep 17 00:00:00 2001
From: "J.-S. Caux" <J.S.Caux@uva.nl>
Date: Mon, 8 Oct 2018 10:38:06 +0200
Subject: [PATCH] Use organization_lookup in Subsidy create/update forms

---
 finances/forms.py                             | 13 ++++++++++++-
 finances/templates/finances/subsidy_form.html |  5 +++++
 finances/views.py                             |  6 +++---
 3 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/finances/forms.py b/finances/forms.py
index 395298a1a..38c63328f 100644
--- a/finances/forms.py
+++ b/finances/forms.py
@@ -8,11 +8,22 @@ from django.utils.dates import MONTHS
 from django.db.models import Sum
 from django.utils import timezone
 
-from .models import WorkLog
+from ajax_select.fields import AutoCompleteSelectField
+
+from .models import Subsidy, WorkLog
 
 today = timezone.now().date()
 
 
+class SubsidyForm(forms.ModelForm):
+    organization = AutoCompleteSelectField('organization_lookup')
+
+    class Meta:
+        model = Subsidy
+        fields = ['organization', 'subsidy_type', 'description',
+                  'amount', 'status', 'date', 'duration']
+
+
 class WorkLogForm(forms.ModelForm):
     def __init__(self, *args, **kwargs):
         self.types = kwargs.pop('log_types', False)
diff --git a/finances/templates/finances/subsidy_form.html b/finances/templates/finances/subsidy_form.html
index 8458a2a39..effc953a7 100644
--- a/finances/templates/finances/subsidy_form.html
+++ b/finances/templates/finances/subsidy_form.html
@@ -21,3 +21,8 @@
   </div>
 </div>
 {% endblock content %}
+
+{% block footer_script %}
+{{ block.super }}
+{{ form.media }}
+{% endblock footer_script %}
diff --git a/finances/views.py b/finances/views.py
index 5178e84f4..0344eb229 100644
--- a/finances/views.py
+++ b/finances/views.py
@@ -12,7 +12,7 @@ from django.views.generic.detail import DetailView
 from django.views.generic.edit import CreateView, UpdateView, DeleteView
 from django.views.generic.list import ListView
 
-from .forms import LogsMonthlyActiveFilter
+from .forms import SubsidyForm, LogsMonthlyActiveFilter
 from .models import Subsidy, WorkLog
 from .utils import slug_to_id
 
@@ -30,7 +30,7 @@ class SubsidyCreateView(PermissionsMixin, CreateView):
     """
     permission_required = 'scipost.can_manage_subsidies'
     model = Subsidy
-    fields = '__all__'
+    form_class = SubsidyForm
     template_name = 'finances/subsidy_form.html'
     success_url = reverse_lazy('finances:subsidies')
 
@@ -41,7 +41,7 @@ class SubsidyUpdateView(PermissionsMixin, UpdateView):
     """
     permission_required = 'scipost.can_manage_subsidies'
     model = Subsidy
-    fields = '__all__'
+    form_class = SubsidyForm
     template_name = 'finances/subsidy_form.html'
     success_url = reverse_lazy('finances:subsidies')
 
-- 
GitLab