Merge pull request #374 from shariquerik/api-for-demo-site
fix: api's for live demo site
This commit is contained in:
commit
0e341e7fe9
36
crm/api/demo.py
Normal file
36
crm/api/demo.py
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
import frappe
|
||||||
|
from frappe import _
|
||||||
|
from frappe.auth import LoginManager
|
||||||
|
|
||||||
|
|
||||||
|
@frappe.whitelist(allow_guest=True)
|
||||||
|
def login():
|
||||||
|
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,
|
||||||
|
)
|
||||||
|
|
||||||
@ -132,6 +132,7 @@ before_uninstall = "crm.uninstall.before_uninstall"
|
|||||||
override_doctype_class = {
|
override_doctype_class = {
|
||||||
"Contact": "crm.overrides.contact.CustomContact",
|
"Contact": "crm.overrides.contact.CustomContact",
|
||||||
"Email Template": "crm.overrides.email_template.CustomEmailTemplate",
|
"Email Template": "crm.overrides.email_template.CustomEmailTemplate",
|
||||||
|
"User": "crm.overrides.user.CustomUser",
|
||||||
}
|
}
|
||||||
|
|
||||||
# Document Events
|
# Document Events
|
||||||
@ -156,6 +157,9 @@ doc_events = {
|
|||||||
"CRM Deal": {
|
"CRM Deal": {
|
||||||
"on_update": ["crm.fcrm.doctype.erpnext_crm_settings.erpnext_crm_settings.create_customer_in_erpnext"],
|
"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
|
# Scheduled Tasks
|
||||||
|
|||||||
10
crm/overrides/user.py
Normal file
10
crm/overrides/user.py
Normal file
@ -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)
|
||||||
Loading…
x
Reference in New Issue
Block a user