def release_perimeta_kit(form):
    log_perimeta_kit_release(form)
    bookings = get_kit_bookings()
    bookings['perimeta']['available'] = True
    bookings['perimeta']['pointing_at'] = form.pointing.data
    bookings['perimeta']['tooltip'] = generate_perimeta_release_tooltip(form)
    store_kit_bookings(bookings)
def book_perimeta_kit(form):
    log_perimeta_kit_booking(form)
    bookings = get_kit_bookings()
    # clearwater specific
    bookings['perimeta']['available'] = False
    bookings['perimeta']['pointing_at'] = form.pointing.data
    bookings['perimeta']['tooltip'] = generate_perimeta_book_tooltip(form)
    store_kit_bookings(bookings)
def release_ccf_kit(form):
    log_kit_release(form, product='ccf')
    bookings = get_kit_bookings()
    for deployment in form.deployments:
        for node in deployment['nodes']:
            if node.data:
                bookings['ccf'][deployment['name']]['nodes'][node.name]['available'] = True
        update_deployment_availability('ccf', deployment, bookings)
    store_kit_bookings(bookings)
def book_ccf_kit(form):
    log_ccf_kit_booking(form)
    bookings = get_kit_bookings()
    # clearwater specific
    for deployment in form.deployments:

        for node in deployment['nodes']:
            if node.data:
                bookings['ccf'][deployment['name']]['nodes'][
                    node.name]['available'] = False
                bookings['ccf'][deployment['name']]['nodes'][
                    node.name]['tooltip'] = generate_tooltip(form)

            update_deployment_availability('ccf', deployment, bookings)
    store_kit_bookings(bookings)