mirror of
https://github.com/barkeser2002/offline-db.git
synced 2026-09-25 06:39:51 +03:00
- Implements "Weekend Warrior" badge logic in `check_badges`. - Seeds the badge via migration 0012. - Adds comprehensive tests in `test_badges.py`. - Updates `users/services.py` to award the badge when 5 distinct episodes are watched on a single weekend day. Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
26 lines
826 B
Python
26 lines
826 B
Python
from django.db import migrations
|
|
|
|
def create_weekend_warrior_badge(apps, schema_editor):
|
|
Badge = apps.get_model('users', 'Badge')
|
|
if not Badge.objects.filter(slug='weekend-warrior').exists():
|
|
Badge.objects.create(
|
|
slug='weekend-warrior',
|
|
name='Weekend Warrior',
|
|
description='Watched 5 episodes on a single weekend day',
|
|
icon_url='/static/badges/weekend-warrior.png'
|
|
)
|
|
|
|
def remove_weekend_warrior_badge(apps, schema_editor):
|
|
Badge = apps.get_model('users', 'Badge')
|
|
Badge.objects.filter(slug='weekend-warrior').delete()
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('users', '0011_seed_marathoner'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.RunPython(create_weekend_warrior_badge, remove_weekend_warrior_badge),
|
|
]
|