Replace django-moderation with CaseStudy.visible
This commit is contained in:
@ -1,12 +1,33 @@
|
||||
from django.contrib import admin
|
||||
from moderation.admin import ModerationAdmin
|
||||
from leaflet.admin import LeafletGeoAdmin
|
||||
|
||||
from .models import CaseStudy
|
||||
|
||||
|
||||
class CaseStudyAdmin(LeafletGeoAdmin):
|
||||
pass
|
||||
list_display = ('id', 'date_created', 'entry_name', 'approved')
|
||||
actions = ['approve', 'unapprove']
|
||||
|
||||
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)
|
||||
|
@ -5,12 +5,11 @@ from crispy_forms.helper import FormHelper
|
||||
from crispy_forms.layout import Submit, Layout, HTML, Fieldset
|
||||
from crispy_forms.bootstrap import Tab, TabHolder, PrependedText, FormActions
|
||||
from leaflet.forms.widgets import LeafletWidget
|
||||
from moderation.forms import BaseModeratedObjectForm
|
||||
|
||||
from .models import CaseStudy
|
||||
|
||||
|
||||
class BaseCaseStudyForm(BaseModeratedObjectForm):
|
||||
class BaseCaseStudyForm(forms.models.ModelForm):
|
||||
"""Base form class for the CaseStudy model."""
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(BaseCaseStudyForm, self).__init__(*args, **kwargs)
|
||||
@ -204,4 +203,4 @@ class LongCaseStudyForm(BaseCaseStudyForm):
|
||||
)))
|
||||
|
||||
class Meta(BaseCaseStudyForm.Meta):
|
||||
fields = '__all__'
|
||||
exclude = ('approved',)
|
||||
|
24
apps/map/migrations/0036_auto_20180327_0334.py
Normal file
24
apps/map/migrations/0036_auto_20180327_0334.py
Normal file
@ -0,0 +1,24 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.6 on 2018-03-27 03:34
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('map', '0035_auto_20180326_0157'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='casestudy',
|
||||
options={'verbose_name_plural': 'case studies'},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='casestudy',
|
||||
name='approved',
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
]
|
@ -16,9 +16,18 @@ class Shapefile(models.Model):
|
||||
)
|
||||
|
||||
|
||||
class CaseStudyQuerySet(models.QuerySet):
|
||||
def approved(self):
|
||||
return self.filter(
|
||||
approved=True
|
||||
)
|
||||
|
||||
|
||||
class CaseStudy(models.Model):
|
||||
"""Model for case studies submitted to the Ojuso Platform"""
|
||||
|
||||
approved = models.BooleanField(default=False)
|
||||
|
||||
# Choice lists for drop-downs
|
||||
SECTOR_CHOICES = (
|
||||
(_('Renewable Energy Generation'), (
|
||||
@ -965,6 +974,8 @@ class CaseStudy(models.Model):
|
||||
blank=True
|
||||
)
|
||||
|
||||
objects = CaseStudyQuerySet.as_manager()
|
||||
|
||||
def __str__(self):
|
||||
"""The String representation of the case study. (Entry name with country name.)"""
|
||||
return "%s in %s" % (self.entry_name, self.country.name)
|
||||
|
@ -1,10 +0,0 @@
|
||||
from moderation import moderation
|
||||
from moderation.moderator import GenericModerator
|
||||
from apps.map.models import CaseStudy
|
||||
|
||||
|
||||
class CaseStudyModerator(GenericModerator):
|
||||
notify_user = True
|
||||
auto_approve_for_superusers = True
|
||||
|
||||
moderation.register(CaseStudy, CaseStudyModerator)
|
Reference in New Issue
Block a user