from dal import autocomplete from django import forms from django.contrib import admin from leaflet.admin import LeafletGeoAdmin from .models import CaseStudy from .models import CaseStudyDraft from .models import PointOfInterest from .models import SpatialRefSys class CaseStudyDraftAdmin(admin.ModelAdmin): model = CaseStudyDraft class CaseStudyAdminForm(forms.ModelForm): class Meta: model = CaseStudy widgets = { "coordinate_reference_system": autocomplete.ModelSelect2( url="srs-autocomplete" ) } fields = "__all__" class CaseStudyAdmin(LeafletGeoAdmin): list_display = ("id", "date_created", "entry_name", "approved", "author") actions = ["approve", "unapprove"] form = CaseStudyAdminForm def approve(self, request, queryset): updated = queryset.update(approved=True) if updated == 1: message_bit = "1 case study was" else: message_bit = "{0} case studies were".format(updated) self.message_user(request, "{0} successfully approved".format(message_bit)) approve.short_description = "Approve selected case studies" def unapprove(self, request, queryset): updated = queryset.update(approved=False) if updated == 1: message_bit = "1 case study was" else: message_bit = "{0} case studies were".format(updated) self.message_user(request, "{0} successfully un-approved".format(message_bit)) unapprove.short_description = "Un-approve selected case studies" admin.site.register(CaseStudy, CaseStudyAdmin) admin.site.register(SpatialRefSys) admin.site.register(CaseStudyDraft, CaseStudyDraftAdmin) admin.site.register(PointOfInterest)