from django.contrib import admin from django.contrib.admin import AdminSite from django.contrib.admin.sites import NotRegistered from django.contrib.auth.admin import UserAdmin from django.contrib.auth.models import User from service.models import AO from service.models import PlacementPoint from service.models import Rayon from service.models import Post_and_pvz, Post_and_pvzCategory, Post_and_pvzGroup, OtherObjects, OtherObjectsGroup, \ OtherObjectsCategory from service.models import PlacementPointPVZDistance, TaskStatus from postamates.settings import DEBUG from django.core.cache import cache class MyAdminSite(AdminSite): def index(self, request, extra_context=None): if extra_context is None: extra_context = {} extra_context['is_superadmin'] = request.user.is_superuser return super(MyAdminSite, self).index(request, extra_context) my_admin_site = MyAdminSite(name='POSTNET') if DEBUG: my_admin_site.register(AO) my_admin_site.register(Rayon) my_admin_site.register(PlacementPointPVZDistance) my_admin_site.register(Post_and_pvz) my_admin_site.register(OtherObjects) class TaskStatusAdmin(admin.ModelAdmin): list_display = ('task_name', 'status') class CategoryAdmin(admin.ModelAdmin): list_display = ('name', 'visible') def save_model(self, request, obj, form, change): obj.save() cache.clear() def delete_model(self, request, obj): obj.delete() cache.clear() class GroupAdmin(admin.ModelAdmin): list_display = ('name', 'category', 'visible') def save_model(self, request, obj, form, change): obj.save() cache.clear() def delete_model(self, request, obj): obj.delete() cache.clear() class PlacementPointAdmin(admin.ModelAdmin): pass my_admin_site.register(TaskStatus, TaskStatusAdmin) my_admin_site.register(Post_and_pvzGroup, GroupAdmin) my_admin_site.register(OtherObjectsGroup, GroupAdmin) my_admin_site.register(Post_and_pvzCategory, CategoryAdmin) my_admin_site.register(OtherObjectsCategory, CategoryAdmin) my_admin_site.register(PlacementPoint, PlacementPointAdmin) class UserAdmin(UserAdmin): add_fieldsets = ( ( None, { 'classes': ('wide',), 'fields': ('username', 'password1', 'password2', 'email'), }, ), ) try: my_admin_site.unregister(User) except NotRegistered: pass my_admin_site.register(User, UserAdmin)