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)