refactor: load boot info along with csrf token

This commit is contained in:
Shariq Ansari 2024-04-23 21:19:32 +05:30
parent 7cea59d905
commit 3cc3701c56
2 changed files with 26 additions and 14 deletions

View File

@ -8,26 +8,34 @@ from frappe.utils.telemetry import capture
no_cache = 1 no_cache = 1
def get_context(context): def get_context():
csrf_token = frappe.sessions.get_csrf_token() csrf_token = frappe.sessions.get_csrf_token()
frappe.db.commit() frappe.db.commit()
context = frappe._dict()
context.boot = get_boot()
context.boot.csrf_token = csrf_token
if frappe.session.user != "Guest": if frappe.session.user != "Guest":
capture("active_site", "crm") capture("active_site", "crm")
context.csrf_token = csrf_token return context
@frappe.whitelist(methods=['POST'], allow_guest=True)
@frappe.whitelist(methods=["POST"], allow_guest=True)
def get_context_for_dev(): def get_context_for_dev():
if not frappe.conf.developer_mode: if not frappe.conf.developer_mode:
frappe.throw('This method is only meant for developer mode') frappe.throw("This method is only meant for developer mode")
return get_boot() return get_boot()
def get_boot(): def get_boot():
return frappe._dict({ return frappe._dict(
'frappe_version': frappe.__version__, {
'default_route': get_default_route(), "frappe_version": frappe.__version__,
'site_name': frappe.local.site, "default_route": get_default_route(),
'read_only_mode': frappe.flags.read_only, "site_name": frappe.local.site,
}) "read_only_mode": frappe.flags.read_only,
}
)
def get_default_route(): def get_default_route():
return '/crm' return "/crm"

View File

@ -16,7 +16,11 @@
<div id="modals"></div> <div id="modals"></div>
<div id="popovers"></div> <div id="popovers"></div>
<script> window.csrf_token = '{{ csrf_token }}'; </script> <script>
{% for key in boot %}
window["{{ key }}"] = {{ boot[key] | tojson }};
{% endfor %}
</script>
<script type="module" src="/src/main.js"></script> <script type="module" src="/src/main.js"></script>
</body> </body>
</html> </html>