[fixed] frappe.require is now async 💥
This commit is contained in:
parent
49b0570d6b
commit
75c0d581d5
18 changed files with 205 additions and 165 deletions
|
|
@ -6,67 +6,69 @@ frappe.provide("frappe.activity");
|
|||
frappe.pages['activity'].on_page_load = function(wrapper) {
|
||||
var me = this;
|
||||
|
||||
frappe.require('assets/frappe/js/lib/flot/jquery.flot.js');
|
||||
frappe.require('assets/frappe/js/lib/flot/jquery.flot.downsample.js');
|
||||
|
||||
frappe.ui.make_app_page({
|
||||
parent: wrapper,
|
||||
single_column: true
|
||||
});
|
||||
|
||||
this.page = wrapper.page;
|
||||
me.page = wrapper.page;
|
||||
|
||||
this.page.set_title(__("Activity"));
|
||||
me.page.set_title(__("Activity"));
|
||||
|
||||
frappe.model.with_doctype("Communication", function() {
|
||||
me.page.list = new frappe.ui.Listing({
|
||||
hide_refresh: true,
|
||||
page: me.page,
|
||||
method: 'frappe.desk.page.activity.activity.get_feed',
|
||||
parent: $("<div></div>").appendTo(me.page.main),
|
||||
render_row: function(row, data) {
|
||||
new frappe.activity.Feed(row, data);
|
||||
},
|
||||
show_filters: true,
|
||||
doctype: "Communication",
|
||||
get_args: function() {
|
||||
if (frappe.route_options && frappe.route_options.show_likes) {
|
||||
delete frappe.route_options.show_likes;
|
||||
return {
|
||||
show_likes: true
|
||||
frappe.require(['assets/frappe/js/lib/flot/jquery.flot.js',
|
||||
'assets/frappe/js/lib/flot/jquery.flot.downsample.js'], function() {
|
||||
|
||||
frappe.model.with_doctype("Communication", function() {
|
||||
me.page.list = new frappe.ui.Listing({
|
||||
hide_refresh: true,
|
||||
page: me.page,
|
||||
method: 'frappe.desk.page.activity.activity.get_feed',
|
||||
parent: $("<div></div>").appendTo(me.page.main),
|
||||
render_row: function(row, data) {
|
||||
new frappe.activity.Feed(row, data);
|
||||
},
|
||||
show_filters: true,
|
||||
doctype: "Communication",
|
||||
get_args: function() {
|
||||
if (frappe.route_options && frappe.route_options.show_likes) {
|
||||
delete frappe.route_options.show_likes;
|
||||
return {
|
||||
show_likes: true
|
||||
}
|
||||
} else {
|
||||
return {}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return {}
|
||||
});
|
||||
|
||||
me.page.list.run();
|
||||
|
||||
me.page.set_primary_action(__("Refresh"), function() {
|
||||
me.page.list.filter_list.clear_filters();
|
||||
me.page.list.run();
|
||||
}, "octicon octicon-sync");
|
||||
});
|
||||
|
||||
frappe.activity.render_plot(me.page);
|
||||
|
||||
me.page.main.on("click", ".activity-message", function() {
|
||||
var link_doctype = $(this).attr("data-link-doctype"),
|
||||
link_name = $(this).attr("data-link-name"),
|
||||
doctype = $(this).attr("data-doctype"),
|
||||
docname = $(this).attr("data-docname");
|
||||
|
||||
if (doctype && docname) {
|
||||
if (link_doctype && link_name) {
|
||||
frappe.route_options = {
|
||||
scroll_to: { "doctype": doctype, "name": docname }
|
||||
}
|
||||
}
|
||||
|
||||
frappe.set_route(["Form", link_doctype || doctype, link_name || docname]);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
me.page.list.run();
|
||||
|
||||
me.page.set_primary_action(__("Refresh"), function() {
|
||||
me.page.list.filter_list.clear_filters();
|
||||
me.page.list.run();
|
||||
}, "octicon octicon-sync");
|
||||
});
|
||||
});
|
||||
|
||||
frappe.activity.render_plot(this.page);
|
||||
|
||||
this.page.main.on("click", ".activity-message", function() {
|
||||
var link_doctype = $(this).attr("data-link-doctype"),
|
||||
link_name = $(this).attr("data-link-name"),
|
||||
doctype = $(this).attr("data-doctype"),
|
||||
docname = $(this).attr("data-docname");
|
||||
|
||||
if (doctype && docname) {
|
||||
if (link_doctype && link_name) {
|
||||
frappe.route_options = {
|
||||
scroll_to: { "doctype": doctype, "name": docname }
|
||||
}
|
||||
}
|
||||
|
||||
frappe.set_route(["Form", link_doctype || doctype, link_name || docname]);
|
||||
}
|
||||
});
|
||||
|
||||
// Build Report Button
|
||||
if(frappe.boot.user.can_get_report.indexOf("Feed")!=-1) {
|
||||
|
|
|
|||
|
|
@ -27,24 +27,20 @@ frappe.pages['setup-wizard'].on_page_load = function(wrapper) {
|
|||
$(".navbar:first").toggle(false);
|
||||
$("body").css({"padding-top":"30px"});
|
||||
|
||||
frappe.require("/assets/frappe/css/animate.min.css");
|
||||
var requires = ["/assets/frappe/css/animate.min.css"].concat(frappe.boot.setup_wizard_requires || []);
|
||||
|
||||
$.each(frappe.boot.setup_wizard_requires || [], function(i, path) {
|
||||
frappe.require(path);
|
||||
frappe.require(requires, function() {
|
||||
frappe.wiz.run_event("before_load");
|
||||
var wizard_settings = {
|
||||
page_name: "setup-wizard",
|
||||
parent: wrapper,
|
||||
slides: frappe.wiz.slides,
|
||||
title: __("Welcome")
|
||||
}
|
||||
|
||||
frappe.wiz.wizard = new frappe.wiz.Wizard(wizard_settings);
|
||||
frappe.wiz.run_event("after_load");
|
||||
});
|
||||
|
||||
frappe.wiz.run_event("before_load");
|
||||
|
||||
var wizard_settings = {
|
||||
page_name: "setup-wizard",
|
||||
parent: wrapper,
|
||||
slides: frappe.wiz.slides,
|
||||
title: __("Welcome")
|
||||
}
|
||||
|
||||
frappe.wiz.wizard = new frappe.wiz.Wizard(wizard_settings);
|
||||
|
||||
frappe.wiz.run_event("after_load");
|
||||
}
|
||||
|
||||
frappe.pages['setup-wizard'].on_page_show = function(wrapper) {
|
||||
|
|
|
|||
|
|
@ -32,16 +32,23 @@ def get_contact_list(doctype, fieldname, txt):
|
|||
"""Returns contacts (from autosuggest)"""
|
||||
txt = txt.replace('%', '')
|
||||
|
||||
def get_users():
|
||||
return filter(None, frappe.db.sql_list('select email from tabUser where email like %s',
|
||||
('%' + txt + '%')))
|
||||
try:
|
||||
return filter(None, frappe.db.sql_list('select `{0}` from `tab{1}` where `{0}` like %s'.format(fieldname, doctype),
|
||||
out = filter(None, frappe.db.sql_list('select `{0}` from `tab{1}` where `{0}` like %s'.format(fieldname, doctype),
|
||||
'%' + txt + '%'))
|
||||
if out:
|
||||
out = get_users()
|
||||
except Exception, e:
|
||||
if e.args[0]==1146:
|
||||
# no Contact, use User
|
||||
return filter(None, frappe.db.sql_list('select email from tabUser where email like %s', ('%' + txt + '%')))
|
||||
out = get_users()
|
||||
else:
|
||||
raise
|
||||
|
||||
return out
|
||||
|
||||
def get_system_managers():
|
||||
return frappe.db.sql_list("""select parent FROM tabUserRole
|
||||
WHERE role='System Manager'
|
||||
|
|
|
|||
|
|
@ -67,6 +67,7 @@
|
|||
"public/js/lib/d3.min.js",
|
||||
"public/js/lib/cal-heatmap.js",
|
||||
"public/js/lib/c3.min.js",
|
||||
"public/js/lib/markdown.js",
|
||||
|
||||
"public/js/frappe/provide.js",
|
||||
"public/js/frappe/class.js",
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ frappe.require = function(items, callback) {
|
|||
if(typeof items === "string") {
|
||||
items = [items];
|
||||
}
|
||||
frappe.assets.execute(items);
|
||||
frappe.assets.execute(items, callback);
|
||||
};
|
||||
|
||||
frappe.assets = {
|
||||
|
|
@ -59,7 +59,7 @@ frappe.assets = {
|
|||
executed_ : [],
|
||||
|
||||
// pass on to the handler to set
|
||||
execute: function(items) {
|
||||
execute: function(items, callback) {
|
||||
var to_fetch = []
|
||||
for(var i=0, l=items.length; i<l; i++) {
|
||||
if(!frappe.assets.exists(items[i])) {
|
||||
|
|
@ -67,9 +67,15 @@ frappe.assets = {
|
|||
}
|
||||
}
|
||||
if(to_fetch.length) {
|
||||
frappe.assets.fetch(to_fetch);
|
||||
frappe.assets.fetch(to_fetch, function() {
|
||||
frappe.assets.eval_assets(items, callback);
|
||||
});
|
||||
} else {
|
||||
frappe.assets.eval_assets(items, callback);
|
||||
}
|
||||
},
|
||||
|
||||
eval_assets: function(items, callback) {
|
||||
for(var i=0, l=items.length; i<l; i++) {
|
||||
// execute js/css if not already.
|
||||
var path = items[i];
|
||||
|
|
@ -79,6 +85,7 @@ frappe.assets = {
|
|||
frappe.assets.executed_.push(path)
|
||||
}
|
||||
}
|
||||
callback();
|
||||
},
|
||||
|
||||
// check if the asset exists in
|
||||
|
|
@ -98,7 +105,7 @@ frappe.assets = {
|
|||
},
|
||||
|
||||
// load an asset via
|
||||
fetch: function(items) {
|
||||
fetch: function(items, callback) {
|
||||
// this is virtual page load, only get the the source
|
||||
// *without* the template
|
||||
|
||||
|
|
@ -112,10 +119,10 @@ frappe.assets = {
|
|||
$.each(items, function(i, src) {
|
||||
frappe.assets.add(src, r.message[i]);
|
||||
});
|
||||
callback();
|
||||
},
|
||||
async: false,
|
||||
freeze: true,
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
add: function(src, txt) {
|
||||
|
|
|
|||
|
|
@ -618,19 +618,25 @@ frappe.ui.form.ControlDate = frappe.ui.form.ControlData.extend({
|
|||
}
|
||||
})
|
||||
|
||||
import_timepicker = function() {
|
||||
frappe.require("assets/frappe/js/lib/jquery/jquery.ui.slider.min.js");
|
||||
frappe.require("assets/frappe/js/lib/jquery/jquery.ui.sliderAccess.js");
|
||||
frappe.require("assets/frappe/js/lib/jquery/jquery.ui.timepicker-addon.css");
|
||||
frappe.require("assets/frappe/js/lib/jquery/jquery.ui.timepicker-addon.js");
|
||||
import_timepicker = function(callback) {
|
||||
frappe.require([
|
||||
"assets/frappe/js/lib/jquery/jquery.ui.slider.min.js",
|
||||
"assets/frappe/js/lib/jquery/jquery.ui.sliderAccess.js",
|
||||
"assets/frappe/js/lib/jquery/jquery.ui.timepicker-addon.css",
|
||||
"assets/frappe/js/lib/jquery/jquery.ui.timepicker-addon.js"
|
||||
], callback);
|
||||
}
|
||||
|
||||
frappe.ui.form.ControlTime = frappe.ui.form.ControlData.extend({
|
||||
make_input: function() {
|
||||
import_timepicker();
|
||||
this._super();
|
||||
this.$input.timepicker({
|
||||
timeFormat: 'HH:mm:ss',
|
||||
var me = this;
|
||||
var _super = this._super;
|
||||
import_timepicker(function() {
|
||||
_super.apply(me);
|
||||
me.$input.timepicker({
|
||||
timeFormat: 'HH:mm:ss',
|
||||
});
|
||||
me.refresh();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
@ -648,8 +654,12 @@ frappe.ui.form.ControlDatetime = frappe.ui.form.ControlDate.extend({
|
|||
this.$input.datetimepicker(this.datepicker_options);
|
||||
},
|
||||
make_input: function() {
|
||||
import_timepicker();
|
||||
this._super();
|
||||
var me = this;
|
||||
var _super = this._super;
|
||||
import_timepicker(function() {
|
||||
_super.apply(me);
|
||||
me.refresh();
|
||||
})
|
||||
},
|
||||
parse: function(value) {
|
||||
if(value) {
|
||||
|
|
|
|||
|
|
@ -96,7 +96,9 @@ frappe.form.formatters = {
|
|||
return value || "";
|
||||
},
|
||||
Datetime: function(value) {
|
||||
return value ? dateutil.str_to_user(dateutil.convert_to_user_tz(value)) : "";
|
||||
return value ? moment(dateutil.convert_to_user_tz(value))
|
||||
.tz(frappe.boot.sysdefaults.time_zone).format('MMMM Do YYYY, h:mm a z') : "";
|
||||
//return value ? dateutil.str_to_user(dateutil.convert_to_user_tz(value)) : "";
|
||||
},
|
||||
Text: function(value) {
|
||||
if(value) {
|
||||
|
|
|
|||
|
|
@ -179,19 +179,22 @@ frappe.ui.form.PrintPreview = Class.extend({
|
|||
.empty().add_options(this.print_formats);
|
||||
},
|
||||
with_old_style: function(opts) {
|
||||
var me = this;
|
||||
frappe.require("/assets/js/print_format_v3.min.js");
|
||||
_p.build(opts.format, opts.callback, opts.no_letterhead, opts.only_body, opts.no_heading);
|
||||
frappe.require("/assets/js/print_format_v3.min.js", function() {
|
||||
_p.build(opts.format, opts.callback, opts.no_letterhead, opts.only_body, opts.no_heading);
|
||||
});
|
||||
},
|
||||
print_old_style: function() {
|
||||
frappe.require("/assets/js/print_format_v3.min.js");
|
||||
_p.build(this.print_sel.val(), _p.go,
|
||||
!this.with_letterhead());
|
||||
var me = this;
|
||||
frappe.require("/assets/js/print_format_v3.min.js", function() {
|
||||
_p.build(me.print_sel.val(), _p.go,
|
||||
!me.with_letterhead());
|
||||
});
|
||||
},
|
||||
new_page_preview_old_style: function() {
|
||||
frappe.require("/assets/js/print_format_v3.min.js");
|
||||
_p.build(this.print_sel.val(), _p.preview,
|
||||
!this.with_letterhead());
|
||||
var me = this;
|
||||
frappe.require("/assets/js/print_format_v3.min.js", function() {
|
||||
_p.build(me.print_sel.val(), _p.preview, !me.with_letterhead());
|
||||
});
|
||||
},
|
||||
selected_format: function() {
|
||||
return this.print_sel.val() || this.frm.meta.default_print_format || "Standard";
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@ frappe.tools.downloadify = function(data, roles, title) {
|
|||
|
||||
frappe.markdown = function(txt) {
|
||||
if(!frappe.md2html) {
|
||||
frappe.require('assets/frappe/js/lib/markdown.js');
|
||||
frappe.md2html = new Showdown.converter();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,6 @@ frappe.request.call = function(opts) {
|
|||
|
||||
var statusCode = {
|
||||
200: function(data, xhr) {
|
||||
if(typeof data === "string") data = JSON.parse(data);
|
||||
opts.success_callback && opts.success_callback(data, xhr.responseText);
|
||||
},
|
||||
401: function(xhr) {
|
||||
|
|
@ -136,6 +135,25 @@ frappe.request.call = function(opts) {
|
|||
frappe.last_request = ajax_args.data;
|
||||
|
||||
return $.ajax(ajax_args)
|
||||
.done(function(data, textStatus, xhr) {
|
||||
if(typeof data === "string") data = JSON.parse(data);
|
||||
|
||||
// sync attached docs
|
||||
if(data.docs || data.docinfo) {
|
||||
frappe.model.sync(data);
|
||||
}
|
||||
|
||||
// sync translated messages
|
||||
if(data.__messages) {
|
||||
$.extend(frappe._messages, data.__messages);
|
||||
}
|
||||
|
||||
// callbacks
|
||||
var status_code_handler = statusCode[xhr.statusCode().status];
|
||||
if (status_code_handler) {
|
||||
status_code_handler(data, xhr);
|
||||
}
|
||||
})
|
||||
.always(function(data, textStatus, xhr) {
|
||||
if(typeof data==="string") {
|
||||
data = JSON.parse(data);
|
||||
|
|
@ -149,12 +167,6 @@ frappe.request.call = function(opts) {
|
|||
opts.always(data);
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, xhr) {
|
||||
var status_code_handler = statusCode[xhr.statusCode().status];
|
||||
if (status_code_handler) {
|
||||
status_code_handler(data, xhr);
|
||||
}
|
||||
})
|
||||
.fail(function(xhr, textStatus) {
|
||||
var status_code_handler = statusCode[xhr.statusCode().status];
|
||||
if (status_code_handler) {
|
||||
|
|
@ -251,12 +263,6 @@ frappe.request.cleanup = function(opts, r) {
|
|||
console.log("========");
|
||||
}
|
||||
|
||||
if(r.docs || r.docinfo) {
|
||||
frappe.model.sync(r);
|
||||
}
|
||||
if(r.__messages) {
|
||||
$.extend(frappe._messages, r.__messages);
|
||||
}
|
||||
|
||||
frappe.last_response = r;
|
||||
|
||||
|
|
|
|||
|
|
@ -310,7 +310,7 @@ frappe.ui.Filter = Class.extend({
|
|||
},
|
||||
|
||||
get_selected_value: function() {
|
||||
var val = this.field.get_parsed_value();
|
||||
var val = strip(this.field.get_parsed_value());
|
||||
|
||||
if(this.field.df.original_type == 'Check') {
|
||||
val = (val=='Yes' ? 1 :0);
|
||||
|
|
@ -443,9 +443,9 @@ frappe.ui.FieldSelect = Class.extend({
|
|||
},
|
||||
val: function(value) {
|
||||
if(value===undefined) {
|
||||
return this.get_value()
|
||||
return this.get_value();
|
||||
} else {
|
||||
this.set_value(value)
|
||||
this.set_value(value);
|
||||
}
|
||||
},
|
||||
clear: function() {
|
||||
|
|
|
|||
|
|
@ -8,16 +8,18 @@ frappe.views.CalendarFactory = frappe.views.Factory.extend({
|
|||
make: function(route) {
|
||||
var me = this;
|
||||
|
||||
frappe.require('assets/frappe/js/lib/fullcalendar/fullcalendar.min.css');
|
||||
frappe.require('assets/frappe/js/lib/fullcalendar/fullcalendar.min.js');
|
||||
frappe.require([
|
||||
'assets/frappe/js/lib/fullcalendar/fullcalendar.min.css',
|
||||
'assets/frappe/js/lib/fullcalendar/fullcalendar.min.js'
|
||||
], function() {
|
||||
frappe.model.with_doctype(route[1], function() {
|
||||
var options = {
|
||||
doctype: route[1]
|
||||
};
|
||||
$.extend(options, frappe.views.calendar[route[1]] || {});
|
||||
|
||||
frappe.model.with_doctype(route[1], function() {
|
||||
var options = {
|
||||
doctype: route[1]
|
||||
};
|
||||
$.extend(options, frappe.views.calendar[route[1]] || {});
|
||||
|
||||
frappe.views.calendars[route[1]] = new frappe.views.Calendar(options);
|
||||
frappe.views.calendars[route[1]] = new frappe.views.Calendar(options);
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -6,25 +6,25 @@ frappe.provide("frappe.views.calendar");
|
|||
frappe.views.GanttFactory = frappe.views.Factory.extend({
|
||||
make: function(route) {
|
||||
var me = this;
|
||||
me.doctype = route[1];
|
||||
|
||||
frappe.require('assets/frappe/js/lib/jQuery.Gantt/css/style.css');
|
||||
frappe.require('assets/frappe/js/lib/jQuery.Gantt/js/jquery.fn.gantt.js');
|
||||
frappe.require(['assets/frappe/js/lib/jQuery.Gantt/css/style.css',
|
||||
'assets/frappe/js/lib/jQuery.Gantt/js/jquery.fn.gantt.js'], function() {
|
||||
|
||||
this.doctype = route[1];
|
||||
frappe.model.with_doctype(me.doctype, function() {
|
||||
var page = me.make_page();
|
||||
$(page).on("show", function() {
|
||||
page.ganttview.set_filters_from_route_options();
|
||||
});
|
||||
|
||||
frappe.model.with_doctype(this.doctype, function() {
|
||||
var page = me.make_page();
|
||||
$(page).on("show", function() {
|
||||
page.ganttview.set_filters_from_route_options();
|
||||
var options = {
|
||||
doctype: me.doctype,
|
||||
parent: page
|
||||
};
|
||||
$.extend(options, frappe.views.calendar[me.doctype] || {});
|
||||
|
||||
page.ganttview = new frappe.views.Gantt(options);
|
||||
});
|
||||
|
||||
var options = {
|
||||
doctype: me.doctype,
|
||||
parent: page
|
||||
};
|
||||
$.extend(options, frappe.views.calendar[me.doctype] || {});
|
||||
|
||||
page.ganttview = new frappe.views.Gantt(options);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -666,13 +666,16 @@ frappe.views.GridReportWithPlot = frappe.views.GridReport.extend({
|
|||
this.plot_area.toggle(false);
|
||||
return;
|
||||
}
|
||||
frappe.require('assets/frappe/js/lib/flot/jquery.flot.js');
|
||||
frappe.require('assets/frappe/js/lib/flot/jquery.flot.downsample.js');
|
||||
|
||||
this.plot = $.plot(this.plot_area.toggle(true), plot_data,
|
||||
this.get_plot_options());
|
||||
var me = this;
|
||||
frappe.require(['assets/frappe/js/lib/flot/jquery.flot.js',
|
||||
'assets/frappe/js/lib/flot/jquery.flot.downsample.js'], function() {
|
||||
me.plot = $.plot(me.plot_area.toggle(true), plot_data,
|
||||
me.get_plot_options());
|
||||
|
||||
me.setup_plot_hover();
|
||||
});
|
||||
|
||||
this.setup_plot_hover();
|
||||
},
|
||||
setup_plot_check: function() {
|
||||
var me = this;
|
||||
|
|
|
|||
|
|
@ -115,12 +115,13 @@ frappe.views.QueryReport = Class.extend({
|
|||
callback: function(r) {
|
||||
frappe.dom.eval(r.message.script || "");
|
||||
|
||||
var report_settings = frappe.query_reports[me.report_name];
|
||||
me.html_format = r.message.html_format;
|
||||
report_settings["html_format"] = r.message.html_format;
|
||||
|
||||
me.setup_report();
|
||||
frappe.after_ajax(function() {
|
||||
var report_settings = frappe.query_reports[me.report_name];
|
||||
me.html_format = r.message.html_format;
|
||||
report_settings["html_format"] = r.message.html_format;
|
||||
|
||||
me.setup_report();
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -18,10 +18,10 @@ frappe.standard_pages["test-runner"] = function() {
|
|||
return;
|
||||
}
|
||||
|
||||
frappe.require("assets/frappe/js/lib/jquery/qunit.js");
|
||||
frappe.require("assets/frappe/js/lib/jquery/qunit.css");
|
||||
var requires = ["assets/frappe/js/lib/jquery/qunit.js",
|
||||
"assets/frappe/js/lib/jquery/qunit.css"].concat(route.splice(1).join("/"));
|
||||
|
||||
QUnit.load();
|
||||
|
||||
frappe.require(route.splice(1).join("/"));
|
||||
frappe.require(requires, function() {
|
||||
QUnit.load();
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -168,7 +168,7 @@ _f.Frm.prototype.print_doc = function() {
|
|||
this.hide_print();
|
||||
return;
|
||||
}
|
||||
if(!frappe.model.can_print(this.doc.doctype, cur_frm)) {
|
||||
if(!frappe.model.can_print(this.doc.doctype, this)) {
|
||||
msgprint(__("You are not allowed to print this document"));
|
||||
return;
|
||||
}
|
||||
|
|
@ -422,10 +422,10 @@ _f.Frm.prototype.refresh = function(docname) {
|
|||
if(!this.setup_done) this.setup();
|
||||
|
||||
// load the record for the first time, if not loaded (call 'onload')
|
||||
cur_frm.cscript.is_onload = false;
|
||||
this.cscript.is_onload = false;
|
||||
if(!this.opendocs[this.docname]) {
|
||||
var me = this;
|
||||
cur_frm.cscript.is_onload = true;
|
||||
this.cscript.is_onload = true;
|
||||
this.setnewdoc();
|
||||
$(document).trigger("form-load", [this]);
|
||||
$(this.page.wrapper).on('hide', function(e) {
|
||||
|
|
@ -534,7 +534,7 @@ _f.Frm.prototype.render_form = function(is_a_different_doc) {
|
|||
this.refresh_header(is_a_different_doc);
|
||||
}
|
||||
|
||||
$(cur_frm.wrapper).trigger('render_complete');
|
||||
$(this.wrapper).trigger('render_complete');
|
||||
|
||||
if(!this.hidden) {
|
||||
this.layout.show_empty_form_message();
|
||||
|
|
@ -544,8 +544,8 @@ _f.Frm.prototype.render_form = function(is_a_different_doc) {
|
|||
}
|
||||
|
||||
_f.Frm.prototype.refresh_field = function(fname) {
|
||||
if(cur_frm.fields_dict[fname] && cur_frm.fields_dict[fname].refresh) {
|
||||
cur_frm.fields_dict[fname].refresh();
|
||||
if(this.fields_dict[fname] && this.fields_dict[fname].refresh) {
|
||||
this.fields_dict[fname].refresh();
|
||||
this.layout.refresh_dependency();
|
||||
}
|
||||
}
|
||||
|
|
@ -582,13 +582,13 @@ _f.Frm.prototype.cleanup_refresh = function() {
|
|||
if(me.meta.autoname && me.meta.autoname.substr(0,6)=='field:' && !me.doc.__islocal) {
|
||||
var fn = me.meta.autoname.substr(6);
|
||||
|
||||
if (cur_frm.doc[fn]) {
|
||||
cur_frm.toggle_display(fn, false);
|
||||
if (me.doc[fn]) {
|
||||
me.toggle_display(fn, false);
|
||||
}
|
||||
}
|
||||
|
||||
if(me.meta.autoname=="naming_series:" && !me.doc.__islocal) {
|
||||
cur_frm.toggle_display("naming_series", false);
|
||||
me.toggle_display("naming_series", false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -914,7 +914,7 @@ _f.Frm.prototype.add_fetch = function(link_field, src_field, tar_field) {
|
|||
}
|
||||
|
||||
_f.Frm.prototype.set_print_heading = function(txt) {
|
||||
this.pformat[cur_frm.docname] = txt;
|
||||
this.pformat[this.docname] = txt;
|
||||
}
|
||||
|
||||
_f.Frm.prototype.action_perm_type_map = {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||
// MIT License. See license.txt
|
||||
|
||||
frappe.require('assets/frappe/js/lib/jscolor/jscolor.js');
|
||||
|
||||
frappe.provide("frappe.website_theme");
|
||||
$.extend(frappe.website_theme, {
|
||||
|
|
@ -10,10 +9,12 @@ $.extend(frappe.website_theme, {
|
|||
});
|
||||
|
||||
frappe.ui.form.on("Website Theme", "onload_post_render", function(frm) {
|
||||
$.each(frappe.website_theme.color_variables, function(i, v) {
|
||||
$(frm.fields_dict[v].input).addClass('color {required:false,hash:true}');
|
||||
frappe.require('assets/frappe/js/lib/jscolor/jscolor.js', function() {
|
||||
$.each(frappe.website_theme.color_variables, function(i, v) {
|
||||
$(frm.fields_dict[v].input).addClass('color {required:false,hash:true}');
|
||||
});
|
||||
jscolor.bind();
|
||||
});
|
||||
jscolor.bind();
|
||||
});
|
||||
|
||||
frappe.ui.form.on("Website Theme", "refresh", function(frm) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue