Like/dislike + report under every question and lesson, lesson reports and vote columns in admin; practice islands refresh from file; audit fixes

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-12 12:56:47 +03:30
parent b075b93f2a
commit 2e0753587c
12 changed files with 1331 additions and 951 deletions

View File

@@ -12,6 +12,9 @@ from .views import (
NodeProgressListView,
QuestionAnswerView,
QuestionReportView,
LessonReportView,
LessonVoteView,
QuestionVoteView,
)
urlpatterns = [
@@ -22,6 +25,9 @@ urlpatterns = [
path('lessons/<int:lesson_id>/complete', LessonCompleteView.as_view(), name='lesson-complete'),
path('questions/<int:question_id>/answer', QuestionAnswerView.as_view(), name='question-answer'),
path('questions/<int:question_id>/report', QuestionReportView.as_view(), name='question-report'),
path('questions/<int:question_id>/vote', QuestionVoteView.as_view(), name='question-vote'),
path('lessons/<int:lesson_id>/vote', LessonVoteView.as_view(), name='lesson-vote'),
path('lessons/<int:lesson_id>/report', LessonReportView.as_view(), name='lesson-report'),
path('nodes/<int:node_id>/lessons', NodeLessonsView.as_view(), name='node-lessons'),
path('nodes/<int:node_id>/quiz', NodeQuizView.as_view(), name='node-quiz'),
path('nodes/<int:node_id>/quiz/complete', NodeQuizCompleteView.as_view(), name='node-quiz-complete'),