2025-05-18 21:29:04 +03:00
|
|
|
from django.contrib import admin
|
2025-05-18 23:05:48 +03:00
|
|
|
from .models import (
|
|
|
|
|
Survey, ScoreVariable, Statement, QuestionPair, AgreementQuestion,
|
|
|
|
|
EducationalInstitution, Profession, Specialty, ProfessionSpecialtyLink, ProfessionTestResult
|
|
|
|
|
)
|
2025-05-18 21:29:04 +03:00
|
|
|
|
2025-05-18 23:05:48 +03:00
|
|
|
|
|
|
|
|
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')
|