feature: QOL improvement on django admin
This commit is contained in:
		
							
								
								
									
										36
									
								
								djangoldp_notification/admin.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								djangoldp_notification/admin.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,36 @@
 | 
			
		||||
from django.contrib import admin
 | 
			
		||||
from djangoldp.admin import DjangoLDPAdmin
 | 
			
		||||
from djangoldp.models import Model
 | 
			
		||||
from .models import Notification, NotificationSetting, Subscription
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class NotificationAdmin(DjangoLDPAdmin):
 | 
			
		||||
    list_display = ('urlid', 'user', 'author', 'type', 'object', 'unread')
 | 
			
		||||
    exclude = ('urlid', 'is_backlink', 'allow_create_backlink', 'user')
 | 
			
		||||
    search_fields = ['urlid', 'user__urlid', 'author', 'object', 'type', 'summary']
 | 
			
		||||
    ordering = ['urlid']
 | 
			
		||||
 | 
			
		||||
    def get_queryset(self, request):
 | 
			
		||||
        # Hide distant notification
 | 
			
		||||
        queryset = super(NotificationAdmin, self).get_queryset(request)
 | 
			
		||||
        internal_ids = [x.pk for x in queryset if not Model.is_external(x)]
 | 
			
		||||
        return queryset.filter(pk__in=internal_ids)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class SubscriptionAdmin(DjangoLDPAdmin):
 | 
			
		||||
    list_display = ('urlid', 'object', 'inbox', 'field')
 | 
			
		||||
    exclude = ('urlid', 'is_backlink', 'allow_create_backlink')
 | 
			
		||||
    search_fields = ['urlid', 'object', 'inbox', 'field']
 | 
			
		||||
    ordering = ['urlid']
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class NotificationSettingAdmin(DjangoLDPAdmin):
 | 
			
		||||
    list_display = ('urlid', 'user', 'receiveMail')
 | 
			
		||||
    exclude = ('urlid', 'is_backlink', 'allow_create_backlink')
 | 
			
		||||
    search_fields = ['urlid', 'user', 'receiveMail']
 | 
			
		||||
    ordering = ['urlid']
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
admin.site.register(Notification, NotificationAdmin)
 | 
			
		||||
admin.site.register(Subscription, SubscriptionAdmin)
 | 
			
		||||
admin.site.register(NotificationSetting, NotificationSettingAdmin)
 | 
			
		||||
		Reference in New Issue
	
	Block a user