blob: aa08c749d20263c61f7f2c3944487a7ba0455275 [file]
from django.contrib import admin
from django.contrib.sessions.models import Session
from .models import *
class SessionAdmin(admin.ModelAdmin):
def _session_data(self, obj):
return obj.get_decoded()
list_display = ['session_key', '_session_data', 'expire_date']
admin.site.register(Session, SessionAdmin)
class TutorialEventInline(admin.TabularInline):
model = TutorialEvent
readonly_fields = ('timestamp', 'time_elapsed', 'question', 'type', 'command',)
fields = ['question', 'type', 'command', 'timestamp', 'time_elapsed']
extra = 0
class DockerfileEvenInline(admin.TabularInline):
model = DockerfileEvent
readonly_fields = ('timestamp', 'level', 'item', 'errors', )
fields = ['level', 'item', 'errors', 'timestamp']
extra = 0
class TutorialUserAdmin(admin.ModelAdmin):
model = TutorialUser
list_display = ['id', 'session_key', 'label', 'timestamp']
inlines = [TutorialEventInline, DockerfileEvenInline]
admin.site.register(TutorialUser, TutorialUserAdmin)
class TutorialEventAdmin(admin.ModelAdmin):
model = TutorialEvent
readonly_fields = ('id', 'timestamp', 'time_elapsed')
fields = ['id', 'user', 'type', 'question', 'command', 'timestamp', 'time_elapsed']
list_display = ['id', 'user','type', 'question', 'timestamp']
admin.site.register(TutorialEvent, TutorialEventAdmin)
class TutorialEventFeedback(TutorialEvent):
class Meta:
proxy = True
class TutorialEventFeedbackAdmin(admin.ModelAdmin):
model = TutorialEvent
readonly_fields = ('id', 'timestamp', 'time_elapsed')
list_display = ['id', 'user', 'question', 'feedback', 'timestamp']
list_filter = ('type',)
admin.site.register(TutorialEventFeedback, TutorialEventFeedbackAdmin)
class SubscriberAdmin(admin.ModelAdmin):
model = Subscriber
list_display = ['email', 'from_level']
admin.site.register(Subscriber, SubscriberAdmin)
class DockerfileEventAdmin(admin.ModelAdmin):
model = DockerfileEvent
list_display = ['id', 'timestamp', 'item', 'level', 'errors']
admin.site.register(DockerfileEvent, DockerfileEventAdmin)