fix(routes): minor fixes to route, favion, setup-wizard
This commit is contained in:
parent
45f67aa9d6
commit
90363f4ba9
11 changed files with 50 additions and 54 deletions
|
|
@ -144,7 +144,7 @@ frappe.setup.SetupWizard = class SetupWizard extends frappe.ui.Slides {
|
|||
if (id + 1 === this.slides.length) {
|
||||
this.$next_btn.removeClass("btn-primary").hide();
|
||||
this.$complete_btn.addClass("btn-primary").show()
|
||||
.on('click', this.action_on_complete.bind(this));
|
||||
.on('click', () => this.action_on_complete());
|
||||
|
||||
} else {
|
||||
this.$next_btn.addClass("btn-primary").show();
|
||||
|
|
@ -201,7 +201,7 @@ frappe.setup.SetupWizard = class SetupWizard extends frappe.ui.Slides {
|
|||
this.abort_setup(r.message.fail);
|
||||
}
|
||||
},
|
||||
error: this.abort_setup.bind(this, "Error in setup", true)
|
||||
error: this.abort_setup("Error in setup", true)
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
19
frappe/public/images/frappe-favicon.svg
Normal file
19
frappe/public/images/frappe-favicon.svg
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="400px" height="400px" viewBox="0 0 400 400" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<style>
|
||||
polygon {
|
||||
fill: #0E253A;
|
||||
}
|
||||
@media (prefers-color-scheme: dark) {
|
||||
polygon {
|
||||
fill: #0089FF;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<g id="Artboard" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="favicon" transform="translate(110.000000, 66.000000)" fill="#0089FF" fill-rule="nonzero">
|
||||
<polygon id="Path" points="0 0 0 47.1807692 57.2278846 47.1807692 167.313462 47.1807692 179.203846 47.1807692 179.203846 0"></polygon>
|
||||
<polygon id="Path" points="0 120.297115 0 268.052885 57.2278846 268.052885 57.2278846 167.477885 167.313462 167.477885 167.313462 120.297115 57.2278846 120.297115"></polygon>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 877 B |
|
|
@ -254,8 +254,8 @@ frappe.Application = Class.extend({
|
|||
load_bootinfo: function() {
|
||||
if(frappe.boot) {
|
||||
frappe.modules = {};
|
||||
(frappe.boot.allowed_modules || []).forEach(function(m) {
|
||||
frappe.modules[m.module_name]=m;
|
||||
(frappe.boot.allowed_workspaces || []).forEach(function(m) {
|
||||
frappe.modules[m.module]=m;
|
||||
});
|
||||
frappe.model.sync(frappe.boot.docs);
|
||||
$.extend(frappe._messages, frappe.boot.__messages);
|
||||
|
|
@ -613,24 +613,6 @@ frappe.get_module = function(m, default_module) {
|
|||
return module;
|
||||
}
|
||||
|
||||
if(module.type==="module" && !module.link) {
|
||||
module.link = "modules/" + module.module_name;
|
||||
}
|
||||
|
||||
if(module.type==="list" && !module.link) {
|
||||
module.link = "List/" + module._doctype;
|
||||
}
|
||||
|
||||
if (!module.link) module.link = "";
|
||||
|
||||
if (!module._id) {
|
||||
// links can have complex values that range beyond simple plain text names, and so do not make for robust IDs.
|
||||
// an example from python: "link": r"javascript:eval('window.open(\'timetracking\', \'_self\')')"
|
||||
// this snippet allows a module to open a custom html page in the same window.
|
||||
module._id = module.module_name.toLowerCase();
|
||||
}
|
||||
|
||||
|
||||
if(!module.label) {
|
||||
module.label = m;
|
||||
}
|
||||
|
|
@ -639,10 +621,6 @@ frappe.get_module = function(m, default_module) {
|
|||
module._label = __(module.label);
|
||||
}
|
||||
|
||||
if(!module._doctype) {
|
||||
module._doctype = '';
|
||||
}
|
||||
|
||||
module._setup = true;
|
||||
|
||||
return module;
|
||||
|
|
|
|||
|
|
@ -457,17 +457,11 @@ frappe.ui.form.Form = class FrappeForm {
|
|||
return this.script_manager.trigger("onload_post_render");
|
||||
}
|
||||
},
|
||||
() => this.focus_on_first_input(),
|
||||
() => this.run_after_load_hook(),
|
||||
() => this.dashboard.after_refresh()
|
||||
]);
|
||||
// focus on first input
|
||||
|
||||
if(this.is_new()) {
|
||||
var first = this.form_wrapper.find('.form-layout input:first');
|
||||
if(!in_list(["Date", "Datetime"], first.attr("data-fieldtype"))) {
|
||||
first.focus();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.refresh_header(switched);
|
||||
}
|
||||
|
|
@ -481,6 +475,13 @@ frappe.ui.form.Form = class FrappeForm {
|
|||
this.scroll_to_element();
|
||||
}
|
||||
|
||||
focus_on_first_input() {
|
||||
let first = this.form_wrapper.find('.form-layout :input:visible:first');
|
||||
if(!in_list(["Date", "Datetime"], first.attr("data-fieldtype"))) {
|
||||
first.focus();
|
||||
}
|
||||
}
|
||||
|
||||
run_after_load_hook() {
|
||||
if (frappe.route_hooks.after_load) {
|
||||
let route_callback = frappe.route_hooks.after_load;
|
||||
|
|
@ -1041,11 +1042,6 @@ frappe.ui.form.Form = class FrappeForm {
|
|||
});
|
||||
}
|
||||
|
||||
focus_on_first_input() {
|
||||
let $first_input_el = $(frappe.container.page).find('.frappe-control:visible').eq(0);
|
||||
$first_input_el.find('input, select, textarea').focus();
|
||||
}
|
||||
|
||||
rename_doc() {
|
||||
frappe.model.rename_doc(this.doctype, this.docname, () => this.refresh_header());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@ frappe.router = {
|
|||
},
|
||||
|
||||
parse(route) {
|
||||
if (!route) return [];
|
||||
route = this.get_sub_path_string(route).split('/');
|
||||
route = $.map(route, this.decode_component);
|
||||
this.set_route_options_from_url(route);
|
||||
|
|
@ -267,7 +268,7 @@ frappe.router = {
|
|||
route = route[0];
|
||||
}
|
||||
|
||||
if (route.length===1 && route[0].includes('/')) {
|
||||
if (route.length===1 && route[0] && route[0].includes('/')) {
|
||||
// called as frappe.set_route('a/b/c')
|
||||
route = $.map(route[0].split('/'), this.decode_component);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -63,7 +63,8 @@ frappe.breadcrumbs = {
|
|||
this.set_workspace_breadcrumb(breadcrumbs);
|
||||
|
||||
// form / print
|
||||
const view = frappe.get_route()[0].toLowerCase();
|
||||
let view = frappe.get_route()[0];
|
||||
view = view ? view.toLowerCase() : null;
|
||||
if (breadcrumbs.doctype && ["print", "form"].includes(view)) {
|
||||
this.set_list_breadcrumb(breadcrumbs);
|
||||
this.set_form_breadcrumb(breadcrumbs, view);
|
||||
|
|
@ -86,7 +87,7 @@ frappe.breadcrumbs = {
|
|||
}
|
||||
|
||||
if (breadcrumbs.workspace) {
|
||||
if(!breadcrumbs.module_info.blocked && frappe.visible_modules.includes(breadcrumbs.module_info.module_name)) {
|
||||
if(!breadcrumbs.module_info.blocked && frappe.visible_modules.includes(breadcrumbs.module_info.module)) {
|
||||
$(repl('<li><a href="/app/space/%(module)s">%(label)s</a></li>',
|
||||
{ module: breadcrumbs.workspace, label: __(breadcrumbs.workspace) }))
|
||||
.appendTo(this.$breadcrumbs);
|
||||
|
|
@ -163,8 +164,8 @@ frappe.breadcrumbs = {
|
|||
|
||||
setup_modules() {
|
||||
if(!frappe.visible_modules) {
|
||||
frappe.visible_modules = $.map(frappe.boot.allowed_modules, (m) => {
|
||||
return m.module_name;
|
||||
frappe.visible_modules = $.map(frappe.boot.allowed_workspaces, (m) => {
|
||||
return m.module;
|
||||
});
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ frappe.views.pageview = {
|
|||
// cached in local storage
|
||||
frappe.model.sync(JSON.parse(localStorage["_page:" + name]));
|
||||
callback();
|
||||
} else {
|
||||
} else if (name) {
|
||||
// get fresh
|
||||
return frappe.call({
|
||||
method: 'frappe.desk.desk_page.getpage',
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@
|
|||
|
||||
.slide-footer {
|
||||
margin: var(--margin-md) 0;
|
||||
padding: 0 var(--padding-sm);
|
||||
padding: 0 var(--padding-lg);
|
||||
|
||||
.btn {
|
||||
box-shadow: none;
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
{% block favicon %}
|
||||
<link
|
||||
rel="shortcut icon"
|
||||
href="{{ (favicon or "/assets/frappe/images/favicon.png") | abs_url }}"
|
||||
href="{{ (favicon or "/assets/frappe/images/frappe-favicon.svg") | abs_url }}"
|
||||
type="image/x-icon"
|
||||
>
|
||||
{% endblock %}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ from six.moves.urllib.parse import quote, urljoin
|
|||
from html2text import html2text
|
||||
from markdown2 import markdown, MarkdownError
|
||||
from six import iteritems, text_type, string_types, integer_types
|
||||
from frappe.desk.utils import get_doctype_route
|
||||
|
||||
DATE_FORMAT = "%Y-%m-%d"
|
||||
TIME_FORMAT = "%H:%M:%S.%f"
|
||||
|
|
@ -1058,25 +1059,25 @@ def get_link_to_report(name, label=None, report_type=None, doctype=None, filters
|
|||
return """<a href='{0}'>{1}</a>""".format(get_url_to_report(name, report_type, doctype), label)
|
||||
|
||||
def get_absolute_url(doctype, name):
|
||||
return "desk/app/Form/{0}/{1}".format(quoted(doctype), quoted(name))
|
||||
return "/app/{0}/{1}".format(quoted(get_doctype_route(doctype)), quoted(name))
|
||||
|
||||
def get_url_to_form(doctype, name):
|
||||
return get_url(uri = "desk/app/Form/{0}/{1}".format(quoted(doctype), quoted(name)))
|
||||
return get_url(uri = "/app/{0}/{1}".format(quoted(get_doctype_route(doctype)), quoted(name)))
|
||||
|
||||
def get_url_to_list(doctype):
|
||||
return get_url(uri = "desk/app/List/{0}".format(quoted(doctype)))
|
||||
return get_url(uri = "/app/{0}".format(quoted(get_doctype_route(doctype))))
|
||||
|
||||
def get_url_to_report(name, report_type = None, doctype = None):
|
||||
if report_type == "Report Builder":
|
||||
return get_url(uri = "desk#Report/{0}/{1}".format(quoted(doctype), quoted(name)))
|
||||
return get_url(uri = "/app/{0}/view/report/{1}".format(quoted(get_doctype_route(doctype)), quoted(name)))
|
||||
else:
|
||||
return get_url(uri = "desk#query-report/{0}".format(quoted(name)))
|
||||
return get_url(uri = "/app/query-report/{0}".format(quoted(name)))
|
||||
|
||||
def get_url_to_report_with_filters(name, filters, report_type = None, doctype = None):
|
||||
if report_type == "Report Builder":
|
||||
return get_url(uri = "desk#Report/{0}?{1}".format(quoted(doctype), filters))
|
||||
return get_url(uri = "/app/{0}/view/report?{1}".format(quoted(doctype), filters))
|
||||
else:
|
||||
return get_url(uri = "desk#query-report/{0}?{1}".format(quoted(name), filters))
|
||||
return get_url(uri = "/app/query-report/{0}?{1}".format(quoted(name), filters))
|
||||
|
||||
operator_map = {
|
||||
# startswith
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ def get_website_settings(context=None):
|
|||
add_website_theme(context)
|
||||
|
||||
if not context.get("favicon"):
|
||||
context["favicon"] = "/assets/frappe/images/favicon.png"
|
||||
context["favicon"] = "/assets/frappe/images/frappe-favicon.svg"
|
||||
|
||||
if settings.favicon and settings.favicon != "attach_files:":
|
||||
context["favicon"] = settings.favicon
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue