1
0
forked from test/crm
jcrm/crm/www/crm.py
2025-03-12 15:56:21 +05:30

75 lines
1.7 KiB
Python

# Copyright (c) 2022, Frappe Technologies Pvt. Ltd. and Contributors
# GNU GPLv3 License. See license.txt
import frappe
from frappe.integrations.frappe_providers.frappecloud_billing import is_fc_site
from frappe.utils import cint, get_system_timezone
from frappe.utils.telemetry import capture
no_cache = 1
def get_context():
frappe.db.commit()
context = frappe._dict()
context.boot = get_boot()
if frappe.session.user != "Guest":
capture("active_site", "crm")
return context
@frappe.whitelist(methods=["POST"], allow_guest=True)
def get_context_for_dev():
if not frappe.conf.developer_mode:
frappe.throw("This method is only meant for developer mode")
return get_boot()
def get_boot():
return frappe._dict(
{
"frappe_version": frappe.__version__,
"default_route": get_default_route(),
"site_name": frappe.local.site,
"read_only_mode": frappe.flags.read_only,
"csrf_token": frappe.sessions.get_csrf_token(),
"setup_complete": cint(frappe.get_system_settings("setup_complete")),
"sysdefaults": frappe.defaults.get_defaults(),
"is_demo_site": frappe.conf.get("is_demo_site"),
"is_fc_site": is_fc_site(),
"user": get_user(),
"timezone": {
"system": get_system_timezone(),
"user": frappe.db.get_value("User", frappe.session.user, "time_zone")
or get_system_timezone(),
},
}
)
def get_default_route():
return "/crm"
def get_user():
"""get user info"""
user = frappe.db.get_value(
"User",
frappe.session.user,
[
"creation",
"email",
"email_signature",
"first_name",
"language",
"last_name",
"user_type",
"onboarding_status",
],
as_dict=True,
)
user.onboarding_status = frappe.parse_json(user.onboarding_status)
return user