No LaTeX/markdown anywhere students read (seed, import, DB migration 0021, tutor history, frontend guard); quiz of an island is fixed per user again
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1036,15 +1036,9 @@ class NodeQuizView(APIView):
|
||||
# درهمریزیِ پایدار: همان کاربر روی همان مبحث همیشه همان ترتیب را
|
||||
# میبیند، ولی دو کاربرِ مختلف دو ترتیبِ مختلف.
|
||||
seed = request.query_params.get('seed') or str(getattr(request.user, 'id', '') or '')
|
||||
# دوبارهبازیِ همان جزیره آزمونِ تازه میدهد: شمارِ آزمونهای تمامشدهی این کاربر روی این
|
||||
# جزیره در مبنای درهمریزی میآید. تا پایانِ آزمون عدد ثابت است، پس رفرش همان آزمون را
|
||||
# میدهد. با استخرِ یکسوالبهدرس عملاً چیزی عوض نمیشود؛ معنیاش با استخرِ بزرگ پیداست.
|
||||
# فقط برای کاربرِ واردشده و بی`?seed=`؛ نسنجیده: اثرش روی کشِ فرانت.
|
||||
rounds = 0
|
||||
if not request.query_params.get('seed') and getattr(request.user, 'id', None):
|
||||
rounds = UserNodeCompletion.objects.filter(
|
||||
user_id=request.user.id, node_id=node_id).count()
|
||||
rng = random.Random(f'{node_id}:{seed}:{rounds}' if rounds else f'{node_id}:{seed}')
|
||||
# آزمونِ هر جزیره برای هر کاربر ثابت است (تصمیمِ مالک ۲۰۲۶-۱۰-۱۲): هر بار که برگردد همان
|
||||
# سوالها را میبیند تا بتواند ایرادش را رفع و مکانِ سوالها را یاد بگیرد.
|
||||
rng = random.Random(f'{node_id}:{seed}')
|
||||
rng.shuffle(questions)
|
||||
|
||||
# حداکثر یک سوال از هر درس تا آزمون روی یک مهارت گیر نکند؛ اگر با این
|
||||
|
||||
Reference in New Issue
Block a user