le75
clone your own copy | download snapshot

Snapshots | iceberg

Inside this repository

admin.py
text/x-python

Download raw (1.5 KB)

from django.contrib import admin
from course.models import TeachingUnit, Course, Orientation, CourseType, Category, Teacher, Department
from django.utils.translation import ugettext_lazy as _
from cms.admin.placeholderadmin import FrontendEditableAdminMixin


class CourseInline(admin.StackedInline):
    model = Course
    min_num = 1
    extra = 0


class TeachingUnitAdmin(FrontendEditableAdminMixin, admin.ModelAdmin):
    actions = ['duplicate']
    inlines = [CourseInline]
    prepopulated_fields = {'slug': ('ue', 'name',)}
    list_display = (
        'ue',
        'year',
        'name',
        'audience',
        'semester',
    )
    list_display_links = ('name',)
    list_filter = (
        'year',
        'audience',
        'orientation',
        'semester',
        'category__name',
        'course_type'
    )
    filter_horizontal = ('orientation',)

    def duplicate(self, request, queryset):
        for obj in queryset:
            obj.id = None
            obj.slug += '-copy'
            obj.save()

    duplicate.short_description = "Duplicate"


class TeacherAdmin(FrontendEditableAdminMixin, admin.ModelAdmin):
    prepopulated_fields = {'slug': ('firstname', 'lastname')}


class OrientationAdmin(admin.ModelAdmin):
    prepopulated_fields = {'slug': ('name',)}


admin.site.register(TeachingUnit, TeachingUnitAdmin)
admin.site.register(Orientation, OrientationAdmin)
admin.site.register(CourseType)
admin.site.register(Category)
admin.site.register(Teacher, TeacherAdmin)
admin.site.register(Department)