from django.views import View
from django.shortcuts import render
from django.http import HttpResponseNotAllowed

from apps.core.models import Language
from apps.channels.models import Genre

class CreateChannelView(View):
    # Handle GET requests
    def get(self, request):    
        # Fetch all languages and genres and Pass them to the template context
        context = {
            'languages': Language.objects.all(),
            'genres': Genre.objects.all(),
        } 
        return render(
            request, 
            'channels/create_channel.html',
            context 
        ) 

    # Handle POST requests
    def post(self, request):
        
        return render(request, 'channels/view_channel.html', )

    # Handle other HTTP methods using dispatch method
    def dispatch(self, request, *args, **kwargs):
        if request.method not in ["GET", "POST"]:
            return HttpResponseNotAllowed(["GET", "POST"])
        return super().dispatch(request, *args, **kwargs)