from django.contrib import messages from django.core.exceptions import ValidationError from django import contrib from django.utils.translation import ugettext_lazy as _ from school import models import string class GroupInline(contrib.admin.TabularInline): model = models.Group extra = 3 class CourseAdmin(contrib.admin.ModelAdmin): model = models.Course inlines = (GroupInline, ) filter_horizontal = ('owners', ) list_display = ('code', 'name', 'short_name', 'owner_list') list_editable = ('name', 'short_name') class GroupAdmin(contrib.admin.ModelAdmin): model = models.Group filter_horizontal = ('owners', 'members', ) list_display = ('name', 'course', 'semester', 'owner_list', 'member_count') list_filter = ('semester', 'course') class SemesterAdmin(contrib.admin.ModelAdmin): model = models.Semester list_display = ('id', 'name', 'start', 'end') list_editable = ('name', 'start', 'end') contrib.admin.site.register(models.Course, CourseAdmin) contrib.admin.site.register(models.Semester, SemesterAdmin) contrib.admin.site.register(models.Group, GroupAdmin)