# c:\mim\backend\projects\management\commands\collect_feedback.py
from django.core.management.base import BaseCommand
from projects.models import Uzdevums

class Command(BaseCommand):
    help = 'Savāc atsauksmes par pabeigtajiem uzdevumiem'

    def handle(self, *args, **options):
        # Ņemam tikko pabeigtos uzdevumus, kuriem vēl nav prasīts feedback
        pabeigtie_darbi = Uzdevums.objects.filter(statuss='PABEIGTS', feedback_prasits=False)
        
        count = 0
        from telegram_bot.handlers import send_message
        for task in pabeigtie_darbi:
            if task.klients and task.klients.telegram_id:
                msg = (
                    f"🎉 *Darbs pie \"{task.tituls}\" noslēgts!*\n\n"
                    f"Svarīgi apzināties, kā mēs strādājam! Kā Tu novērtētu mūsu komandas darbu šajā posmā?"
                )
                
                # Izveidojam 1-5 pogas
                markup = {"inline_keyboard": [
                    [
                        {"text": "1 ⭐️", "callback_data": f"stars_1_{task.id}"},
                        {"text": "2 ⭐️", "callback_data": f"stars_2_{task.id}"},
                        {"text": "3 ⭐️", "callback_data": f"stars_3_{task.id}"},
                        {"text": "4 ⭐️", "callback_data": f"stars_4_{task.id}"},
                        {"text": "5 ⭐️", "callback_data": f"stars_5_{task.id}"}
                    ]
                ]}
                
                try:
                    send_message(task.klients.telegram_id, msg, reply_markup=markup)
                    
                    # Atzīmējam, ka esam pajautājuši
                    task.feedback_prasits = True
                    task.save()
                    count += 1
                except Exception as e:
                    self.stdout.write(self.style.ERROR(f"Kļūda sūtot uz {task.klients.telegram_id}: {e}"))
                
        self.stdout.write(self.style.SUCCESS(f'Veiksmīgi nosūtīti atsauksmju pieprasījumi par {count} darbiem!'))
