@@ -388,6 +388,7 @@ def setup_help(): | |||||
"Make a database for help documentation" | "Make a database for help documentation" | ||||
frappe.local.flags = frappe._dict() | frappe.local.flags = frappe._dict() | ||||
frappe.local.flags.in_setup_help = True | frappe.local.flags.in_setup_help = True | ||||
frappe.local.flags.in_install = True | |||||
frappe.local.lang = 'en' | frappe.local.lang = 'en' | ||||
frappe.local.conf = frappe.get_site_config(sites_path='.') | frappe.local.conf = frappe.get_site_config(sites_path='.') | ||||
from frappe.utils.help import sync | from frappe.utils.help import sync | ||||
@@ -39,20 +39,20 @@ | |||||
<li class="dropdown dropdown-help dropdown-mobile"> | <li class="dropdown dropdown-help dropdown-mobile"> | ||||
<a class="dropdown-toggle" data-toggle="dropdown" href="#" | <a class="dropdown-toggle" data-toggle="dropdown" href="#" | ||||
onclick="return false;" style="height: 40px;"> | onclick="return false;" style="height: 40px;"> | ||||
<span class="hidden-xs hidden-sm" style="vertical-align: middle;">Help <b class="caret"></b></span> | |||||
<span class="hidden-xs hidden-sm" style="vertical-align: middle;">{{ __("Help") }} <b class="caret"></b></span> | |||||
<span class="visible-xs visible-sm standard-image" | <span class="visible-xs visible-sm standard-image" | ||||
style="padding: 50% 7px; font-size: 17px; background-color: #fafbfc; font-weight: 100;">?</span> | style="padding: 50% 7px; font-size: 17px; background-color: #fafbfc; font-weight: 100;">?</span> | ||||
</a> | </a> | ||||
<ul class="dropdown-menu" role="menu"> | <ul class="dropdown-menu" role="menu"> | ||||
<div class="input-group" style="border-bottom: 1px solid #d1d8dd;"> | <div class="input-group" style="border-bottom: 1px solid #d1d8dd;"> | ||||
<input id="input-help" type="text" placeholder="What do you need help with?" autofocus> | <input id="input-help" type="text" placeholder="What do you need help with?" autofocus> | ||||
<span class="input-group-btn"><button class="btn btn-default">Go</button></span> | |||||
<span class="input-group-btn"><button class="btn btn-default">{{ __("Go") }}</button></span> | |||||
</div> | </div> | ||||
<li id="help-links"></li> | <li id="help-links"></li> | ||||
<li class="divider"></li> | <li class="divider"></li> | ||||
<li> | <li> | ||||
<a data-link-type="documentation" | <a data-link-type="documentation" | ||||
data-path="/documentation/index" target="_blank">Documentation</a> | |||||
data-path="/documentation/index" target="_blank">{{ __("Documentation") }}</a> | |||||
</li> | </li> | ||||
<li class="divider documentation-links"></li> | <li class="divider documentation-links"></li> | ||||
<li><a href="#" onclick="return frappe.ui.toolbar.show_about();"> | <li><a href="#" onclick="return frappe.ui.toolbar.show_about();"> | ||||
@@ -94,12 +94,9 @@ class HelpDatabase(object): | |||||
docs_folder = '../apps/{app}/{app}/docs/user'.format(app=app) | docs_folder = '../apps/{app}/{app}/docs/user'.format(app=app) | ||||
self.out_base_path = '../apps/{app}/{app}/docs'.format(app=app) | self.out_base_path = '../apps/{app}/{app}/docs'.format(app=app) | ||||
if os.path.exists(docs_folder): | if os.path.exists(docs_folder): | ||||
try: | |||||
app_name = frappe.get_attr('{app}.__title__'.format(app=app)) or app | |||||
doc_contents += '<li><a data-path="/{app}/index">{app_name}</a></li>'.format( | |||||
app=app, app_name=app_name) | |||||
except Exception: | |||||
pass | |||||
app_name = getattr(frappe.get_module(app), '__title__', None) or app.title() | |||||
doc_contents += '<li><a data-path="/{app}/index">{app_name}</a></li>'.format( | |||||
app=app, app_name=app_name) | |||||
for basepath, folders, files in os.walk(docs_folder): | for basepath, folders, files in os.walk(docs_folder): | ||||
files = self.reorder_files(files) | files = self.reorder_files(files) | ||||
@@ -70,7 +70,7 @@ def get_allowed_functions_for_jenv(): | |||||
# only allow functions | # only allow functions | ||||
datautils[key] = obj | datautils[key] = obj | ||||
if "_" in frappe.local.form_dict: | |||||
if "_" in getattr(frappe.local, 'form_dict', {}): | |||||
del frappe.local.form_dict["_"] | del frappe.local.form_dict["_"] | ||||
out = { | out = { | ||||
@@ -80,15 +80,11 @@ def get_allowed_functions_for_jenv(): | |||||
"get_url": frappe.utils.get_url, | "get_url": frappe.utils.get_url, | ||||
"format_value": frappe.format_value, | "format_value": frappe.format_value, | ||||
"format_date": frappe.utils.data.global_date_format, | "format_date": frappe.utils.data.global_date_format, | ||||
"form_dict": frappe.local.form_dict, | |||||
"form_dict": getattr(frappe.local, 'form_dict', {}), | |||||
"local": frappe.local, | "local": frappe.local, | ||||
"get_hooks": frappe.get_hooks, | "get_hooks": frappe.get_hooks, | ||||
"get_meta": frappe.get_meta, | "get_meta": frappe.get_meta, | ||||
"get_doc": frappe.get_doc, | "get_doc": frappe.get_doc, | ||||
"db": { | |||||
"get_value": frappe.db.get_value, | |||||
"get_default": frappe.db.get_default, | |||||
}, | |||||
"get_list": frappe.get_list, | "get_list": frappe.get_list, | ||||
"get_all": frappe.get_all, | "get_all": frappe.get_all, | ||||
"utils": datautils, | "utils": datautils, | ||||
@@ -113,6 +109,10 @@ def get_allowed_functions_for_jenv(): | |||||
if not frappe.flags.in_setup_help: | if not frappe.flags.in_setup_help: | ||||
out['date_format'] = frappe.db.get_default("date_format") or "yyyy-mm-dd" | out['date_format'] = frappe.db.get_default("date_format") or "yyyy-mm-dd" | ||||
out['get_visible_columns'] = frappe.get_attr("frappe.www.print.get_visible_columns") | out['get_visible_columns'] = frappe.get_attr("frappe.www.print.get_visible_columns") | ||||
out["db"] = { | |||||
"get_value": frappe.db.get_value, | |||||
"get_default": frappe.db.get_default, | |||||
} | |||||
return out | return out | ||||