From 8d68889e99f6cc119fe31201ed95675ab987cd15 Mon Sep 17 00:00:00 2001
From: jpic <jamespic@gmail.com>
Date: Tue, 9 Feb 2016 00:56:18 +0100
Subject: [PATCH] Added proposal autocomplete, upgrade to DAL v3

---
 memopol/settings.py                      |  3 ++-
 memopol/urls.py                          |  1 -
 representatives_recommendations/admin.py |  3 ++-
 representatives_recommendations/forms.py | 16 ++++++++++++++++
 setup.py                                 |  4 ++--
 templates/admin/base_site.html           |  8 --------
 6 files changed, 22 insertions(+), 13 deletions(-)
 create mode 100644 representatives_recommendations/forms.py
 delete mode 100644 templates/admin/base_site.html

diff --git a/memopol/settings.py b/memopol/settings.py
index 02478a72..1cf752ae 100644
--- a/memopol/settings.py
+++ b/memopol/settings.py
@@ -69,7 +69,8 @@ ORGANIZATION_NAME = os.environ.get('ORGANIZATION', 'Memopol Demo')
 
 INSTALLED_APPS = (
     # 'django.contrib.admin',
-    'autocomplete_light',
+    'dal',
+    'dal_select2',
     'suit',
     'django.contrib.admin',
     'django.contrib.auth',
diff --git a/memopol/urls.py b/memopol/urls.py
index 5c884fd6..a7860917 100644
--- a/memopol/urls.py
+++ b/memopol/urls.py
@@ -27,7 +27,6 @@ urlpatterns = [
         views.DossierList.as_view(),
     ),
 
-    url(r'^autocomplete/', include('autocomplete_light.urls')),
     url(r'^admin/', include(admin.site.urls)),
     url(r'legislature/', include('representatives.urls',
         namespace='representatives')),
diff --git a/representatives_recommendations/admin.py b/representatives_recommendations/admin.py
index 61b793cc..cb42da4b 100644
--- a/representatives_recommendations/admin.py
+++ b/representatives_recommendations/admin.py
@@ -3,12 +3,13 @@ from __future__ import absolute_import
 
 from django.contrib import admin
 
+from .forms import RecommendationForm
 from .models import Recommendation
 
 
 class RecommendationsAdmin(admin.ModelAdmin):
     list_display = ('id', 'title', 'proposal', 'recommendation', 'weight')
     search_fields = ('title', 'recommendation', 'proposal')
-    raw_id_fields = ('proposal',)
+    form = RecommendationForm
 
 admin.site.register(Recommendation, RecommendationsAdmin)
diff --git a/representatives_recommendations/forms.py b/representatives_recommendations/forms.py
new file mode 100644
index 00000000..abd23a47
--- /dev/null
+++ b/representatives_recommendations/forms.py
@@ -0,0 +1,16 @@
+from dal import autocomplete
+
+from django import forms
+
+from models import Recommendation
+
+
+class RecommendationForm(forms.ModelForm):
+    class Meta:
+        model = Recommendation
+        fields = '__all__'
+        widgets = {
+            'proposal': autocomplete.ModelSelect2(
+                url='representatives_votes:proposal-autocomplete',
+            )
+        }
diff --git a/setup.py b/setup.py
index ba922229..879dec5d 100644
--- a/setup.py
+++ b/setup.py
@@ -9,13 +9,13 @@ setup(name='political-memory',
     author_email='cortex@worlddomination.be',
     url='http://github.com/political-memory/political_memory/',
     install_requires=[
-        'django-autocomplete-light>=2.2,<3.0',
+        'django-autocomplete-light>=3.0',
         'django-bootstrap3>=6.2,<6.3',
         'django-coffeescript>=0.7,<0.8',
         'django-compressor>=1.6,<1.7',
         'django-datetime-widget>=0.9,<1.0',
         'django-filter>=0.11,<0.12',
-        'django-representatives-votes>=0.0.12',
+        'django-representatives-votes>=0.0.13',
         'django-representatives>=0.0.14',
         'django-taggit>=0.17,<0.18',
         'django>=1.8,<1.9',
diff --git a/templates/admin/base_site.html b/templates/admin/base_site.html
deleted file mode 100644
index c4996150..00000000
--- a/templates/admin/base_site.html
+++ /dev/null
@@ -1,8 +0,0 @@
-{% extends "admin/base.html" %}
-
-{% load static %}
-
-{% block extrahead %}
-    <script type="text/javascript" src="{% static 'libs/jquery/dist/jquery.js' %}"></script>
-    {% include 'autocomplete_light/static.html' %}
-{% endblock %}
-- 
GitLab