jwjacobson / jazztunes

a jazz repertoire management app
https://jazztunes.org
GNU General Public License v3.0
3 stars 0 forks source link

Function Patterns #234

Open ryaustin opened 4 months ago

ryaustin commented 4 months ago

HI Jeff, here's a snap of what we discussed last regarding function patterns.

@login_required
def tune_list(request):
    user = request.user
    tunes = RepertoireTune.objects.select_related("tune").filter(player=user)
    tune_count = len(tunes)
    template_name = "tune/list.html"

    if request.method == "POST":
        search_form = SearchForm(request.POST)
        if search_form.is_valid():
            search_terms = search_form.cleaned_data["search_term"].split(" ")
            results = return_search_results(request, search_terms, tunes, search_form)
            tunes = results.get("tunes")
            tune_count = results.get("tune_count")

    else:
        search_form = SearchForm()
    data_dict = {"tunes": tunes, "search_form": search_form, "tune_count": tune_count}
    request.session["tune_count"] = tune_count
    return render(
        request,
        template_name=template_name,
        context=data_dict,
    )