@@ -6,68 +6,70 @@ frappe.provide("frappe.activity"); | |||||
frappe.pages['activity'].on_page_load = function(wrapper) { | frappe.pages['activity'].on_page_load = function(wrapper) { | ||||
var me = this; | 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({ | frappe.ui.make_app_page({ | ||||
parent: wrapper, | parent: wrapper, | ||||
single_column: true | single_column: true | ||||
}); | }); | ||||
this.page = wrapper.page; | |||||
this.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 | |||||
me.page = wrapper.page; | |||||
me.page.set_title(__("Activity")); | |||||
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.list.run(); | |||||
me.page.set_primary_action(__("Refresh"), function() { | |||||
me.page.list.filter_list.clear_filters(); | |||||
me.page.list.run(); | |||||
}, "octicon octicon-sync"); | |||||
}); | |||||
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); | |||||
frappe.activity.render_plot(me.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"); | |||||
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 } | |||||
} | |||||
} | |||||
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]); | |||||
} | |||||
frappe.set_route(["Form", link_doctype || doctype, link_name || docname]); | |||||
} | |||||
}); | |||||
}); | }); | ||||
// Build Report Button | // Build Report Button | ||||
if(frappe.boot.user.can_get_report.indexOf("Feed")!=-1) { | if(frappe.boot.user.can_get_report.indexOf("Feed")!=-1) { | ||||
this.page.add_menu_item(__('Build Report'), function() { | this.page.add_menu_item(__('Build Report'), function() { | ||||
@@ -27,24 +27,20 @@ frappe.pages['setup-wizard'].on_page_load = function(wrapper) { | |||||
$(".navbar:first").toggle(false); | $(".navbar:first").toggle(false); | ||||
$("body").css({"padding-top":"30px"}); | $("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 || []); | |||||
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") | |||||
} | |||||
$.each(frappe.boot.setup_wizard_requires || [], function(i, path) { | |||||
frappe.require(path); | |||||
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) { | frappe.pages['setup-wizard'].on_page_show = function(wrapper) { | ||||
@@ -32,16 +32,23 @@ def get_contact_list(doctype, fieldname, txt): | |||||
"""Returns contacts (from autosuggest)""" | """Returns contacts (from autosuggest)""" | ||||
txt = txt.replace('%', '') | txt = txt.replace('%', '') | ||||
def get_users(): | |||||
return filter(None, frappe.db.sql_list('select email from tabUser where email like %s', | |||||
('%' + txt + '%'))) | |||||
try: | 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 + '%')) | '%' + txt + '%')) | ||||
if out: | |||||
out = get_users() | |||||
except Exception, e: | except Exception, e: | ||||
if e.args[0]==1146: | if e.args[0]==1146: | ||||
# no Contact, use User | # no Contact, use User | ||||
return filter(None, frappe.db.sql_list('select email from tabUser where email like %s', ('%' + txt + '%'))) | |||||
out = get_users() | |||||
else: | else: | ||||
raise | raise | ||||
return out | |||||
def get_system_managers(): | def get_system_managers(): | ||||
return frappe.db.sql_list("""select parent FROM tabUserRole | return frappe.db.sql_list("""select parent FROM tabUserRole | ||||
WHERE role='System Manager' | WHERE role='System Manager' | ||||
@@ -67,6 +67,7 @@ | |||||
"public/js/lib/d3.min.js", | "public/js/lib/d3.min.js", | ||||
"public/js/lib/cal-heatmap.js", | "public/js/lib/cal-heatmap.js", | ||||
"public/js/lib/c3.min.js", | "public/js/lib/c3.min.js", | ||||
"public/js/lib/markdown.js", | |||||
"public/js/frappe/provide.js", | "public/js/frappe/provide.js", | ||||
"public/js/frappe/class.js", | "public/js/frappe/class.js", | ||||
@@ -9,7 +9,7 @@ frappe.require = function(items, callback) { | |||||
if(typeof items === "string") { | if(typeof items === "string") { | ||||
items = [items]; | items = [items]; | ||||
} | } | ||||
frappe.assets.execute(items); | |||||
frappe.assets.execute(items, callback); | |||||
}; | }; | ||||
frappe.assets = { | frappe.assets = { | ||||
@@ -59,7 +59,7 @@ frappe.assets = { | |||||
executed_ : [], | executed_ : [], | ||||
// pass on to the handler to set | // pass on to the handler to set | ||||
execute: function(items) { | |||||
execute: function(items, callback) { | |||||
var to_fetch = [] | var to_fetch = [] | ||||
for(var i=0, l=items.length; i<l; i++) { | for(var i=0, l=items.length; i<l; i++) { | ||||
if(!frappe.assets.exists(items[i])) { | if(!frappe.assets.exists(items[i])) { | ||||
@@ -67,9 +67,15 @@ frappe.assets = { | |||||
} | } | ||||
} | } | ||||
if(to_fetch.length) { | 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++) { | for(var i=0, l=items.length; i<l; i++) { | ||||
// execute js/css if not already. | // execute js/css if not already. | ||||
var path = items[i]; | var path = items[i]; | ||||
@@ -79,6 +85,7 @@ frappe.assets = { | |||||
frappe.assets.executed_.push(path) | frappe.assets.executed_.push(path) | ||||
} | } | ||||
} | } | ||||
callback(); | |||||
}, | }, | ||||
// check if the asset exists in | // check if the asset exists in | ||||
@@ -98,7 +105,7 @@ frappe.assets = { | |||||
}, | }, | ||||
// load an asset via | // load an asset via | ||||
fetch: function(items) { | |||||
fetch: function(items, callback) { | |||||
// this is virtual page load, only get the the source | // this is virtual page load, only get the the source | ||||
// *without* the template | // *without* the template | ||||
@@ -112,10 +119,10 @@ frappe.assets = { | |||||
$.each(items, function(i, src) { | $.each(items, function(i, src) { | ||||
frappe.assets.add(src, r.message[i]); | frappe.assets.add(src, r.message[i]); | ||||
}); | }); | ||||
callback(); | |||||
}, | }, | ||||
async: false, | |||||
freeze: true, | freeze: true, | ||||
}) | |||||
}); | |||||
}, | }, | ||||
add: function(src, txt) { | 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({ | frappe.ui.form.ControlTime = frappe.ui.form.ControlData.extend({ | ||||
make_input: function() { | 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); | this.$input.datetimepicker(this.datepicker_options); | ||||
}, | }, | ||||
make_input: function() { | 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) { | parse: function(value) { | ||||
if(value) { | if(value) { | ||||
@@ -96,7 +96,9 @@ frappe.form.formatters = { | |||||
return value || ""; | return value || ""; | ||||
}, | }, | ||||
Datetime: function(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) { | Text: function(value) { | ||||
if(value) { | if(value) { | ||||
@@ -179,19 +179,22 @@ frappe.ui.form.PrintPreview = Class.extend({ | |||||
.empty().add_options(this.print_formats); | .empty().add_options(this.print_formats); | ||||
}, | }, | ||||
with_old_style: function(opts) { | 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() { | 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() { | 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() { | selected_format: function() { | ||||
return this.print_sel.val() || this.frm.meta.default_print_format || "Standard"; | 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) { | frappe.markdown = function(txt) { | ||||
if(!frappe.md2html) { | if(!frappe.md2html) { | ||||
frappe.require('assets/frappe/js/lib/markdown.js'); | |||||
frappe.md2html = new Showdown.converter(); | frappe.md2html = new Showdown.converter(); | ||||
} | } | ||||
@@ -64,7 +64,6 @@ frappe.request.call = function(opts) { | |||||
var statusCode = { | var statusCode = { | ||||
200: function(data, xhr) { | 200: function(data, xhr) { | ||||
if(typeof data === "string") data = JSON.parse(data); | |||||
opts.success_callback && opts.success_callback(data, xhr.responseText); | opts.success_callback && opts.success_callback(data, xhr.responseText); | ||||
}, | }, | ||||
401: function(xhr) { | 401: function(xhr) { | ||||
@@ -136,6 +135,25 @@ frappe.request.call = function(opts) { | |||||
frappe.last_request = ajax_args.data; | frappe.last_request = ajax_args.data; | ||||
return $.ajax(ajax_args) | 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) { | .always(function(data, textStatus, xhr) { | ||||
if(typeof data==="string") { | if(typeof data==="string") { | ||||
data = JSON.parse(data); | data = JSON.parse(data); | ||||
@@ -149,12 +167,6 @@ frappe.request.call = function(opts) { | |||||
opts.always(data); | 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) { | .fail(function(xhr, textStatus) { | ||||
var status_code_handler = statusCode[xhr.statusCode().status]; | var status_code_handler = statusCode[xhr.statusCode().status]; | ||||
if (status_code_handler) { | if (status_code_handler) { | ||||
@@ -251,12 +263,6 @@ frappe.request.cleanup = function(opts, r) { | |||||
console.log("========"); | console.log("========"); | ||||
} | } | ||||
if(r.docs || r.docinfo) { | |||||
frappe.model.sync(r); | |||||
} | |||||
if(r.__messages) { | |||||
$.extend(frappe._messages, r.__messages); | |||||
} | |||||
frappe.last_response = r; | frappe.last_response = r; | ||||
@@ -310,7 +310,7 @@ frappe.ui.Filter = Class.extend({ | |||||
}, | }, | ||||
get_selected_value: function() { | 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') { | if(this.field.df.original_type == 'Check') { | ||||
val = (val=='Yes' ? 1 :0); | val = (val=='Yes' ? 1 :0); | ||||
@@ -443,9 +443,9 @@ frappe.ui.FieldSelect = Class.extend({ | |||||
}, | }, | ||||
val: function(value) { | val: function(value) { | ||||
if(value===undefined) { | if(value===undefined) { | ||||
return this.get_value() | |||||
return this.get_value(); | |||||
} else { | } else { | ||||
this.set_value(value) | |||||
this.set_value(value); | |||||
} | } | ||||
}, | }, | ||||
clear: function() { | clear: function() { | ||||
@@ -8,16 +8,18 @@ frappe.views.CalendarFactory = frappe.views.Factory.extend({ | |||||
make: function(route) { | make: function(route) { | ||||
var me = this; | var me = this; | ||||
frappe.require('assets/frappe/js/lib/fullcalendar/fullcalendar.min.css'); | |||||
frappe.require('assets/frappe/js/lib/fullcalendar/fullcalendar.min.js'); | |||||
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.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.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({ | frappe.views.GanttFactory = frappe.views.Factory.extend({ | ||||
make: function(route) { | make: function(route) { | ||||
var me = this; | 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] || {}); | |||||
var options = { | |||||
doctype: me.doctype, | |||||
parent: page | |||||
}; | |||||
$.extend(options, frappe.views.calendar[me.doctype] || {}); | |||||
page.ganttview = new frappe.views.Gantt(options); | |||||
page.ganttview = new frappe.views.Gantt(options); | |||||
}); | |||||
}); | }); | ||||
} | } | ||||
}); | }); | ||||
@@ -666,13 +666,16 @@ frappe.views.GridReportWithPlot = frappe.views.GridReport.extend({ | |||||
this.plot_area.toggle(false); | this.plot_area.toggle(false); | ||||
return; | 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() { | setup_plot_check: function() { | ||||
var me = this; | var me = this; | ||||
@@ -115,12 +115,13 @@ frappe.views.QueryReport = Class.extend({ | |||||
callback: function(r) { | callback: function(r) { | ||||
frappe.dom.eval(r.message.script || ""); | 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 { | } else { | ||||
@@ -18,10 +18,10 @@ frappe.standard_pages["test-runner"] = function() { | |||||
return; | 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(); | this.hide_print(); | ||||
return; | 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")); | msgprint(__("You are not allowed to print this document")); | ||||
return; | return; | ||||
} | } | ||||
@@ -422,10 +422,10 @@ _f.Frm.prototype.refresh = function(docname) { | |||||
if(!this.setup_done) this.setup(); | if(!this.setup_done) this.setup(); | ||||
// load the record for the first time, if not loaded (call 'onload') | // 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]) { | if(!this.opendocs[this.docname]) { | ||||
var me = this; | var me = this; | ||||
cur_frm.cscript.is_onload = true; | |||||
this.cscript.is_onload = true; | |||||
this.setnewdoc(); | this.setnewdoc(); | ||||
$(document).trigger("form-load", [this]); | $(document).trigger("form-load", [this]); | ||||
$(this.page.wrapper).on('hide', function(e) { | $(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); | this.refresh_header(is_a_different_doc); | ||||
} | } | ||||
$(cur_frm.wrapper).trigger('render_complete'); | |||||
$(this.wrapper).trigger('render_complete'); | |||||
if(!this.hidden) { | if(!this.hidden) { | ||||
this.layout.show_empty_form_message(); | 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) { | _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(); | 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) { | if(me.meta.autoname && me.meta.autoname.substr(0,6)=='field:' && !me.doc.__islocal) { | ||||
var fn = me.meta.autoname.substr(6); | 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) { | 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) { | _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 = { | _f.Frm.prototype.action_perm_type_map = { | ||||
@@ -1,7 +1,6 @@ | |||||
// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors | // Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors | ||||
// MIT License. See license.txt | // MIT License. See license.txt | ||||
frappe.require('assets/frappe/js/lib/jscolor/jscolor.js'); | |||||
frappe.provide("frappe.website_theme"); | frappe.provide("frappe.website_theme"); | ||||
$.extend(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) { | 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) { | frappe.ui.form.on("Website Theme", "refresh", function(frm) { | ||||