from django.views.generic.base import TemplateView
from django.contrib import messages
from django.shortcuts import redirect

from uncloud_pay.selectors import get_balance_for_user
from .forms import UserDeleteForm

class UncloudIndex(TemplateView):
    template_name = "uncloud/index.html"

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        if self.request.user.is_authenticated:
            context['balance'] = get_balance_for_user(self.request.user)
            context['delete_form'] = UserDeleteForm(instance=self.request.user)
        return context
    
    def post(self, request, *args, **kwargs):
        UserDeleteForm(request.POST, instance=request.user)
        user = request.user
        user.delete()
        messages.info(request, 'Your account has been deleted.')
        return redirect('uncloudindex')