from django.contrib import admin from access.models import User from courses.models import Lesson, Course, CourseTheme, Homework, Exam, Skills, Achievements, SkillJ, CourseMap, \ AchievementsMap, Diploma, MaterialDirection class LessonAdmin(admin.ModelAdmin): list_display = ('id', 'get_title', 'sort', 'theme', 'token', 'on_comment') raw_id_fields = ['materials'] search_fields = ['title', 'sort', 'id', 'token'] list_filter = ['course', 'on_comment', 'theme'] def get_title(self, obj): return obj.title[:100] admin.site.register(Lesson, LessonAdmin) class MaterialDirectionAdmin(admin.ModelAdmin): list_display = ('title', 'color',) raw_id_fields = ['mentors'] def formfield_for_manytomany(self, db_field, request, **kwargs): if db_field.name == "mentors": kwargs["queryset"] = User.objects.filter(in_role='S2') return super(MaterialDirectionAdmin, self).formfield_for_manytomany(db_field, request, **kwargs) admin.site.register(MaterialDirection, MaterialDirectionAdmin) class CourseAdmin(admin.ModelAdmin): list_display = ('title', 'id', 'direction', 'must_build', 'public', ) list_filter = ('direction', ) raw_id_fields = ['teachers'] search_fields = ['title', 'id'] filter_horizontal = ['recommend', 'keywords'] def formfield_for_manytomany(self, db_field, request, **kwargs): if db_field.name == "teachers": kwargs["queryset"] = User.objects.filter(in_role='T') if db_field.name == "mentors": kwargs["queryset"] = User.objects.filter(in_role='S2') return super(CourseAdmin, self).formfield_for_manytomany(db_field, request, **kwargs) admin.site.register(Course, CourseAdmin) class CourseThemeAdmin(admin.ModelAdmin): list_display = ('id', 'sort', 'title', 'course', '_type', 'price_type', 'on_comment', ) list_filter = ['course', '_type', 'on_comment'] search_fields = ['title', 'sort'] admin.site.register(CourseTheme, CourseThemeAdmin) class HomeworkAdmin(admin.ModelAdmin): list_display = ('id', 'course', 'theme', 'token') search_fields = ['id', 'theme', 'course', 'token'] list_filter = ('course',) raw_id_fields = ('theme', 'course', 'materials', ) admin.site.register(Homework, HomeworkAdmin) class ExamAdmin(admin.ModelAdmin): list_display = ('course', 'token', ) raw_id_fields = ['materials'] search_fields = ['id', 'course__title'] admin.site.register(Exam, ExamAdmin) class SkillsAdmin(admin.ModelAdmin): list_display = ('title', 'color', 'mini_icon', 'big_icon') search_fields = ['title'] admin.site.register(Skills, SkillsAdmin) class AchievementsAdmin(admin.ModelAdmin): list_display = ('id', 'title', 'icon', 'image', 'background', 'border',) admin.site.register(Achievements, AchievementsAdmin) class SkillJAdmin(admin.ModelAdmin): list_display = ('skill', 'lesson', 'size',) raw_id_fields = ['lesson'] list_filter = ['lesson__course'] admin.site.register(SkillJ, SkillJAdmin) class CourseMapAdmin(admin.ModelAdmin): list_display = ('id', 'course', 'lesson', 'homework', 'exam', 'sort', 'token', ) raw_id_fields = ['course', 'lesson', 'homework', 'exam'] list_filter = ('course',) search_fields = ['lesson_id'] admin.site.register(CourseMap, CourseMapAdmin) class AchievementsMapAdmin(admin.ModelAdmin): list_display = ('id', 'point', 'achiv', 'after', ) raw_id_fields = ['point'] admin.site.register(AchievementsMap, AchievementsMapAdmin) class DiplomaAdmin(admin.ModelAdmin): list_filter = ('course__title', 'key', ) search_fields = ['course__title'] admin.site.register(Diploma, DiplomaAdmin)