[enhancement] reports now searchable from awesome bar, added in boot
This commit is contained in:
parent
7d5648eacd
commit
d749990d0a
5 changed files with 47 additions and 18 deletions
|
|
@ -104,9 +104,16 @@ def get_allowed_pages():
|
|||
|
||||
def load_translations(bootinfo):
|
||||
if frappe.local.lang != 'en':
|
||||
bootinfo["__messages"] = frappe.get_lang_dict("boot")
|
||||
messages = frappe.get_lang_dict("boot")
|
||||
|
||||
bootinfo["lang"] = frappe.lang
|
||||
|
||||
# load translated report names
|
||||
for name in bootinfo.user.all_reports:
|
||||
messages[name] = frappe._(name)
|
||||
|
||||
bootinfo["__messages"] = messages
|
||||
|
||||
def get_fullnames():
|
||||
"""map of user fullnames"""
|
||||
ret = frappe.db.sql("""select name,
|
||||
|
|
|
|||
3
frappe/change_log/current/readme.md
Normal file
3
frappe/change_log/current/readme.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
Leave change log files in this folder for user release notes.
|
||||
|
||||
(this file is just a place holder, don't delete it)
|
||||
1
frappe/change_log/current/report_in_search.md
Normal file
1
frappe/change_log/current/report_in_search.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
- Report can now be selected from search bar (Awesome bar)
|
||||
|
|
@ -27,14 +27,14 @@ frappe.search = {
|
|||
|
||||
response(frappe.search.options);
|
||||
},
|
||||
open: function() {
|
||||
frappe.search.autocomplete_open = true;
|
||||
open: function(event, ui) {
|
||||
frappe.search.autocomplete_open = event.target;
|
||||
},
|
||||
close: function() {
|
||||
close: function(event, ui) {
|
||||
frappe.search.autocomplete_open = false;
|
||||
},
|
||||
select: function(event, ui) {
|
||||
if(ui.item.route_options) {
|
||||
if(ui.item._options) {
|
||||
frappe.route_options = ui.item.route_options;
|
||||
}
|
||||
|
||||
|
|
@ -48,16 +48,6 @@ frappe.search = {
|
|||
}
|
||||
};
|
||||
|
||||
var render_item = function(ul, d) {
|
||||
var html = "<span>" + __(d.label || d.value) + "</span>";
|
||||
if(d.description && d.value!==d.description) {
|
||||
html += '<br><span class="text-muted">' + __(d.description) + '</span>';
|
||||
}
|
||||
return $('<li></li>')
|
||||
.data('item.autocomplete', d)
|
||||
.html('<a><p>' + html + '</p></a>')
|
||||
.appendTo(ul);
|
||||
};
|
||||
|
||||
var open_recent = function() {
|
||||
if (!frappe.search.autocomplete_open) {
|
||||
|
|
@ -67,15 +57,27 @@ frappe.search = {
|
|||
|
||||
$("#navbar-search")
|
||||
.on("focus", open_recent)
|
||||
.autocomplete(opts).data('ui-autocomplete')._renderItem = render_item;
|
||||
.autocomplete(opts).data('ui-autocomplete')._renderItem =
|
||||
frappe.search.render_item;
|
||||
|
||||
$("#sidebar-search")
|
||||
.on("focus", open_recent)
|
||||
.autocomplete(opts).data('ui-autocomplete')._renderItem = render_item;
|
||||
.autocomplete(opts).data('ui-autocomplete')._renderItem =
|
||||
frappe.search.render_item;
|
||||
|
||||
frappe.search.make_page_title_map();
|
||||
frappe.search.setup_recent();
|
||||
},
|
||||
render_item: function(ul, d) {
|
||||
var html = "<span>" + __(d.label || d.value) + "</span>";
|
||||
if(d.description && d.value!==d.description) {
|
||||
html += '<br><span class="text-muted">' + __(d.description) + '</span>';
|
||||
}
|
||||
return $('<li></li>')
|
||||
.data('item.autocomplete', d)
|
||||
.html('<a><p>' + html + '</p></a>')
|
||||
.appendTo(ul);
|
||||
},
|
||||
add_help: function() {
|
||||
frappe.search.options.push({
|
||||
label: __("Help on Search"),
|
||||
|
|
@ -208,6 +210,18 @@ frappe.search.verbs = [
|
|||
});
|
||||
},
|
||||
|
||||
// reports
|
||||
function(txt) {
|
||||
frappe.search.find(keys(frappe.boot.user.all_reports), txt, function(match) {
|
||||
var report_type = frappe.boot.user.all_reports[match];
|
||||
return {
|
||||
label: __("Open {0}", ["<b>"+__(match)+"</b>"]),
|
||||
value: __("Open {0}", [__(match)]),
|
||||
route: [report_type=="Report Builder" ? "Report" : "query-report", match]
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// pages
|
||||
function(txt) {
|
||||
frappe.search.find(keys(frappe.search.pages), txt, function(match) {
|
||||
|
|
@ -274,5 +288,5 @@ frappe.search.verbs = [
|
|||
}
|
||||
|
||||
};
|
||||
},
|
||||
}
|
||||
];
|
||||
|
|
|
|||
|
|
@ -149,6 +149,9 @@ class User:
|
|||
self.can_import = frappe.db.sql_list("""select name from `tabDocType`
|
||||
where allow_import = 1""")
|
||||
|
||||
self.all_reports = frappe.db.sql("""select name, report_type from tabReport
|
||||
where ref_doctype in ('{0}')""".format("', '".join(self.can_get_report)))
|
||||
|
||||
def get_defaults(self):
|
||||
import frappe.defaults
|
||||
self.defaults = frappe.defaults.get_defaults(self.name)
|
||||
|
|
@ -206,6 +209,7 @@ class User:
|
|||
|
||||
d[key] = list(set(getattr(self, key)))
|
||||
|
||||
d.all_reports = dict(self.all_reports)
|
||||
return d
|
||||
|
||||
def get_user_fullname(user):
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue