from django.contrib import admin from .models import ( Survey, ScoreVariable, Statement, QuestionPair, AgreementQuestion, EducationalInstitution, Profession, Specialty, ProfessionSpecialtyLink, ProfessionTestResult ) class ScoreVariableInline(admin.TabularInline): model = ScoreVariable extra = 1 class QuestionPairInline(admin.TabularInline): model = QuestionPair extra = 1 autocomplete_fields = ('statement_a', 'statement_b') class AgreementQuestionInline(admin.TabularInline): model = AgreementQuestion extra = 1 autocomplete_fields = ('score_variable',) @admin.register(Survey) class SurveyAdmin(admin.ModelAdmin): list_display = ('title',) search_fields = ('title',) inlines = [ScoreVariableInline, QuestionPairInline, AgreementQuestionInline] @admin.register(ScoreVariable) class ScoreVariableAdmin(admin.ModelAdmin): list_display = ('title', 'survey', 'name') list_filter = ('survey',) search_fields = ('title', 'name', 'description') autocomplete_fields = ('survey',) @admin.register(Statement) class StatementAdmin(admin.ModelAdmin): list_display = ('statement', 'score_variable') list_filter = ('score_variable__survey',) search_fields = ('statement', 'score_variable__title') autocomplete_fields = ('score_variable',) @admin.register(QuestionPair) class QuestionPairAdmin(admin.ModelAdmin): list_display = ('survey', 'statement_a', 'statement_b') list_filter = ('survey',) search_fields = ('statement_a__statement', 'statement_b__statement') autocomplete_fields = ('survey', 'statement_a', 'statement_b') @admin.register(AgreementQuestion) class AgreementQuestionAdmin(admin.ModelAdmin): list_display = ('question', 'survey', 'score_variable') list_filter = ('survey',) search_fields = ('question', 'score_variable__title') autocomplete_fields = ('survey', 'score_variable') @admin.register(EducationalInstitution) class EducationalInstitutionAdmin(admin.ModelAdmin): list_display = ('name',) search_fields = ('name',) @admin.register(Profession) class ProfessionAdmin(admin.ModelAdmin): list_display = ('name',) search_fields = ('name', 'description') class ProfessionSpecialtyLinkInline(admin.TabularInline): model = ProfessionSpecialtyLink extra = 1 autocomplete_fields = ('specialty',) @admin.register(Specialty) class SpecialtyAdmin(admin.ModelAdmin): list_display = ('name', 'institution', 'link') list_filter = ('institution',) search_fields = ('name', 'institution__name') inlines = [ProfessionSpecialtyLinkInline] autocomplete_fields = ('institution',) @admin.register(ProfessionSpecialtyLink) class ProfessionSpecialtyLinkAdmin(admin.ModelAdmin): list_display = ('profession', 'specialty') list_filter = ('profession',) search_fields = ('profession__name', 'specialty__name') autocomplete_fields = ('profession', 'specialty') @admin.register(ProfessionTestResult) class ProfessionTestResultAdmin(admin.ModelAdmin): list_display = ('profession', 'survey_score_variable') list_filter = ('profession',) search_fields = ('profession__name', 'survey_score_variable__title') autocomplete_fields = ('profession', 'survey_score_variable')