You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

133 lines
4.1 KiB

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, Flow
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)
class FlowAdmin(admin.ModelAdmin):
save_on_top = True
list_display = ('title', 'course', 'start_flow')
raw_id_fields = ['course']
list_filter = ('start_flow','course')
search_fields = ['title', 'description']
admin.site.register(Flow, FlowAdmin)