55 lines
1.7 KiB
Python
55 lines
1.7 KiB
Python
from django.contrib import admin
|
|
from django import forms
|
|
from dal import autocomplete
|
|
from leaflet.admin import LeafletGeoAdmin
|
|
|
|
from .models import CaseStudy, CaseStudyDraft, SpatialRefSys, PointOfInterest
|
|
|
|
|
|
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)
|