Przeglądaj źródła

oAuth: Redirect System User to /app

version-14
Anand Doshi 11 lat temu
rodzic
commit
55d2ea9d73
3 zmienionych plików z 24 dodań i 10 usunięć
  1. +6
    -6
      frappe/core/page/desktop/desktop.js
  2. +4
    -2
      frappe/templates/pages/login.py
  3. +14
    -2
      frappe/utils/response.py

+ 6
- 6
frappe/core/page/desktop/desktop.js Wyświetl plik

@@ -45,6 +45,12 @@ frappe.desktop.render = function() {
if(module.link) {
module._link = module.link.toLowerCase().replace("/", "-");
}
if(!module.label) {
module.label = m;
}
module.name = m;
module._label = frappe._(module.label || module.name);

module.app_icon = frappe.ui.app_icon.get_html(m);
@@ -74,12 +80,6 @@ frappe.desktop.render = function() {
$.each(modules_list, function(i, m) {
var module = frappe.modules[m];
if(module) {
if(!module.label) {
module.label = m;
}
module.name = m;
module._label = frappe._(module.label);
if(m!="Setup" && user_list.indexOf(m)!==-1)
add_icon(m);
}


+ 4
- 2
frappe/templates/pages/login.py Wyświetl plik

@@ -150,11 +150,13 @@ def login_oauth_user(data, provider=None):
if not frappe.db.exists("Profile", user):
create_oauth_user(data, provider)
frappe.local._response = redirect("/")
frappe.local.login_manager.user = user
frappe.local.login_manager.post_login()
# redirect!
frappe.local.response["type"] = "redirect"
frappe.local.response["location"] = "/app" if frappe.local.response.get('message') == 'Logged In' else "/"

# because of a GET request!
frappe.db.commit()


+ 14
- 2
frappe/utils/response.py Wyświetl plik

@@ -23,7 +23,8 @@ def build_response():
'csv': print_csv,
'download': print_raw,
'json': print_json,
'page': print_page
'page': print_page,
'redirect': redirect
}
print_map.get(frappe.response.get('type'), print_json)()
@@ -38,7 +39,18 @@ def print_json():
cleanup_docs()
frappe._response.headers["Content-Type"] = "text/json; charset: utf-8"
print_zip(json.dumps(frappe.local.response, default=json_handler, separators=(',',':')))

def redirect():
frappe._response.data = """<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>Redirecting...</title>
<h1>Redirecting...</h1>
<p>You should be redirected automatically to target URL: <a href="{location}">/</a>.
If not click the link.'""".format(location=frappe.response.location)
frappe._response.headers["Content-Type"] = "text/html; charset: utf-8"
frappe._response.status_code = frappe.response.status_code or 302
frappe._response.location = frappe.response.location
def cleanup_docs():
if frappe.response.get('docs') and type(frappe.response['docs'])!=dict:
frappe.response['docs'] = frappe.model.utils.compress(frappe.response['docs'])


Ładowanie…
Anuluj
Zapisz