from django.core.management.base import BaseCommand
from accounts.models import UserRole
from admin_panel.models import Admin
from utilities.models import GlobalSettings


class Command(BaseCommand):
    help = "Initialise the Grace Ortho Care Project"

    def handle(self, *args, **options):
        roles = ["Admin", "Doctor", "Receptionist"]
        json_data = {
            "hospital_name": "Grace Orthocare and Multispeciality Hospital",
            "hospital_location": " Wardha Rd, Rajiv Nagar, Jai Prakash Nagar, Somalwada, Nagpur, Maharashtra 440025",
            "emergency_contact": "+91-88066 60075",
            "hospital_email": "hospitalg83@gmail.com"
        }
        for role in roles:
            if not UserRole.objects.filter(title=role).exists():
                UserRole.objects.create(title=role)
        credentials = {
            "email": "admin@admin.com",
            "password": "admin"
        }
        if not Admin.objects.filter(email=credentials['email']).exists():
            role = UserRole.objects.get(title="Admin")
            user = Admin.objects.create(email=credentials['email'], role=role, email_verification=True)
            user.set_password(credentials['password'])
            user.save()
        gs, _ = GlobalSettings.objects.get_or_create()
        gs.hospital_name = json_data["hospital_name"]
        gs.hospital_location = json_data["hospital_location"]
        gs.emergency_contact = json_data["emergency_contact"]
        gs.hospital_email = json_data["hospital_email"]
        gs.save()
        return "User Roles and Admin account created!!"