1
0
forked from test/crm
jcrm/crm/api/session.py
Shariq Ansari 39a419889f fix: only show sales user filter to manager
(cherry picked from commit f747e076ab6b1bc58eb4aa14fe01628317c0b2eb)
2025-07-10 11:53:05 +00:00

64 lines
1.2 KiB
Python

import frappe
@frappe.whitelist()
def get_users():
users = frappe.qb.get_query(
"User",
fields=[
"name",
"email",
"enabled",
"user_image",
"first_name",
"last_name",
"full_name",
"user_type",
],
order_by="full_name asc",
distinct=True,
).run(as_dict=1)
for user in users:
if frappe.session.user == user.name:
user.session_user = True
user.roles = frappe.get_roles(user.name)
user.role = ""
if "System Manager" in user.roles:
user.role = "System Manager"
elif "Sales Manager" in user.roles:
user.role = "Sales Manager"
elif "Sales User" in user.roles:
user.role = "Sales User"
elif "Guest" in user.roles:
user.role = "Guest"
if frappe.session.user == user.name:
user.session_user = True
user.is_telephony_agent = frappe.db.exists("CRM Telephony Agent", {"user": user.name})
crm_users = []
# crm users are users with role Sales User or Sales Manager
for user in users:
if "Sales User" in user.roles or "Sales Manager" in user.roles:
crm_users.append(user)
return users, crm_users
@frappe.whitelist()
def get_organizations():
organizations = frappe.qb.get_query(
"CRM Organization",
fields=["*"],
order_by="name asc",
distinct=True,
).run(as_dict=1)
return organizations