Fourth companion renamed Tedi -> Omega (ω); slug stays tedi

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-10 01:42:44 +03:30
parent a39643b8a3
commit 19072ee534
3 changed files with 26 additions and 2 deletions

View File

@@ -679,7 +679,7 @@ actionهای لغو/بازپرداخت که برای Supervisorِ فقط‌خو
معتبر (دورِ ۲)، ۰ از ۸ برای سوالِ بی‌شکل؛ وارسیِ چشمیِ ۸۳ شکل: ۶۴ درست، ۳ ضعیف، ۱۶ غلط. معتبر (دورِ ۲)، ۰ از ۸ برای سوالِ بی‌شکل؛ وارسیِ چشمیِ ۸۳ شکل: ۶۴ درست، ۳ ضعیف، ۱۶ غلط.
اصلاح‌های بعد از آن (خط از معادله، کسرِ مقایسه‌ای، محرکِ ساعت، …) روی مدل سنجیده نشده‌اند. اصلاح‌های بعد از آن (خط از معادله، کسرِ مقایسه‌ای، محرکِ ساعت، …) روی مدل سنجیده نشده‌اند.
- **فرانت آزمونِ جزیره را بازی می‌کند** (`/nodes/{id}/quiz`); خانه خودِ مسیر است با «شروع». - **فرانت آزمونِ جزیره را بازی می‌کند** (`/nodes/{id}/quiz`); خانه خودِ مسیر است با «شروع».
- **تدی** (شکلکِ `mobile-preview/mascot-pack`، شش حالت) با `progress.0005`، **۵۰۰ امتیاز** - **امگا** (ω؛ تا ۲۰۲۶-۱۰-۱۰ «تدی»، slug هنوز `tedi`؛ شکلکِ `mobile-preview/mascot-pack`، شش حالت) با `progress.0005`/`0007`، **۵۰۰ امتیاز**
(همان فاصله‌ی ۲۰۰تاییِ دلتا تا پی؛ خواستِ صاحبِ پروژه). (همان فاصله‌ی ۲۰۰تاییِ دلتا تا پی؛ خواستِ صاحبِ پروژه).
- **محتوا:** ۸۲ سوالِ تازه، پس هیچ جزیره‌ای زیرِ ۴ سوال نیست (۲٬۵۴۵ سوال). `fill_lesson_texts` - **محتوا:** ۸۲ سوالِ تازه، پس هیچ جزیره‌ای زیرِ ۴ سوال نیست (۲٬۵۴۵ سوال). `fill_lesson_texts`
(بی‌هزینه) `Unit.blurb` را برای ۵۸ فصل و مثال/قدم‌ها را برای ۵۹۰ درس از مسئله‌های تأییدشده‌ی (بی‌هزینه) `Unit.blurb` را برای ۵۸ فصل و مثال/قدم‌ها را برای ۵۹۰ درس از مسئله‌های تأییدشده‌ی

View File

@@ -0,0 +1,21 @@
"""
همراهِ چهارم از «تدی» به «امگا» (ω) تغییرِ نام داد (خواستِ مالک، ۲۰۲۶-۱۰-۱۰): همه‌ی همراه‌ها
نامِ یک حرفِ یونانیِ ریاضی دارند، و شکلِ گرد با دو گوشِ گردش شبیهِ ω است.
فقط نام عوض می‌شود و فقط اگر هنوز همان «تدی» باشد (ویرایشِ ادمین بازنویسی نمی‌شود). slug همان
`tedi` می‌ماند: شناسه‌ی داخلی است و فرانت با آن شکلک را پیدا می‌کند؛ کاربر آن را نمی‌بیند.
"""
from django.db import migrations
def rename(apps, schema_editor):
apps.get_model('progress', 'Character').objects.filter(slug='tedi', name='تدی').update(name='امگا')
def undo(apps, schema_editor):
apps.get_model('progress', 'Character').objects.filter(slug='tedi', name='امگا').update(name='تدی')
class Migration(migrations.Migration):
dependencies = [('progress', '0006_drop_family_app')]
operations = [migrations.RunPython(rename, undo)]

View File

@@ -258,7 +258,7 @@ class RebuildLeaderboardCommandTests(TestCase):
class FourCompanionsCatalogTests(TestCase): class FourCompanionsCatalogTests(TestCase):
"""migrationهای 0004 و 0005: سه‌یار و تدی همان چهار slugی‌اند که فرانت می‌شناسد.""" """migrationهای 0004، 0005 و 0007: سه‌یار و امگا (slugِ tedi) همان چهار slugی‌اند که فرانت می‌شناسد."""
def test_catalog_has_the_four_companions_in_order(self): def test_catalog_has_the_four_companions_in_order(self):
rows = list( rows = list(
@@ -267,6 +267,9 @@ class FourCompanionsCatalogTests(TestCase):
) )
self.assertEqual(rows, [('sigma', 0), ('delta', 100), ('pi', 300), ('tedi', 500)]) self.assertEqual(rows, [('sigma', 0), ('delta', 100), ('pi', 300), ('tedi', 500)])
def test_the_fourth_companion_is_called_omega(self):
self.assertEqual(Character.objects.get(slug='tedi').name, 'امگا')
class LeaderboardPeriodValidationTests(TestCase): class LeaderboardPeriodValidationTests(TestCase):
def setUp(self): def setUp(self):