Merge pull request #14854 from netchampfaris/bench-browse-login-as-user
fix: login as user with browse command
This commit is contained in:
commit
2f8a6491f7
1 changed files with 23 additions and 2 deletions
|
|
@ -659,10 +659,14 @@ def publish_realtime(context, event, message, room, user, doctype, docname, afte
|
|||
|
||||
@click.command('browse')
|
||||
@click.argument('site', required=False)
|
||||
@click.option('--user', required=False, help='Login as user')
|
||||
@pass_context
|
||||
def browse(context, site):
|
||||
def browse(context, site, user=None):
|
||||
'''Opens the site on web browser'''
|
||||
from frappe.auth import LoginManager
|
||||
from frappe.auth import CookieManager
|
||||
import webbrowser
|
||||
|
||||
site = context.sites[0] if context.sites else site
|
||||
|
||||
if not site:
|
||||
|
|
@ -672,7 +676,24 @@ def browse(context, site):
|
|||
site = site.lower()
|
||||
|
||||
if site in frappe.utils.get_sites():
|
||||
webbrowser.open(frappe.utils.get_site_url(site), new=2)
|
||||
frappe.init(site=site)
|
||||
frappe.connect()
|
||||
|
||||
sid = ''
|
||||
if user:
|
||||
if frappe.conf.developer_mode or user == "Administrator":
|
||||
frappe.utils.set_request(path="/")
|
||||
frappe.local.cookie_manager = CookieManager()
|
||||
frappe.local.login_manager = LoginManager()
|
||||
frappe.local.login_manager.login_as(user)
|
||||
sid = f'/app?sid={frappe.session.sid}'
|
||||
else:
|
||||
print("Please enable developer mode to login as a user")
|
||||
|
||||
url = f'{frappe.utils.get_site_url(site)}{sid}'
|
||||
if user == "Administrator":
|
||||
print(f'Login URL: {url}')
|
||||
webbrowser.open(url, new=2)
|
||||
else:
|
||||
click.echo("\nSite named \033[1m{}\033[0m doesn't exist\n".format(site))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue