From 666c720982a9cf84f35e94ee0ae7f7c0b2ef0c4f Mon Sep 17 00:00:00 2001
From: Arnaud Fabre <arnaud.fabre@camobscura.fr>
Date: Fri, 22 May 2015 13:45:58 +0200
Subject: [PATCH] adds admin

---
 representatives_votes/admin.py | 42 ++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 representatives_votes/admin.py

diff --git a/representatives_votes/admin.py b/representatives_votes/admin.py
new file mode 100644
index 0000000..e1cbcc9
--- /dev/null
+++ b/representatives_votes/admin.py
@@ -0,0 +1,42 @@
+# coding: utf-8
+
+from django.contrib import admin
+from .models import Dossier, Proposal, Vote
+
+
+class DossierAdmin(admin.ModelAdmin):
+    list_display = ('reference', 'title', 'link')
+    search_fields = ('reference', 'title')
+
+
+class ProposalAdmin(admin.ModelAdmin):
+    list_display = ('reference', 'dossier_reference', 'title', 'datetime', 'kind', 'total_abstain', 'total_against', 'total_for')
+    search_fields = ('reference', 'dossier__reference', 'title',)
+    def dossier_reference(self, obj):
+        return obj.dossier.reference
+
+
+class NoneMatchingFilter(admin.SimpleListFilter):
+    title = 'Remote id'
+    parameter_name = 'representative_remote_id'
+
+    def lookups(self, request, model_admin):
+        return [('None', 'Unknown')]
+    
+    def queryset(self, request, queryset):
+        if self.value() == 'None':
+            return queryset.filter(representative_remote_id=None)
+        else:
+            return queryset            
+
+class VoteAdmin(admin.ModelAdmin):
+    list_display = ('id', 'proposal_reference', 'position', 'representative_name', 'representative_remote_id')
+    list_filter = (NoneMatchingFilter,)
+    def proposal_reference(self, obj):
+        return obj.proposal.reference
+
+admin.site.register(Dossier, DossierAdmin)
+
+admin.site.register(Proposal, ProposalAdmin)
+
+admin.site.register(Vote, VoteAdmin)
-- 
GitLab