{% extends "layout.html" %} {% block title %}{{ title }}{% endblock %} {% block precontent %} {% set saveLogic %} e.preventDefault(); const payload = { staff: document.querySelector("input[name='staffCheck']").checked, active: document.querySelector("input[name='activeCheck']").checked, last_name: document.querySelector("input[name='lastName']").value, first_name: document.querySelector("input[name='firstName']").value, title: document.querySelector("input[name='title']").value, supervisor_id: parseInt(document.querySelector("input[name='supervisor']").value) || null, location_id: parseInt(document.querySelector("input[name='location']").value) || null }; try { const id = document.querySelector("#userId").value; const isEdit = id && id !== "None"; const endpoint = isEdit ? `/api/user/${id}` : "/api/user"; const method = isEdit ? "PUT" : "POST"; const response = await fetch(endpoint, { method, headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }); const result = await response.json(); if (result.success) { localStorage.setItem("toastMessage", JSON.stringify({ message: isEdit ? "User updated!" : "User created!", type: "success" })); window.location.href = `/user/${result.id}`; } else { Toast.renderToast({ message: `Error: ${result.error}`, type: "danger" }); } } catch (err) { console.error(err); } {% endset %} {% set iconBar %} {% if user.id != None %} {{ buttons.render_button( id = 'org_chart', icon = 'diagram-3', logic = "window.location.href = '" + url_for('main.user_org', id=user.id) + "';", style = 'outline-secondary' ) }} {% endif %}