from json import JSONEncoder
from django.views.generic.edit import CreateView,FormView
from feedback.models import Feedback
from .forms import CaptchaTestForm
from jsonview.decorators import json_view
from captcha.models import CaptchaStore
from captcha.helpers import captcha_image_url



class FeedbackView(FormView):
    model = Feedback
    form_class = CaptchaTestForm


# class CaptchaView(CreateView):
#     def post(self, request, *args, **kwargs):
#         print(request.POST)
#         return HttpResponse(JSONEncoder().encode({"success":True}))
@json_view
def CaptchaView(request):
    # form = CaptchaTestForm(request.POST)
    # form = request.POST
    if request.method == 'POST':
        x = request.POST.dict()
        # print(x)
        form = CaptchaTestForm(request.POST)

        print(form)
        print(form.errors)
        # print(form.cleaned_data["name"])

        # print(form.cleaned_data["captch_0"])
        if form.is_valid():
            form.save()
            return {"success":"success","value":"accepted"}
        else:
            to_json_response = dict()
            to_json_response['new_cptch_key'] = CaptchaStore.generate_key()
            to_json_response['new_cptch_image'] = captcha_image_url(to_json_response['new_cptch_key'])
            print("invalid")
        return {"data":to_json_response,"value":"invalid"}