# Project urls

urlpatterns = [
    path('admin/', admin.site.urls),
    
    path("__debug__/", include("debug_toolbar.urls")),

    path('', include("home.urls")),
    path('todo/', include("todo_app.urls")),
    path('modelf/', include("modelform_playground.urls")),
]



# App urls
app_name = "modelfp"
urlpatterns = [
    path("", views.IndexView.as_view(), name="index"),
    path("custom_customerform/", views.process_custom_customerform, name="custom_customerform"),
    path("customerform/", views.process_customerform, name="customerform"),
]


# View
def process_custom_customerform(request):
    todays_date_string = str(timezone.now().date())
    context = {
        "current_date": todays_date_string,
    }

    if request.method == "POST":
        try:
            firstname = request.POST["first_name"]
            lastname = request.POST["last_name"]
            birth = request.POST["birthdate"]
            customer = Customer(first_name=firstname,
                                last_name=lastname,
                                birthdate=birth)
        except KeyError:
            messages.add_message(
                request,
                level=30,
                message="Please enter all required fields."
            )
            return render(request, 
                          "modelform_playground/custom_customerform.html",
                          context)
        
        else:
            messages.add_message(
                request,
                level=25,
                message=f"Successfully added customer {firstname} {lastname}!"
            )
            return HttpResponseRedirect(reverse("modelfp:custom_customerform"))

    # GET request
    else:
        return render(request,
                      "modelform_playground/custom_customerform.html",
                      context)