Skip to content

Commit

Permalink
fix: api's for live demo site
Browse files Browse the repository at this point in the history
  • Loading branch information
shariquerik committed Sep 26, 2024
1 parent b5078b9 commit b323d74
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 0 deletions.
36 changes: 36 additions & 0 deletions crm/api/demo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import frappe
from frappe import _
from frappe.auth import LoginManager


@frappe.whitelist(allow_guest=True)
def login_demo():
if not frappe.conf.demo_username or not frappe.conf.demo_password:
return
frappe.local.response["redirect_to"] = "/crm"
login_manager = LoginManager()
login_manager.authenticate(frappe.conf.demo_username, frappe.conf.demo_password)
login_manager.post_login()
frappe.local.response["type"] = "redirect"
frappe.local.response["location"] = frappe.local.response["redirect_to"]


def validate_reset_password(user):
if frappe.conf.demo_username and frappe.session.user == frappe.conf.demo_username:
frappe.throw(
_("Password cannot be reset by Demo User {}").format(
frappe.bold(frappe.conf.demo_username)
),
frappe.PermissionError,
)


def validate_user(doc, event):
if frappe.conf.demo_username and frappe.session.user == frappe.conf.demo_username and doc.new_password:
frappe.throw(
_("Password cannot be reset by Demo User {}").format(
frappe.bold(frappe.conf.demo_username)
),
frappe.PermissionError,
)

4 changes: 4 additions & 0 deletions crm/hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@
override_doctype_class = {
"Contact": "crm.overrides.contact.CustomContact",
"Email Template": "crm.overrides.email_template.CustomEmailTemplate",
"User": "crm.overrides.user.CustomUser",
}

# Document Events
Expand All @@ -156,6 +157,9 @@
"CRM Deal": {
"on_update": ["crm.fcrm.doctype.erpnext_crm_settings.erpnext_crm_settings.create_customer_in_erpnext"],
},
"User": {
"before_validate": ["crm.api.demo.validate_user"],
}
}

# Scheduled Tasks
Expand Down
10 changes: 10 additions & 0 deletions crm/overrides/user.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# import frappe
from frappe import _
from frappe.core.doctype.user.user import User
from crm.api.demo import validate_reset_password


class CustomUser(User):
def validate_reset_password(self):
# restrict demo user to reset password
validate_reset_password(self)

0 comments on commit b323d74

Please sign in to comment.