Show moderation and inactive stores to admins

* Add better admin interface for FlaggedObject
* Export totals via context processors
* Update base template to show this data to admins.
This commit is contained in:
2013-04-11 17:08:40 +01:00
parent f5bdc4c551
commit 4ab2c050fd
5 changed files with 26 additions and 5 deletions

View File

@@ -1,5 +1,11 @@
from django.contrib import admin
from moderation.models import FlagType, FlaggedObject
class FlaggedObjectModelAdmin(admin.ModelAdmin):
list_display = ['generic_obj', 'user', 'status', 'note']
list_filter = ['status']
admin.site.register(FlagType, admin.ModelAdmin)
admin.site.register(FlaggedObject, admin.ModelAdmin)
admin.site.register(FlaggedObject, FlaggedObjectModelAdmin)

View File

@@ -0,0 +1,10 @@
from django.contrib.sites.models import Site
from moderation.models import FlaggedObject
def pending_flagged_admin(request):
if request.user.is_superuser:
pending_flags = FlaggedObject.objects.filter(status=1).count()
return {
'admin_pending_flags': pending_flags
}
return {}

View File

@@ -1,5 +1,5 @@
from django.contrib.sites.models import Site
from .models import ClaimRequest
from .models import ClaimRequest, Store
def site(request):
return {
@@ -9,8 +9,10 @@ def site(request):
def pending_admin(request):
if request.user.is_superuser:
pending = ClaimRequest.objects.filter(status=ClaimRequest.CLAIM_STATUS_PENDING).count()
inactive_stores = Store.objects.filter(active=False).count()
pending_claims = ClaimRequest.objects.filter(status=ClaimRequest.CLAIM_STATUS_PENDING).count()
return {
'admin_pending_requests': pending
'admin_pending_claims': pending_claims,
'admin_inactive_stores': inactive_stores,
}
return {}

View File

@@ -98,6 +98,7 @@ TEMPLATE_CONTEXT_PROCESSORS += (
'django.core.context_processors.request',
'stores.context_processors.site',
'stores.context_processors.pending_admin',
'moderation.context_processors.pending_flagged_admin',
)
ROOT_URLCONF = 'vapemap.urls'

View File

@@ -41,7 +41,9 @@
<li><a href="#login-modal" data-toggle="modal">Login</a></li>
{% else %}
{% if user.is_superuser %}
{% if admin_pending_requests > 0 %}<li><a href="{% url "admin:stores_claimrequest_changelist" %}?status__exact=0"><span class="badge badge-important">{{ admin_pending_requests }}</span></a></li>{% endif %}
{% if admin_inactive_stores > 0 %}<li><a href="{% url "admin:stores_store_changelist" %}?active__exact=0" title="Inactive Stores"><span class="badge badge-info">{{ admin_inactive_stores }}</span></a></li>{% endif %}
{% if admin_pending_flags > 0 %}<li><a href="{% url "admin:moderation_flaggedobject_changelist" %}?status__exact=1" title="Pending Moderation Flags"><span class="badge badge-warning">{{ admin_pending_flags }}</span></a></li>{% endif %}
{% if admin_pending_claims > 0 %}<li><a href="{% url "admin:stores_claimrequest_changelist" %}?status__exact=0" title="Pending Claims"><span class="badge badge-important">{{ admin_pending_claims }}</span></a></li>{% endif %}
<li><a href="{% url "admin:index" %}">Admin</a></li>
{% endif %}
<li><a href="#">{{ user.username }}</a></li>