Remove all implicit global variables
This commit is contained in:
parent
96c8d959af
commit
2a3b34822b
99 changed files with 1062 additions and 1048 deletions
|
|
@ -33,7 +33,7 @@ frappe.ui.form.on("Communication", {
|
|||
|
||||
if(frm.doc.communication_type == "Feedback") {
|
||||
frm.add_custom_button(__("Resend"), function() {
|
||||
feedback = new frappe.utils.Feedback();
|
||||
var feedback = new frappe.utils.Feedback();
|
||||
feedback.resend_feedback_request(frm.doc);
|
||||
});
|
||||
}
|
||||
|
|
@ -111,7 +111,7 @@ frappe.ui.form.on("Communication", {
|
|||
d.set_value("reference_doctype", frm.doc.reference_doctype);
|
||||
d.set_value("reference_name", frm.doc.reference_name);
|
||||
d.set_primary_action(__("Relink"), function () {
|
||||
values = d.get_values();
|
||||
var values = d.get_values();
|
||||
if (values) {
|
||||
frappe.confirm(
|
||||
__('Are you sure you want to relink this communication to {0}?', [values["reference_name"]]),
|
||||
|
|
@ -130,7 +130,7 @@ frappe.ui.form.on("Communication", {
|
|||
});
|
||||
},
|
||||
function () {
|
||||
show_alert('Document not Relinked')
|
||||
frappe.show_alert('Document not Relinked')
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
@ -139,8 +139,8 @@ frappe.ui.form.on("Communication", {
|
|||
},
|
||||
|
||||
mark_as_read_unread: function(frm) {
|
||||
action = frm.doc.seen? "Unread": "Read";
|
||||
flag = "(\\SEEN)";
|
||||
var action = frm.doc.seen? "Unread": "Read";
|
||||
var flag = "(\\SEEN)";
|
||||
|
||||
return frappe.call({
|
||||
method: "frappe.email.inbox.create_email_flag_queue",
|
||||
|
|
@ -154,7 +154,7 @@ frappe.ui.form.on("Communication", {
|
|||
},
|
||||
|
||||
reply: function(frm) {
|
||||
args = frm.events.get_mail_args(frm);
|
||||
var args = frm.events.get_mail_args(frm);
|
||||
$.extend(args, {
|
||||
subject: __("Re: {0}", [frm.doc.subject]),
|
||||
recipients: frm.doc.sender
|
||||
|
|
@ -164,7 +164,7 @@ frappe.ui.form.on("Communication", {
|
|||
},
|
||||
|
||||
reply_all: function(frm) {
|
||||
args = frm.events.get_mail_args(frm)
|
||||
var args = frm.events.get_mail_args(frm)
|
||||
$.extend(args, {
|
||||
subject: __("Re: {0}", [frm.doc.subject]),
|
||||
recipients: frm.doc.sender,
|
||||
|
|
@ -174,7 +174,7 @@ frappe.ui.form.on("Communication", {
|
|||
},
|
||||
|
||||
forward_mail: function(frm) {
|
||||
args = frm.events.get_mail_args(frm)
|
||||
var args = frm.events.get_mail_args(frm)
|
||||
$.extend(args, {
|
||||
forward: true,
|
||||
subject: __("Fw: {0}", [frm.doc.subject]),
|
||||
|
|
@ -184,7 +184,7 @@ frappe.ui.form.on("Communication", {
|
|||
},
|
||||
|
||||
get_mail_args: function(frm) {
|
||||
sender_email_id = ""
|
||||
var sender_email_id = ""
|
||||
$.each(frappe.boot.email_accounts, function(idx, account) {
|
||||
if(account.email_account == frm.doc.email_account) {
|
||||
sender_email_id = account.email_id
|
||||
|
|
@ -202,11 +202,11 @@ frappe.ui.form.on("Communication", {
|
|||
|
||||
add_to_contact: function(frm) {
|
||||
var me = this;
|
||||
fullname = frm.doc.sender_full_name || ""
|
||||
var fullname = frm.doc.sender_full_name || ""
|
||||
|
||||
names = fullname.split(" ")
|
||||
first_name = names[0]
|
||||
last_name = names.length >= 2? names[names.length - 1]: ""
|
||||
var names = fullname.split(" ")
|
||||
var first_name = names[0]
|
||||
var last_name = names.length >= 2? names[names.length - 1]: ""
|
||||
|
||||
frappe.route_options = {
|
||||
"email_id": frm.doc.sender,
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ frappe.ui.form.on('Feedback Trigger', {
|
|||
frappe.model.with_doctype(frm.doc.document_type, function() {
|
||||
var fields = frappe.get_doc("DocType", frm.doc.document_type).fields;
|
||||
$.each(fields, function(idx, field) {
|
||||
if(!inList(frappe.model.no_value_type, field.fieldtype) && field.options == "Email") {
|
||||
if(!in_list(frappe.model.no_value_type, field.fieldtype) && field.options == "Email") {
|
||||
frm.options.push(field.label);
|
||||
frm.fieldname_mapper[field.label] = field.fieldname;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ frappe.ui.form.on("System Settings", "refresh", function(frm) {
|
|||
|
||||
$.each(data.message.defaults, function(key, val) {
|
||||
frm.set_value(key, val);
|
||||
sys_defaults[key] = val;
|
||||
frappe.sys_defaults[key] = val;
|
||||
})
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ frappe.ui.form.on('User', {
|
|||
|
||||
},
|
||||
onload: function(frm) {
|
||||
if(has_common(roles, ["Administrator", "System Manager"]) && !frm.doc.__islocal) {
|
||||
if(has_common(frappe.user_roles, ["Administrator", "System Manager"]) && !frm.doc.__islocal) {
|
||||
if(!frm.roles_editor) {
|
||||
var role_area = $('<div style="min-height: 300px">')
|
||||
.appendTo(frm.fields_dict.roles_html.wrapper);
|
||||
|
|
@ -35,11 +35,11 @@ frappe.ui.form.on('User', {
|
|||
refresh: function(frm) {
|
||||
var doc = frm.doc;
|
||||
|
||||
if(doc.name===user && !doc.__unsaved
|
||||
if(doc.name===frappe.session.user && !doc.__unsaved
|
||||
&& frappe.all_timezones
|
||||
&& (doc.language || frappe.boot.user.language)
|
||||
&& doc.language !== frappe.boot.user.language) {
|
||||
msgprint(__("Refreshing..."));
|
||||
frappe.msgprint(__("Refreshing..."));
|
||||
window.location.reload();
|
||||
}
|
||||
|
||||
|
|
@ -53,7 +53,7 @@ frappe.ui.form.on('User', {
|
|||
frappe.set_route("modules_setup");
|
||||
}, null, "btn-default")
|
||||
|
||||
if(has_common(roles, ["Administrator", "System Manager"])) {
|
||||
if(has_common(frappe.user_roles, ["Administrator", "System Manager"])) {
|
||||
|
||||
frm.add_custom_button(__("Set User Permissions"), function() {
|
||||
frappe.route_options = {
|
||||
|
|
@ -79,10 +79,10 @@ frappe.ui.form.on('User', {
|
|||
frm.roles_editor && frm.roles_editor.show();
|
||||
frm.module_editor && frm.module_editor.refresh();
|
||||
|
||||
if(user==doc.name) {
|
||||
if(frappe.session.user==doc.name) {
|
||||
// update display settings
|
||||
if(doc.user_image) {
|
||||
frappe.boot.user_info[user].image = frappe.utils.get_file_link(doc.user_image);
|
||||
frappe.boot.user_info[frappe.session.user].image = frappe.utils.get_file_link(doc.user_image);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -116,12 +116,12 @@ frappe.ui.form.on('User', {
|
|||
},
|
||||
enabled: function(frm) {
|
||||
var doc = frm.doc;
|
||||
if(!doc.__islocal && has_common(roles, ["Administrator", "System Manager"])) {
|
||||
if(!doc.__islocal && has_common(frappe.user_roles, ["Administrator", "System Manager"])) {
|
||||
frm.toggle_display(['sb1', 'sb3', 'modules_access'], doc.enabled);
|
||||
frm.set_df_property('enabled', 'read_only', 0);
|
||||
}
|
||||
|
||||
if(user!="Administrator") {
|
||||
if(frappe.session.user!=="Administrator") {
|
||||
frm.toggle_enable('email', doc.__islocal);
|
||||
}
|
||||
},
|
||||
|
|
@ -177,6 +177,7 @@ frappe.ModuleEditor = Class.extend({
|
|||
});
|
||||
},
|
||||
bind: function() {
|
||||
var me = this;
|
||||
this.wrapper.on("change", ".block-module-check", function() {
|
||||
var module = $(this).attr('data-module');
|
||||
if($(this).prop("checked")) {
|
||||
|
|
|
|||
|
|
@ -129,12 +129,12 @@ frappe.DataImportTool = Class.extend({
|
|||
queued: function() {
|
||||
// async, show queued
|
||||
msg_dialog.clear();
|
||||
msgprint(__("Import Request Queued. This may take a few moments, please be patient."));
|
||||
frappe.msgprint(__("Import Request Queued. This may take a few moments, please be patient."));
|
||||
},
|
||||
running: function() {
|
||||
// update async status as running
|
||||
msg_dialog.clear();
|
||||
msgprint(__("Importing..."));
|
||||
frappe.msgprint(__("Importing..."));
|
||||
me.write_messages([__("Importing")]);
|
||||
me.has_progress = false;
|
||||
},
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ frappe.pages['modules_setup'].on_page_load = function(wrapper) {
|
|||
};
|
||||
|
||||
// application installer
|
||||
if(frappe.boot.user.roles.indexOf('System Manager')!==-1) {
|
||||
if(frappe.user_roles.includes('System Manager')) {
|
||||
page.add_inner_button('Install Apps', function() {
|
||||
frappe.set_route('applications');
|
||||
});
|
||||
|
|
|
|||
|
|
@ -298,7 +298,7 @@ frappe.PermissionEngine = Class.extend({
|
|||
r.message = $.map(r.message, function(p) {
|
||||
return $.format('<a href="#Form/User/{0}">{1}</a>', [p, p]);
|
||||
})
|
||||
msgprint(__("Users with role {0}:", [__(role)])
|
||||
frappe.msgprint(__("Users with role {0}:", [__(role)])
|
||||
+ "<br>" + r.message.join("<br>"));
|
||||
}
|
||||
})
|
||||
|
|
@ -324,7 +324,7 @@ frappe.PermissionEngine = Class.extend({
|
|||
},
|
||||
callback: function(r) {
|
||||
if(r.exc) {
|
||||
msgprint(__("Did not remove"));
|
||||
frappe.msgprint(__("Did not remove"));
|
||||
} else {
|
||||
me.refresh();
|
||||
}
|
||||
|
|
@ -404,7 +404,7 @@ frappe.PermissionEngine = Class.extend({
|
|||
args: args,
|
||||
callback: function(r) {
|
||||
if(r.exc) {
|
||||
msgprint(__("Did not add"));
|
||||
frappe.msgprint(__("Did not add"));
|
||||
} else {
|
||||
me.refresh();
|
||||
}
|
||||
|
|
@ -476,9 +476,9 @@ frappe.PermissionEngine = Class.extend({
|
|||
},
|
||||
callback: function(r) {
|
||||
if(r.exc) {
|
||||
msgprint(__("Did not set"));
|
||||
frappe.msgprint(__("Did not set"));
|
||||
} else {
|
||||
var msg = msgprint(__("Saved!"));
|
||||
var msg = frappe.msgprint(__("Saved!"));
|
||||
setTimeout(function() { msg.hide(); }, 3000);
|
||||
d.user_permission_doctypes = user_permission_doctypes;
|
||||
dialog.hide();
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ frappe.UserPermissions = Class.extend({
|
|||
options: "[Select]"
|
||||
});
|
||||
|
||||
if(roles.indexOf("System Manager")!==-1) {
|
||||
if(frappe.user_roles.includes("System Manager")) {
|
||||
me.download = me.wrapper.page.add_field({
|
||||
fieldname: "download",
|
||||
label: __("Download"),
|
||||
|
|
@ -141,7 +141,7 @@ frappe.UserPermissions = Class.extend({
|
|||
primary_action: function() {
|
||||
var filedata = d.fields_dict.attach.get_value();
|
||||
if(!filedata) {
|
||||
msgprint(_("Please attach a file"));
|
||||
frappe.msgprint(_("Please attach a file"));
|
||||
return;
|
||||
}
|
||||
frappe.call({
|
||||
|
|
@ -151,7 +151,7 @@ frappe.UserPermissions = Class.extend({
|
|||
},
|
||||
callback: function(r) {
|
||||
if(!r.exc) {
|
||||
msgprint(__("Permissions Updated"));
|
||||
frappe.msgprint(__("Permissions Updated"));
|
||||
d.hide();
|
||||
}
|
||||
}
|
||||
|
|
@ -288,7 +288,7 @@ frappe.UserPermissions = Class.extend({
|
|||
},
|
||||
callback: function(r) {
|
||||
if(r.exc) {
|
||||
msgprint(__("Did not remove"));
|
||||
frappe.msgprint(__("Did not remove"));
|
||||
} else {
|
||||
me.refresh();
|
||||
}
|
||||
|
|
@ -349,7 +349,7 @@ frappe.UserPermissions = Class.extend({
|
|||
args: args,
|
||||
callback: function(r) {
|
||||
if(r.exc) {
|
||||
msgprint(__("Did not add"));
|
||||
frappe.msgprint(__("Did not add"));
|
||||
} else {
|
||||
me.refresh();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@ frappe.ui.form.on("Customize Form Field", {
|
|||
before_fields_remove: function(frm, doctype, name) {
|
||||
var row = frappe.get_doc(doctype, name);
|
||||
if(!(row.is_custom_field || row.__islocal)) {
|
||||
msgprint(__("Cannot delete standard field. You can hide it if you want"));
|
||||
frappe.msgprint(__("Cannot delete standard field. You can hide it if you want"));
|
||||
throw "cannot delete custom field";
|
||||
}
|
||||
},
|
||||
|
|
@ -171,7 +171,7 @@ frappe.customize_form.confirm = function(msg, frm) {
|
|||
method: "reset_to_defaults",
|
||||
callback: function(r) {
|
||||
if(r.exc) {
|
||||
msgprint(r.exc);
|
||||
frappe.msgprintr.exc);
|
||||
} else {
|
||||
d.hide();
|
||||
frappe.customize_form.clear_locals_and_refresh(frm);
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
$.extend(cur_frm.cscript, {
|
||||
validate: function(doc) {
|
||||
if(doc.property_type=='Check' && !in_list(['0','1'], doc.value)) {
|
||||
msgprint(__('Value for a check field can be either 0 or 1'));
|
||||
frappe.msgprint(__('Value for a check field can be either 0 or 1'));
|
||||
validated = false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
frappe.listview_settings['ToDo'] = {
|
||||
onload: function(me) {
|
||||
frappe.route_options = {
|
||||
"owner": user,
|
||||
"owner": frappe.session.user,
|
||||
"status": "Open"
|
||||
};
|
||||
me.page.set_title(__("To Do"));
|
||||
|
|
@ -14,7 +14,7 @@ frappe.listview_settings['ToDo'] = {
|
|||
var assign_filter = me.filter_list.get_filter("assigned_by");
|
||||
assign_filter && assign_filter.remove(true);
|
||||
|
||||
me.filter_list.add_filter(me.doctype, "owner", '=', user);
|
||||
me.filter_list.add_filter(me.doctype, "owner", '=', frappe.session.user);
|
||||
me.run();
|
||||
});
|
||||
|
||||
|
|
@ -23,7 +23,7 @@ frappe.listview_settings['ToDo'] = {
|
|||
var assign_filter = me.filter_list.get_filter("owner");
|
||||
assign_filter && assign_filter.remove(true);
|
||||
|
||||
me.filter_list.add_filter(me.doctype, "assigned_by", '=', user);
|
||||
me.filter_list.add_filter(me.doctype, "assigned_by", '=', frappe.session.user);
|
||||
me.run();
|
||||
}, ".assigned-to-me");
|
||||
},
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ frappe.pages['activity'].on_page_load = function(wrapper) {
|
|||
|
||||
this.page.add_menu_item(__('Authentication Log'), function() {
|
||||
frappe.route_options = {
|
||||
"user": user
|
||||
"user": frappe.session.user
|
||||
}
|
||||
|
||||
frappe.set_route('Report', "Authentication Log");
|
||||
|
|
@ -147,17 +147,18 @@ frappe.activity.Feed = Class.extend({
|
|||
data.feed_type = data.comment_type || data.communication_medium;
|
||||
},
|
||||
add_date_separator: function(row, data) {
|
||||
var date = dateutil.str_to_obj(data.creation);
|
||||
var date = frappe.datetime.str_to_obj(data.creation);
|
||||
var last = frappe.activity.last_feed_date;
|
||||
|
||||
if((last && dateutil.obj_to_str(last) != dateutil.obj_to_str(date)) || (!last)) {
|
||||
var diff = dateutil.get_day_diff(dateutil.get_today(), dateutil.obj_to_str(date));
|
||||
if((last && frappe.datetime.obj_to_str(last) != frappe.datetime.obj_to_str(date)) || (!last)) {
|
||||
var diff = frappe.datetime.get_day_diff(frappe.datetime.get_today(), frappe.datetime.obj_to_str(date));
|
||||
var pdate;
|
||||
if(diff < 1) {
|
||||
pdate = 'Today';
|
||||
} else if(diff < 2) {
|
||||
pdate = 'Yesterday';
|
||||
} else {
|
||||
pdate = dateutil.global_date_format(date);
|
||||
pdate = frappe.datetime.global_date_format(date);
|
||||
}
|
||||
data.date_sep = pdate;
|
||||
data.date_class = pdate=='Today' ? "date-indicator blue" : "date-indicator";
|
||||
|
|
@ -182,7 +183,7 @@ frappe.activity.render_heatmap = function(page) {
|
|||
var legend = [];
|
||||
var max = Math.max.apply(this, $.map(r.message, function(v) { return v }));
|
||||
var legend = [cint(max/5), cint(max*2/5), cint(max*3/5), cint(max*4/5)];
|
||||
heatmap = new CalHeatMap();
|
||||
var heatmap = new CalHeatMap();
|
||||
heatmap.init({
|
||||
itemSelector: ".heatmap",
|
||||
domain: "month",
|
||||
|
|
|
|||
|
|
@ -40,10 +40,10 @@ frappe.Chat = Class.extend({
|
|||
setup_realtime: function() {
|
||||
var me = this;
|
||||
frappe.realtime.on('new_message', function(comment) {
|
||||
if(comment.modified_by !== user || comment.communication_type === 'Bot') {
|
||||
if(comment.modified_by !== frappe.session.user || comment.communication_type === 'Bot') {
|
||||
if(frappe.get_route()[0] === 'chat') {
|
||||
var current_contact = $(cur_page.page).find('[data-contact]').data('contact');
|
||||
var on_broadcast_page = current_contact === user;
|
||||
var on_broadcast_page = current_contact === frappe.session.user;
|
||||
if ((current_contact == comment.owner)
|
||||
|| (on_broadcast_page && comment.broadcast)
|
||||
|| current_contact === 'Bot' && comment.communication_type === 'Bot') {
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ frappe.ui.form.on('Auto Email Report', {
|
|||
"/api/method/frappe.email.doctype.auto_email_report.auto_email_report.download?"
|
||||
+"name="+encodeURIComponent(frm.doc.name)));
|
||||
if(!w) {
|
||||
msgprint(__("Please enable pop-ups")); return;
|
||||
frappe.msgprint(__("Please enable pop-ups")); return;
|
||||
}
|
||||
});
|
||||
frm.add_custom_button(__('Send Now'), function() {
|
||||
|
|
@ -35,7 +35,7 @@ frappe.ui.form.on('Auto Email Report', {
|
|||
method: 'frappe.email.doctype.auto_email_report.auto_email_report.send_now',
|
||||
args: {name: frm.doc.name},
|
||||
callback: function() {
|
||||
msgprint(__('Scheduled to send'));
|
||||
frappe.msgprint(__('Scheduled to send'));
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
@ -68,7 +68,7 @@ frappe.ui.form.on('Auto Email Report', {
|
|||
var report_filters = frappe.query_reports[frm.doc.report].filters;
|
||||
frm.set_value('filter_meta', JSON.stringify(report_filters));
|
||||
|
||||
report_filters_list = []
|
||||
var report_filters_list = []
|
||||
$.each(report_filters, function(key, val){
|
||||
// Remove break fieldtype from the filters
|
||||
if(val.fieldtype != 'Break') {
|
||||
|
|
|
|||
|
|
@ -70,9 +70,9 @@ frappe.ui.form.on("Email Alert", {
|
|||
},
|
||||
callback: function(r) {
|
||||
if(r.message) {
|
||||
msgprint(r.message);
|
||||
frappe.msgprint(r.message);
|
||||
} else {
|
||||
msgprint(__('No alerts for today'));
|
||||
frappe.msgprint(__('No alerts for today'));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
cur_frm.cscript.refresh = function(doc) {
|
||||
if(window.erpnext) erpnext.toggle_naming_series();
|
||||
if(!doc.__islocal && !cint(doc.email_sent) && !doc.__unsaved
|
||||
&& inList(frappe.boot.user.can_write, doc.doctype)) {
|
||||
&& in_list(frappe.boot.user.can_write, doc.doctype)) {
|
||||
cur_frm.add_custom_button(__('Send'), function() {
|
||||
return $c_obj(doc, 'send_emails', '', function(r) {
|
||||
cur_frm.refresh();
|
||||
|
|
|
|||
|
|
@ -9,12 +9,12 @@ frappe.ui.form.on("Print Format", {
|
|||
refresh: function(frm) {
|
||||
frm.set_intro("");
|
||||
frm.toggle_enable(["html", "doc_type", "module"], false);
|
||||
if (user==="Administrator" || frm.doc.standard==="No") {
|
||||
if (frappe.session.user==="Administrator" || frm.doc.standard==="No") {
|
||||
frm.toggle_enable(["html", "doc_type", "module"], true);
|
||||
frm.enable_save();
|
||||
}
|
||||
|
||||
if(frm.doc.standard==="Yes" && user !== "Administrator") {
|
||||
if(frm.doc.standard==="Yes" && frappe.session.user !== "Administrator") {
|
||||
frm.set_intro(__("Please duplicate this to make changes"));
|
||||
}
|
||||
frm.trigger('render_buttons');
|
||||
|
|
@ -25,7 +25,7 @@ frappe.ui.form.on("Print Format", {
|
|||
if(!frm.doc.custom_format) {
|
||||
frm.add_custom_button(__("Edit Format"), function() {
|
||||
if(!frm.doc.doc_type) {
|
||||
msgprint(__("Please select DocType first"));
|
||||
frappe.msgprint(__("Please select DocType first"));
|
||||
return;
|
||||
}
|
||||
frappe.set_route("print-format-builder", frm.doc.name);
|
||||
|
|
@ -42,7 +42,7 @@ frappe.ui.form.on("Print Format", {
|
|||
}
|
||||
},
|
||||
custom_format: function(frm) {
|
||||
value = frm.doc.custom_format ? 0:1;
|
||||
var value = frm.doc.custom_format ? 0:1;
|
||||
frm.set_value('align_labels_left', value);
|
||||
frm.set_value('show_section_headings', value);
|
||||
frm.set_value('line_breaks', value);
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ frappe.PrintFormatBuilder = Class.extend({
|
|||
var doctype = me.doctype_input.get_value(),
|
||||
name = me.name_input.get_value();
|
||||
if(!(doctype && name)) {
|
||||
msgprint(__("Both DocType and Name required"));
|
||||
frappe.msgprint(__("Both DocType and Name required"));
|
||||
return;
|
||||
}
|
||||
me.setup_new_print_format(doctype, name);
|
||||
|
|
@ -587,8 +587,8 @@ frappe.PrintFormatBuilder = Class.extend({
|
|||
var parent = $(this).parents(".print-format-builder-field:first"),
|
||||
doctype = parent.attr("data-doctype"),
|
||||
label = parent.attr("data-label"),
|
||||
columns = parent.attr("data-columns").split(",")
|
||||
column_names = $.map(columns, function(v) { return v.split("|")[0]; });
|
||||
columns = parent.attr("data-columns").split(","),
|
||||
column_names = $.map(columns, function(v) { return v.split("|")[0]; }),
|
||||
widths = {};
|
||||
|
||||
$.each(columns, function(i, v) {
|
||||
|
|
@ -702,7 +702,7 @@ frappe.PrintFormatBuilder = Class.extend({
|
|||
});
|
||||
|
||||
// set existing content in input
|
||||
content = $content.data('content') || "";
|
||||
var content = $content.data('content') || "";
|
||||
if(content.indexOf(me.get_no_content())!==-1) content = "";
|
||||
d.set_input("content", content);
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ frappe.assets = {
|
|||
});
|
||||
|
||||
// clear assets
|
||||
for(key in localStorage) {
|
||||
for(var key in localStorage) {
|
||||
if(key.indexOf("desk_assets:")===0 || key.indexOf("_page:")===0
|
||||
|| key.indexOf("_doctype:")===0 || key.indexOf("preferred_breadcrumbs:")===0) {
|
||||
localStorage.removeItem(key);
|
||||
|
|
|
|||
|
|
@ -26,12 +26,12 @@ frappe.defaults = {
|
|||
return d;
|
||||
},
|
||||
get_global_default: function(key) {
|
||||
var d = sys_defaults[key];
|
||||
var d = frappe.sys_defaults[key];
|
||||
if($.isArray(d)) d = d[0];
|
||||
return d;
|
||||
},
|
||||
get_global_defaults: function(key) {
|
||||
var d = sys_defaults[key];
|
||||
var d = frappe.sys_defaults[key];
|
||||
if(!$.isArray(d)) d = [d];
|
||||
return d;
|
||||
},
|
||||
|
|
|
|||
|
|
@ -99,9 +99,9 @@ frappe.Application = Class.extend({
|
|||
});
|
||||
dialog.get_close_btn().toggle(false);
|
||||
});
|
||||
if (sys_defaults.email_user_password){
|
||||
var email_list = sys_defaults.email_user_password.split(',');
|
||||
for (u in email_list) {
|
||||
if (frappe.sys_defaults.email_user_password){
|
||||
var email_list = frappe.sys_defaults.email_user_password.split(',');
|
||||
for (var u in email_list) {
|
||||
if (email_list[u]===frappe.user.name){
|
||||
this.set_password(email_list[u])
|
||||
}
|
||||
|
|
@ -169,7 +169,7 @@ frappe.Application = Class.extend({
|
|||
d.hide();//hide waiting indication
|
||||
if (!passed["message"])
|
||||
{
|
||||
show_alert("Login Failed please try again", 5);
|
||||
frappe.show_alert("Login Failed please try again", 5);
|
||||
me.email_password_prompt(email_account, user, i)
|
||||
}
|
||||
else
|
||||
|
|
@ -269,15 +269,13 @@ frappe.Application = Class.extend({
|
|||
},
|
||||
|
||||
set_globals: function() {
|
||||
// for backward compatibility
|
||||
frappe.session.user = frappe.boot.user.name;
|
||||
frappe.session.user_fullname = frappe.boot.user.name;
|
||||
user = frappe.boot.user.name;
|
||||
user_fullname = frappe.user_info(user).fullname;
|
||||
user_defaults = frappe.boot.user.defaults;
|
||||
roles = frappe.boot.user.roles;
|
||||
user_email = frappe.boot.user.email;
|
||||
sys_defaults = frappe.boot.sysdefaults;
|
||||
frappe.session.user_email = frappe.boot.user.email;
|
||||
frappe.session.user_fullname = frappe.user_info().fullname;
|
||||
|
||||
frappe.user_defaults = frappe.boot.user.defaults;
|
||||
frappe.user_roles = frappe.boot.user.roles;
|
||||
frappe.sys_defaults = frappe.boot.sysdefaults;
|
||||
frappe.ui.py_date_format = frappe.boot.sysdefaults.date_format.replace('dd', '%d').replace('mm', '%m').replace('yyyy', '%Y');
|
||||
frappe.boot.user.last_selected_values = {};
|
||||
},
|
||||
|
|
@ -285,7 +283,7 @@ frappe.Application = Class.extend({
|
|||
// clear cached pages if timestamp is not found
|
||||
if(localStorage["page_info"]) {
|
||||
frappe.boot.allowed_pages = [];
|
||||
page_info = JSON.parse(localStorage["page_info"]);
|
||||
var page_info = JSON.parse(localStorage["page_info"]);
|
||||
$.each(frappe.boot.page_info, function(name, p) {
|
||||
if(!page_info[name] || (page_info[name].modified != p.modified)) {
|
||||
delete localStorage["_page:" + name];
|
||||
|
|
@ -293,19 +291,18 @@ frappe.Application = Class.extend({
|
|||
frappe.boot.allowed_pages.push(name);
|
||||
});
|
||||
} else {
|
||||
frappe.boot.allowed_pages = keys(frappe.boot.page_info);
|
||||
frappe.boot.allowed_pages = Object.keys(frappe.boot.page_info);
|
||||
}
|
||||
localStorage["page_info"] = JSON.stringify(frappe.boot.page_info);
|
||||
},
|
||||
set_as_guest: function() {
|
||||
// for backward compatibility
|
||||
user = {name:'Guest'};
|
||||
user = 'Guest';
|
||||
user_fullname = 'Guest';
|
||||
user_defaults = {};
|
||||
roles = ['Guest'];
|
||||
user_email = '';
|
||||
sys_defaults = {};
|
||||
frappe.session.user = 'Guest';
|
||||
frappe.session.user_fullname = 'Guest';
|
||||
frappe.user_defaults = {};
|
||||
frappe.user_roles = ['Guest'];
|
||||
frappe.session.user_email = '';
|
||||
frappe.sys_defaults = {};
|
||||
},
|
||||
make_page_container: function() {
|
||||
if($("#body_div").length) {
|
||||
|
|
@ -564,12 +561,12 @@ frappe.get_desktop_icons = function(show_hidden, show_global) {
|
|||
}
|
||||
}
|
||||
|
||||
if(roles.indexOf('System Manager')!=-1) {
|
||||
if(frappe.user_roles.includes('System Manager')) {
|
||||
var m = frappe.get_module('Setup');
|
||||
if(show_module(m)) add_to_out(m)
|
||||
}
|
||||
|
||||
if(roles.indexOf('Administrator')!=-1) {
|
||||
if(frappe.user_roles.includes('Administrator')) {
|
||||
var m = frappe.get_module('Core');
|
||||
if(show_module(m)) add_to_out(m)
|
||||
}
|
||||
|
|
@ -589,7 +586,7 @@ frappe.add_to_desktop = function(label, doctype, report) {
|
|||
},
|
||||
callback: function(r) {
|
||||
if(r.message) {
|
||||
show_alert(__("Added"));
|
||||
frappe.show_alert(__("Added"));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ frappe.dom = {
|
|||
css: function(ele, s) {
|
||||
if(ele && s) {
|
||||
$.extend(ele.style, s);
|
||||
};
|
||||
}
|
||||
return ele;
|
||||
},
|
||||
freeze: function(msg, css_class) {
|
||||
|
|
@ -155,7 +155,7 @@ frappe.dom = {
|
|||
save_selection: function() {
|
||||
// via http://stackoverflow.com/questions/5605401/insert-link-in-contenteditable-element
|
||||
if (window.getSelection) {
|
||||
sel = window.getSelection();
|
||||
var sel = window.getSelection();
|
||||
if (sel.getRangeAt && sel.rangeCount) {
|
||||
var ranges = [];
|
||||
for (var i = 0, len = sel.rangeCount; i < len; ++i) {
|
||||
|
|
@ -171,7 +171,7 @@ frappe.dom = {
|
|||
restore_selection: function(savedSel) {
|
||||
if (savedSel) {
|
||||
if (window.getSelection) {
|
||||
sel = window.getSelection();
|
||||
var sel = window.getSelection();
|
||||
sel.removeAllRanges();
|
||||
for (var i = 0, len = savedSel.length; i < len; ++i) {
|
||||
sel.addRange(savedSel[i]);
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ frappe.provide("frappe.utils")
|
|||
frappe.utils.Feedback = Class.extend({
|
||||
resend_feedback_request: function(doc) {
|
||||
/* resend the feedback request email */
|
||||
args = {
|
||||
var args = {
|
||||
reference_name: doc.reference_name,
|
||||
reference_doctype: doc.reference_doctype,
|
||||
request: doc.feedback_request,
|
||||
|
|
@ -14,12 +14,12 @@ frappe.utils.Feedback = Class.extend({
|
|||
manual_feedback_request: function(doc) {
|
||||
var me = this;
|
||||
|
||||
args = {
|
||||
var args = {
|
||||
reference_doctype: doc.doctype,
|
||||
reference_name: doc.name
|
||||
}
|
||||
if(frappe.boot.feedback_triggers[doc.doctype]) {
|
||||
feedback_trigger = frappe.boot.feedback_triggers[doc.doctype]
|
||||
var feedback_trigger = frappe.boot.feedback_triggers[doc.doctype]
|
||||
$.extend(args, { trigger: feedback_trigger })
|
||||
me.get_feedback_request_details(args, false)
|
||||
} else{
|
||||
|
|
@ -43,7 +43,7 @@ frappe.utils.Feedback = Class.extend({
|
|||
|
||||
make_feedback_request_dialog: function(args, is_resend) {
|
||||
var me = this;
|
||||
dialog = new frappe.ui.Dialog({
|
||||
var dialog = new frappe.ui.Dialog({
|
||||
title: __("{0} Feedback Request", [ is_resend? "Resend": "Send" ]),
|
||||
fields: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -476,7 +476,7 @@ frappe.ui.form.ControlData = frappe.ui.form.ControlInput.extend({
|
|||
callback("");
|
||||
return;
|
||||
}
|
||||
v1 = ''
|
||||
var v1 = ''
|
||||
// phone may start with + and must only have numbers later, '-' and ' ' are stripped
|
||||
v = v.replace(/ /g, '').replace(/-/g, '').replace(/\(/g, '').replace(/\)/g, '');
|
||||
|
||||
|
|
@ -507,7 +507,7 @@ frappe.ui.form.ControlData = frappe.ui.form.ControlInput.extend({
|
|||
var invalid_email = false;
|
||||
email_list.forEach(function(email) {
|
||||
if (!validate_email(email)) {
|
||||
msgprint(__("Invalid Email: {0}", [email]));
|
||||
frappe.msgprint(__("Invalid Email: {0}", [email]));
|
||||
invalid_email = true;
|
||||
}
|
||||
});
|
||||
|
|
@ -671,18 +671,18 @@ frappe.ui.form.ControlDate = frappe.ui.form.ControlData.extend({
|
|||
},
|
||||
parse: function(value) {
|
||||
if(value) {
|
||||
return dateutil.user_to_str(value);
|
||||
return frappe.datetime.user_to_str(value);
|
||||
}
|
||||
},
|
||||
format_for_input: function(value) {
|
||||
if(value) {
|
||||
return dateutil.str_to_user(value);
|
||||
return frappe.datetime.str_to_user(value);
|
||||
}
|
||||
return "";
|
||||
},
|
||||
validate: function(value, callback) {
|
||||
if(value && !dateutil.validate(value)) {
|
||||
msgprint (__("Date must be in format: {0}", [sys_defaults.date_format || "yyyy-mm-dd"]));
|
||||
if(value && !frappe.datetime.validate(value)) {
|
||||
frappe.msgprint(__("Date must be in format: {0}", [frappe.sys_defaults.date_format || "yyyy-mm-dd"]));
|
||||
callback("");
|
||||
return;
|
||||
}
|
||||
|
|
@ -733,14 +733,14 @@ frappe.ui.form.ControlDatetime = frappe.ui.form.ControlDate.extend({
|
|||
parse: function(value) {
|
||||
if(value) {
|
||||
// parse and convert
|
||||
value = dateutil.convert_to_system_tz(dateutil.user_to_str(value));
|
||||
value = frappe.datetime.convert_to_system_tz(frappe.datetime.user_to_str(value));
|
||||
}
|
||||
return value;
|
||||
},
|
||||
format_for_input: function(value) {
|
||||
if(value) {
|
||||
// convert and format
|
||||
value = dateutil.str_to_user(dateutil.convert_to_user_tz(value));
|
||||
value = frappe.datetime.str_to_user(frappe.datetime.convert_to_user_tz(value));
|
||||
}
|
||||
return value || "";
|
||||
}
|
||||
|
|
@ -789,16 +789,16 @@ frappe.ui.form.ControlDateRange = frappe.ui.form.ControlData.extend({
|
|||
},
|
||||
parse: function(value) {
|
||||
if(value && (value.indexOf(',') !== -1 || value.indexOf('to') !== -1)) {
|
||||
vals = value.split(/[( to )(,)]/)
|
||||
from_date = moment(dateutil.user_to_obj(vals[0])).format('YYYY-MM-DD');
|
||||
to_date = moment(dateutil.user_to_obj(vals[vals.length-1])).format('YYYY-MM-DD');
|
||||
var vals = value.split(/[( to )(,)]/)
|
||||
var from_date = moment(frappe.datetime.user_to_obj(vals[0])).format('YYYY-MM-DD');
|
||||
var to_date = moment(frappe.datetime.user_to_obj(vals[vals.length-1])).format('YYYY-MM-DD');
|
||||
return [from_date, to_date];
|
||||
}
|
||||
},
|
||||
format_for_input: function(value,value2) {
|
||||
if(value && value2) {
|
||||
value = dateutil.str_to_user(value);
|
||||
value2 = dateutil.str_to_user(value2);
|
||||
value = frappe.datetime.str_to_user(value);
|
||||
value2 = frappe.datetime.str_to_user(value2);
|
||||
return value + " to " + value2
|
||||
}
|
||||
return "";
|
||||
|
|
@ -1025,7 +1025,7 @@ frappe.ui.form.ControlAttach = frappe.ui.form.ControlData.extend({
|
|||
me.dialog.hide();
|
||||
me.frm.save();
|
||||
} else {
|
||||
msgprint(__("Please attach a file or set a URL"));
|
||||
frappe.msgprint(__("Please attach a file or set a URL"));
|
||||
}
|
||||
},
|
||||
callback: function(attachment, r) {
|
||||
|
|
@ -1346,7 +1346,7 @@ frappe.ui.form.ControlLink = frappe.ui.form.ControlData.extend({
|
|||
return true;
|
||||
},
|
||||
item: function (item, input) {
|
||||
d = this.get_item(item.value);
|
||||
var d = this.get_item(item.value);
|
||||
if(!d.label) { d.label = d.value; }
|
||||
|
||||
var _label = (me.translate_values) ? __(d.label) : d.label;
|
||||
|
|
@ -1408,7 +1408,7 @@ frappe.ui.form.ControlLink = frappe.ui.form.ControlData.extend({
|
|||
value: "create_new__link_option",
|
||||
action: me.new_doc
|
||||
})
|
||||
};
|
||||
}
|
||||
// advanced search
|
||||
r.results.push({
|
||||
label: "<span class='text-primary link-option'>"
|
||||
|
|
@ -1591,7 +1591,7 @@ frappe.ui.form.ControlDynamicLink = frappe.ui.form.ControlLink.extend({
|
|||
}
|
||||
var options = frappe.model.get_value(this.df.parent, this.docname, this.df.options);
|
||||
// if(!options) {
|
||||
// msgprint(__("Please set {0} first",
|
||||
// frappe.msgprint(__("Please set {0} first",
|
||||
// [frappe.meta.get_docfield(this.df.parent, this.df.options, this.docname).label]));
|
||||
// }
|
||||
return options;
|
||||
|
|
@ -1797,7 +1797,7 @@ frappe.ui.form.ControlTextEditor = frappe.ui.form.ControlCode.extend({
|
|||
me.editor.summernote('insertImage', selected);
|
||||
me.image_dialog.hide();
|
||||
} else {
|
||||
msgprint(__("Please attach a file or set a URL"));
|
||||
frappe.msgprint(__("Please attach a file or set a URL"));
|
||||
}
|
||||
},
|
||||
callback: function(attachment, r) {
|
||||
|
|
|
|||
|
|
@ -259,7 +259,7 @@ frappe.ui.form.Dashboard = Class.extend({
|
|||
group.items.forEach(function(item) { items.push(item); });
|
||||
});
|
||||
|
||||
method = this.data.method || 'frappe.desk.notifications.get_open_count';
|
||||
var method = this.data.method || 'frappe.desk.notifications.get_open_count';
|
||||
|
||||
frappe.call({
|
||||
type: "GET",
|
||||
|
|
@ -370,6 +370,7 @@ frappe.ui.form.Dashboard = Class.extend({
|
|||
// set colspan
|
||||
var indicators = this.stats_area_row.find('.indicator-column');
|
||||
var n_indicators = indicators.length + 1;
|
||||
var colspan;
|
||||
if(n_indicators > 4) { colspan = 3 }
|
||||
else { colspan = 12 / n_indicators; }
|
||||
|
||||
|
|
|
|||
|
|
@ -55,13 +55,13 @@ frappe.ui.form.AssignTo = Class.extend({
|
|||
</li>', info))
|
||||
.insertBefore(this.parent.find('.add-assignment'));
|
||||
|
||||
if(d[i].owner===user) {
|
||||
if(d[i].owner===frappe.session.user) {
|
||||
me.primary_action = this.frm.page.add_menu_item(__("Assignment Complete"), function() {
|
||||
me.remove(user);
|
||||
me.remove(frappe.session.user);
|
||||
}, "fa fa-check", "btn-success")
|
||||
}
|
||||
|
||||
if(!(d[i].owner === user || me.frm.perm[0].write)) {
|
||||
if(!(d[i].owner === frappe.session.user || me.frm.perm[0].write)) {
|
||||
me.parent.find('a.close').remove();
|
||||
}
|
||||
}
|
||||
|
|
@ -164,7 +164,7 @@ frappe.ui.form.AssignToDialog = Class.extend({
|
|||
toggle_myself: function(myself) {
|
||||
var me = this;
|
||||
if($(myself).prop("checked")) {
|
||||
me.set_value("assign_to", user);
|
||||
me.set_value("assign_to", frappe.session.user);
|
||||
me.set_value("notify", 0);
|
||||
me.get_field("notify").$wrapper.toggle(false);
|
||||
me.get_field("assign_to").$wrapper.toggle(false);
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ frappe.ui.form.Attachments = Class.extend({
|
|||
},
|
||||
max_reached: function() {
|
||||
// no of attachments
|
||||
var n = keys(this.get_attachments()).length;
|
||||
var n = Object.keys(this.get_attachments()).length;
|
||||
|
||||
// button if the number of attachments is less than max
|
||||
if(n < this.frm.meta.max_attachments || !this.frm.meta.max_attachments) {
|
||||
|
|
@ -135,7 +135,7 @@ frappe.ui.form.Attachments = Class.extend({
|
|||
callback: function(r,rt) {
|
||||
if(r.exc) {
|
||||
if(!r._server_messages)
|
||||
msgprint(__("There were errors"));
|
||||
frappe.msgprint(__("There were errors"));
|
||||
return;
|
||||
}
|
||||
me.remove_fileid(fileid);
|
||||
|
|
@ -207,7 +207,7 @@ frappe.ui.form.Attachments = Class.extend({
|
|||
});
|
||||
|
||||
frappe.ui.get_upload_dialog = function(opts){
|
||||
dialog = new frappe.ui.Dialog({
|
||||
var dialog = new frappe.ui.Dialog({
|
||||
title: __('Upload Attachment'),
|
||||
no_focus: true,
|
||||
fields: [
|
||||
|
|
|
|||
|
|
@ -76,10 +76,10 @@ frappe.ui.form.Timeline = Class.extend({
|
|||
|
||||
setup_email_button: function() {
|
||||
var me = this;
|
||||
selector = this.frm.doctype === "Communication"? ".btn-reply-email": ".btn-new-email"
|
||||
var selector = this.frm.doctype === "Communication"? ".btn-reply-email": ".btn-new-email"
|
||||
this.email_button = this.wrapper.find(selector)
|
||||
.on("click", function() {
|
||||
args = {
|
||||
var args = {
|
||||
doc: me.frm.doc,
|
||||
frm: me.frm,
|
||||
recipients: me.get_recipient()
|
||||
|
|
@ -309,7 +309,7 @@ frappe.ui.form.Timeline = Class.extend({
|
|||
c._liked_by = JSON.parse(c._liked_by || "[]");
|
||||
}
|
||||
|
||||
c.liked_by_user = c._liked_by.indexOf(user)!==-1;
|
||||
c.liked_by_user = c._liked_by.indexOf(frappe.session.user)!==-1;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -453,7 +453,7 @@ frappe.ui.form.Timeline = Class.extend({
|
|||
p[0], me.frm.docname);
|
||||
|
||||
if(df && !df.hidden) {
|
||||
field_display_status = frappe.perm.get_field_display_status(df,
|
||||
var field_display_status = frappe.perm.get_field_display_status(df,
|
||||
null, me.frm.perm);
|
||||
|
||||
if(field_display_status === 'Read' || field_display_status === 'Write') {
|
||||
|
|
@ -535,7 +535,7 @@ frappe.ui.form.Timeline = Class.extend({
|
|||
reference_doctype: this.frm.doctype,
|
||||
reference_name: this.frm.docname,
|
||||
content: comment,
|
||||
sender: user
|
||||
sender: frappe.session.user
|
||||
}
|
||||
},
|
||||
btn: btn,
|
||||
|
|
|
|||
|
|
@ -43,9 +43,9 @@ frappe.ui.form.Viewers = Class.extend({
|
|||
if (data_updated && new_users.length) {
|
||||
// new user viewing this document, who wasn't viewing in the past
|
||||
if (new_users.length===1) {
|
||||
show_alert(__("{0} is currently viewing this document", [new_users[0]]));
|
||||
frappe.show_alert(__("{0} is currently viewing this document", [new_users[0]]));
|
||||
} else {
|
||||
show_alert(__("{0} are currently viewing this document", [frappe.utils.comma_and(new_users)]));
|
||||
frappe.show_alert(__("{0} are currently viewing this document", [frappe.utils.comma_and(new_users)]));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -56,15 +56,9 @@ frappe.ui.form.set_viewers = function(data) {
|
|||
var doctype = data.doctype;
|
||||
var docname = data.docname;
|
||||
var past_viewers = (frappe.model.get_docinfo(doctype, docname).viewers || {}).past || [];
|
||||
var new_viewers = [];
|
||||
var viewers = data.viewers || [];
|
||||
|
||||
for (i=0, l=viewers.length; i < l; i++) {
|
||||
var username = viewers[i];
|
||||
if (past_viewers.indexOf(username)===-1) {
|
||||
new_viewers.push(username);
|
||||
}
|
||||
}
|
||||
var new_viewers = viewers.filter(viewer => !past_viewers.includes(viewer));
|
||||
|
||||
frappe.model.set_docinfo(doctype, docname, "viewers", {
|
||||
past: past_viewers.concat(new_viewers),
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ frappe.form.formatters = {
|
|||
},
|
||||
Date: function(value) {
|
||||
if (value) {
|
||||
value = dateutil.str_to_user(value);
|
||||
value = frappe.datetime.str_to_user(value);
|
||||
// handle invalid date
|
||||
if (value==="Invalid date") {
|
||||
value = null;
|
||||
|
|
@ -110,7 +110,7 @@ frappe.form.formatters = {
|
|||
},
|
||||
Datetime: function(value) {
|
||||
if(value) {
|
||||
var m = moment(dateutil.convert_to_user_tz(value));
|
||||
var m = moment(frappe.datetime.convert_to_user_tz(value));
|
||||
if(frappe.boot.sysdefaults.time_zone) {
|
||||
m = m.tz(frappe.boot.sysdefaults.time_zone);
|
||||
}
|
||||
|
|
@ -182,7 +182,7 @@ frappe.form.formatters = {
|
|||
return "<pre>" + (value==null ? "" : $("<div>").text(value).html()) + "</pre>"
|
||||
},
|
||||
WorkflowState: function(value) {
|
||||
workflow_state = frappe.get_doc("Workflow State", value);
|
||||
var workflow_state = frappe.get_doc("Workflow State", value);
|
||||
if(workflow_state) {
|
||||
return repl("<span class='label label-%(style)s' \
|
||||
data-workflow-state='%(value)s'\
|
||||
|
|
@ -217,7 +217,7 @@ frappe.format = function(value, df, options, doc) {
|
|||
df._options = doc ? doc[df.options] : null;
|
||||
}
|
||||
|
||||
formatter = df.formatter || frappe.form.get_formatter(fieldtype);
|
||||
var formatter = df.formatter || frappe.form.get_formatter(fieldtype);
|
||||
|
||||
var formatted = formatter(value, df, options, doc);
|
||||
|
||||
|
|
@ -231,7 +231,7 @@ frappe.get_format_helper = function(doc) {
|
|||
var helper = {
|
||||
get_formatted: function(fieldname) {
|
||||
var df = frappe.meta.get_docfield(doc.doctype, fieldname);
|
||||
if(!df) { console.log("fieldname not found: " + fieldname); };
|
||||
if(!df) { console.log("fieldname not found: " + fieldname); }
|
||||
return frappe.format(doc[fieldname], df, {inline:1}, doc);
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ frappe.ui.form.Grid = Class.extend({
|
|||
setup_check: function() {
|
||||
var me = this;
|
||||
this.wrapper.on('click', '.grid-row-check', function(e) {
|
||||
$check = $(this);
|
||||
var $check = $(this);
|
||||
if($check.parents('.grid-heading-row:first').length!==0) {
|
||||
// select all?
|
||||
var checked = $check.prop('checked');
|
||||
|
|
@ -102,7 +102,7 @@ frappe.ui.form.Grid = Class.extend({
|
|||
});
|
||||
},
|
||||
select_row: function(name) {
|
||||
me.grid_rows_by_docname[name].select();
|
||||
this.grid_rows_by_docname[name].select();
|
||||
},
|
||||
refresh_remove_rows_button: function() {
|
||||
this.remove_rows_button.toggleClass('hide',
|
||||
|
|
@ -345,11 +345,11 @@ frappe.ui.form.Grid = Class.extend({
|
|||
this.refresh();
|
||||
},
|
||||
toggle_enable: function(fieldname, enable) {
|
||||
this.get_docfield(fieldname).read_only = enable ? 0 : 1;;
|
||||
this.get_docfield(fieldname).read_only = enable ? 0 : 1;
|
||||
this.refresh();
|
||||
},
|
||||
toggle_display: function(fieldname, show) {
|
||||
this.get_docfield(fieldname).hidden = show ? 0 : 1;;
|
||||
this.get_docfield(fieldname).hidden = show ? 0 : 1;
|
||||
this.refresh();
|
||||
},
|
||||
get_docfield: function(fieldname) {
|
||||
|
|
@ -586,7 +586,7 @@ frappe.ui.form.Grid = Class.extend({
|
|||
|
||||
// add data
|
||||
$.each(me.frm.doc[me.df.fieldname] || [], function(i, d) {
|
||||
row = [];
|
||||
var row = [];
|
||||
$.each(data[2], function(i, fieldname) {
|
||||
var value = d[fieldname];
|
||||
|
||||
|
|
@ -759,9 +759,10 @@ frappe.ui.form.GridRow = Class.extend({
|
|||
// index (1, 2, 3 etc)
|
||||
if(!this.row_index) {
|
||||
var txt = (this.doc ? this.doc.idx : " ");
|
||||
this.row_index = $('<div class="row-index sortable-handle col col-xs-1">' +
|
||||
this.row_check_html +
|
||||
' <span>' + txt + '</span></div>')
|
||||
this.row_index = $(
|
||||
`<div class="row-index sortable-handle col col-xs-1">
|
||||
${this.row_check_html}
|
||||
<span>${txt}</span></div>`)
|
||||
.appendTo(this.row)
|
||||
.on('click', function(e) {
|
||||
if(!$(e.target).hasClass('grid-row-check')) {
|
||||
|
|
@ -852,7 +853,7 @@ frappe.ui.form.GridRow = Class.extend({
|
|||
add_class += (["Check"].indexOf(df.fieldtype)!==-1) ?
|
||||
" text-center": "";
|
||||
|
||||
$col = $('<div class="col grid-static-col col-xs-'+colsize+' '+add_class+'"></div>')
|
||||
var $col = $('<div class="col grid-static-col col-xs-'+colsize+' '+add_class+'"></div>')
|
||||
.attr("data-fieldname", df.fieldname)
|
||||
.attr("data-fieldtype", df.fieldtype)
|
||||
.data("df", df)
|
||||
|
|
@ -861,7 +862,7 @@ frappe.ui.form.GridRow = Class.extend({
|
|||
if(frappe.ui.form.editable_row===me) {
|
||||
return;
|
||||
}
|
||||
out = me.toggle_editable_row();
|
||||
var out = me.toggle_editable_row();
|
||||
var col = this;
|
||||
setTimeout(function() {
|
||||
$(col).find('input[type="Text"]:first').focus();
|
||||
|
|
@ -890,7 +891,7 @@ frappe.ui.form.GridRow = Class.extend({
|
|||
if(frappe.ui.form.editable_row
|
||||
&& frappe.ui.form.editable_row !== this) {
|
||||
frappe.ui.form.editable_row.toggle_editable_row(false);
|
||||
};
|
||||
}
|
||||
|
||||
this.row.toggleClass('editable-row', true);
|
||||
|
||||
|
|
@ -964,6 +965,7 @@ frappe.ui.form.GridRow = Class.extend({
|
|||
var me = this;
|
||||
if(field.$input) {
|
||||
field.$input.on('keydown', function(e) {
|
||||
var { TAB, UP_ARROW, DOWN_ARROW } = frappe.ui.keyCode;
|
||||
if(!in_list([TAB, UP_ARROW, DOWN_ARROW], e.which)) {
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -225,7 +225,7 @@ frappe.ui.form.Layout = Class.extend({
|
|||
if(me.frm) {
|
||||
fieldobj.perm = me.frm.perm;
|
||||
}
|
||||
};
|
||||
}
|
||||
refresh && fieldobj.refresh && fieldobj.refresh();
|
||||
}
|
||||
},
|
||||
|
|
@ -249,7 +249,7 @@ frappe.ui.form.Layout = Class.extend({
|
|||
},
|
||||
handle_tab: function(doctype, fieldname, shift) {
|
||||
var me = this,
|
||||
grid_row = null;
|
||||
grid_row = null,
|
||||
prev = null,
|
||||
fields = me.fields_list,
|
||||
in_grid = false,
|
||||
|
|
@ -357,7 +357,7 @@ frappe.ui.form.Layout = Class.extend({
|
|||
// build dependants' dictionary
|
||||
var has_dep = false;
|
||||
|
||||
for(fkey in this.fields_list) {
|
||||
for(var fkey in this.fields_list) {
|
||||
var f = this.fields_list[fkey];
|
||||
f.dependencies_clear = true;
|
||||
if(f.df.depends_on) {
|
||||
|
|
@ -409,7 +409,7 @@ frappe.ui.form.Layout = Class.extend({
|
|||
|
||||
if(expression.substr(0,5)=='eval:') {
|
||||
out = eval(expression.substr(5));
|
||||
} else if(expression.substr(0,3)=='fn:' && me.frm) {
|
||||
} else if(expression.substr(0,3)=='fn:' && this.frm) {
|
||||
out = this.frm.script_manager.trigger(expression.substr(3), this.doctype, this.docname);
|
||||
} else {
|
||||
var value = doc[expression];
|
||||
|
|
|
|||
|
|
@ -16,6 +16,8 @@ frappe.ui.form.LinkSelector = Class.extend({
|
|||
}
|
||||
},
|
||||
make: function() {
|
||||
var me = this;
|
||||
|
||||
this.dialog = new frappe.ui.Dialog({
|
||||
title: __("Select {0}", [(this.doctype=='[Select]') ? __("value") : __(this.doctype)]),
|
||||
fields: [
|
||||
|
|
@ -32,7 +34,6 @@ frappe.ui.form.LinkSelector = Class.extend({
|
|||
me.search();
|
||||
}
|
||||
});
|
||||
me = this;
|
||||
|
||||
if(this.txt)
|
||||
this.dialog.fields_dict.txt.set_input(this.txt);
|
||||
|
|
@ -118,7 +119,7 @@ frappe.ui.form.LinkSelector = Class.extend({
|
|||
$.each(me.target.frm.doc[me.target.df.fieldname] || [], function(i, d) {
|
||||
if(d[me.fieldname]===value) {
|
||||
frappe.model.set_value(d.doctype, d.name, me.qty_fieldname, data.qty);
|
||||
show_alert(__("Added {0} ({1})", [value, d[me.qty_fieldname]]));
|
||||
frappe.show_alert(__("Added {0} ({1})", [value, d[me.qty_fieldname]]));
|
||||
updated = true;
|
||||
return false;
|
||||
}
|
||||
|
|
@ -129,7 +130,7 @@ frappe.ui.form.LinkSelector = Class.extend({
|
|||
frappe.after_ajax(function() {
|
||||
setTimeout(function() {
|
||||
frappe.model.set_value(d.doctype, d.name, me.qty_fieldname, data.qty);
|
||||
show_alert(__("Added {0} ({1})", [value, data.qty]));
|
||||
frappe.show_alert(__("Added {0} ({1})", [value, data.qty]));
|
||||
}, 100);
|
||||
});
|
||||
}
|
||||
|
|
@ -137,7 +138,7 @@ frappe.ui.form.LinkSelector = Class.extend({
|
|||
} else {
|
||||
var d = me.target.add_new_row();
|
||||
frappe.model.set_value(d.doctype, d.name, me.fieldname, value);
|
||||
show_alert(__("{0} added", [value]));
|
||||
frappe.show_alert(__("{0} added", [value]));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -70,9 +70,10 @@ frappe.ui.form.PrintPreview = Class.extend({
|
|||
+"&name="+encodeURIComponent(me.frm.doc.name)
|
||||
+"&format="+me.selected_format()
|
||||
+"&no_letterhead="+(me.with_letterhead() ? "0" : "1")
|
||||
+(me.lang_code ? ("&_lang="+me.lang_code) : "")));
|
||||
+(me.lang_code ? ("&_lang="+me.lang_code) : ""))
|
||||
);
|
||||
if(!w) {
|
||||
msgprint(__("Please enable pop-ups")); return;
|
||||
frappe.msgprint(__("Please enable pop-ups")); return;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
@ -138,7 +139,7 @@ frappe.ui.form.PrintPreview = Class.extend({
|
|||
+"&no_letterhead="+(me.with_letterhead() ? "0" : "1")
|
||||
+(me.lang_code ? ("&_lang="+me.lang_code) : "")));
|
||||
if(!w) {
|
||||
msgprint(__("Please enable pop-ups")); return;
|
||||
frappe.msgprint(__("Please enable pop-ups")); return;
|
||||
}
|
||||
},
|
||||
get_print_html: function(callback) {
|
||||
|
|
@ -227,7 +228,7 @@ frappe.ui.get_print_settings = function(pdf, callback, letter_head) {
|
|||
? locals[":Company"][frappe.defaults.get_default('company')]["default_letter_head"]
|
||||
: '';
|
||||
|
||||
columns = [{
|
||||
var columns = [{
|
||||
fieldtype: "Check",
|
||||
fieldname: "with_letter_head",
|
||||
label: __("With Letter head")
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ frappe.ui.form.quick_entry = function(doctype, success) {
|
|||
|
||||
if(data) {
|
||||
dialog.working = true;
|
||||
values = update_doc();
|
||||
var values = update_doc();
|
||||
frappe.call({
|
||||
method: "frappe.client.insert",
|
||||
args: {
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ frappe.ui.form.save = function(frm, action, callback, btn) {
|
|||
if(newname) {
|
||||
doc.__newname = strip(newname);
|
||||
} else {
|
||||
msgprint(__("Name is required"));
|
||||
frappe.msgprint(__("Name is required"));
|
||||
throw "name required";
|
||||
}
|
||||
|
||||
|
|
@ -142,7 +142,7 @@ frappe.ui.form.save = function(frm, action, callback, btn) {
|
|||
|
||||
}
|
||||
message = message + '<br><br><ul><li>' + error_fields.join('</li><li>') + "</ul>";
|
||||
msgprint({
|
||||
frappe.msgprint({
|
||||
message: message,
|
||||
indicator: 'red',
|
||||
title: __('Missing Fields')
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ frappe.ui.form.ScriptManager = Class.extend({
|
|||
var me = this;
|
||||
doctype = doctype || this.frm.doctype;
|
||||
name = name || this.frm.docname;
|
||||
handlers = this.get_handlers(event_name, doctype, name, callback);
|
||||
var handlers = this.get_handlers(event_name, doctype, name, callback);
|
||||
if(callback) handlers.push(callback);
|
||||
|
||||
return $.when.apply($, $.map(handlers, function(fn) { return fn(); }));
|
||||
|
|
@ -138,7 +138,7 @@ frappe.ui.form.ScriptManager = Class.extend({
|
|||
this.trigger('setup');
|
||||
},
|
||||
log_error: function(caller, e) {
|
||||
show_alert("Error in Client Script.");
|
||||
frappe.show_alert("Error in Client Script.");
|
||||
console.group && console.group();
|
||||
console.log("----- error in client script -----");
|
||||
console.log("method: " + caller);
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ frappe.ui.form.Share = Class.extend({
|
|||
options: "User",
|
||||
filters: {
|
||||
"user_type": "System User",
|
||||
"name": ["!=", user]
|
||||
"name": ["!=", frappe.session.user]
|
||||
}
|
||||
},
|
||||
only_input: true,
|
||||
|
|
@ -164,7 +164,7 @@ frappe.ui.form.Share = Class.extend({
|
|||
var user = $(this).parents(".shared-user:first").attr("data-user") || "",
|
||||
value = $(this).prop("checked") ? 1 : 0,
|
||||
property = $(this).attr("name")
|
||||
everyone = cint($(this).parents(".shared-user:first").attr("data-everyone"));
|
||||
var everyone = cint($(this).parents(".shared-user:first").attr("data-everyone"));
|
||||
|
||||
frappe.call({
|
||||
method: "frappe.share.set_permission",
|
||||
|
|
|
|||
|
|
@ -151,11 +151,11 @@ frappe.ui.form.Sidebar = Class.extend({
|
|||
},
|
||||
|
||||
setup_ratings: function() {
|
||||
_ratings = this.frm.get_docinfo().rating || 0;
|
||||
var _ratings = this.frm.get_docinfo().rating || 0;
|
||||
|
||||
if(_ratings) {
|
||||
this.ratings.removeClass("hide");
|
||||
rating_icons = frappe.render_template("rating_icons", {rating: _ratings, show_label: false});
|
||||
var rating_icons = frappe.render_template("rating_icons", {rating: _ratings, show_label: false});
|
||||
this.ratings.find(".rating-icons").html(rating_icons);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@ frappe.ui.form.Toolbar = Class.extend({
|
|||
me.frm.savetrash();}, true);
|
||||
}
|
||||
|
||||
if(in_list(roles, "System Manager")) {
|
||||
if(frappe.user_roles.includes("System Manager")) {
|
||||
this.page.add_menu_item(__("Customize"), function() {
|
||||
frappe.set_route("Form", "Customize Form", {
|
||||
doc_type: me.frm.doctype
|
||||
|
|
@ -178,7 +178,7 @@ frappe.ui.form.Toolbar = Class.extend({
|
|||
if(!this.frm.doc.__unsaved) {
|
||||
if(is_submittable && docstatus == 1) {
|
||||
this.page.add_menu_item(__("Request Feedback"), function() {
|
||||
feedback = new frappe.utils.Feedback();
|
||||
var feedback = new frappe.utils.Feedback();
|
||||
feedback.manual_feedback_request(me.frm.doc);
|
||||
}, true)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ frappe.ui.form.States = Class.extend({
|
|||
}
|
||||
|
||||
$.each(frappe.workflow.get_transitions(this.frm.doctype, state), function(i, d) {
|
||||
if(in_list(roles, d.allowed)) {
|
||||
if(frappe.user_roles.includes(d.allowed)) {
|
||||
added = true;
|
||||
me.frm.page.add_action_item(__(d.action), function() {
|
||||
var action = d.action;
|
||||
|
|
@ -112,10 +112,10 @@ frappe.ui.form.States = Class.extend({
|
|||
} else if(new_docstatus==2 && me.frm.doc.docstatus==1) {
|
||||
me.frm.savecancel(null, success, on_error);
|
||||
} else {
|
||||
msgprint(__("Document Status transition from ") + me.frm.doc.docstatus + " "
|
||||
frappe.msgprint(__("Document Status transition from ") + me.frm.doc.docstatus + " "
|
||||
+ __("to") +
|
||||
new_docstatus + " " + __("is not allowed."));
|
||||
msgprint(__("Document Status transition from {0} to {1} is not allowed", [me.frm.doc.docstatus, new_docstatus]));
|
||||
frappe.msgprint(__("Document Status transition from {0} to {1} is not allowed", [me.frm.doc.docstatus, new_docstatus]));
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -108,8 +108,8 @@ frappe.views.ListRenderer = Class.extend({
|
|||
}
|
||||
|
||||
// enabled / disabled
|
||||
if (frappe.meta.has_field(this.doctype, 'enabled')) { add_field('enabled'); };
|
||||
if (frappe.meta.has_field(this.doctype, 'disabled')) { add_field('disabled'); };
|
||||
if (frappe.meta.has_field(this.doctype, 'enabled')) { add_field('enabled'); }
|
||||
if (frappe.meta.has_field(this.doctype, 'disabled')) { add_field('disabled'); }
|
||||
|
||||
// add workflow field (as priority)
|
||||
this.workflow_state_fieldname = frappe.workflow.get_state_fieldname(this.doctype);
|
||||
|
|
@ -133,7 +133,7 @@ frappe.views.ListRenderer = Class.extend({
|
|||
add_field(df.options.split(':')[1]);
|
||||
} else {
|
||||
add_field(df.options);
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
@ -424,7 +424,7 @@ frappe.views.ListRenderer = Class.extend({
|
|||
this.prepare_when(data, data.modified);
|
||||
|
||||
// nulls as strings
|
||||
for (key in data) {
|
||||
for (var key in data) {
|
||||
if (data[key] == null) {
|
||||
data[key] = '';
|
||||
}
|
||||
|
|
@ -485,8 +485,8 @@ frappe.views.ListRenderer = Class.extend({
|
|||
prepare_when: function (data, date_str) {
|
||||
if (!date_str) date_str = data.modified;
|
||||
// when
|
||||
data.when = (dateutil.str_to_user(date_str)).split(' ')[0];
|
||||
var diff = dateutil.get_diff(dateutil.get_today(), date_str.split(' ')[0]);
|
||||
data.when = (frappe.datetime.str_to_user(date_str)).split(' ')[0];
|
||||
var diff = frappe.datetime.get_diff(frappe.datetime.get_today(), date_str.split(' ')[0]);
|
||||
if (diff === 0) {
|
||||
data.when = comment_when(date_str);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -212,7 +212,7 @@ frappe.views.ListSidebar = Class.extend({
|
|||
.then(function() {
|
||||
d.hide();
|
||||
}, function(err) {
|
||||
msgprint(err);
|
||||
frappe.msgprint(err);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
@ -273,15 +273,15 @@ frappe.views.ListSidebar = Class.extend({
|
|||
var $dropdown = this.page.sidebar.find('.email-account-dropdown');
|
||||
var divider = false;
|
||||
|
||||
if(has_common(roles, ["System Manager", "Administrator"])) {
|
||||
if(has_common(frappe.user_roles, ["System Manager", "Administrator"])) {
|
||||
$('<li class="new-email-account"><a>'+ __("New Email Account") +'</a></li>')
|
||||
.appendTo($dropdown)
|
||||
}
|
||||
|
||||
accounts = frappe.boot.email_accounts;
|
||||
var accounts = frappe.boot.email_accounts;
|
||||
|
||||
accounts.forEach(function(account) {
|
||||
email_account = (account.email_id == "All Accounts")? "All Accounts": account.email_account;
|
||||
var email_account = (account.email_id == "All Accounts")? "All Accounts": account.email_account;
|
||||
var route = ["List", "Communication", "Inbox", email_account].join('/');
|
||||
if(!divider) {
|
||||
$('<li role="separator" class="divider"></li>').appendTo($dropdown);
|
||||
|
|
@ -320,7 +320,7 @@ frappe.views.ListSidebar = Class.extend({
|
|||
me.defined_category = r.message.defined_cat
|
||||
me.cats = {};
|
||||
//structure the tag categories
|
||||
for (i in me.defined_category){
|
||||
for (var i in me.defined_category){
|
||||
if (me.cats[me.defined_category[i].category]===undefined){
|
||||
me.cats[me.defined_category[i].category]=[me.defined_category[i].tag];
|
||||
}else{
|
||||
|
|
|
|||
|
|
@ -302,7 +302,7 @@ frappe.views.ListView = frappe.ui.BaseList.extend({
|
|||
set_filters: function (filters) {
|
||||
var me = this;
|
||||
$.each(filters, function (i, f) {
|
||||
hidden = false
|
||||
var hidden = false
|
||||
if (f.length === 3) {
|
||||
f = [me.doctype, f[0], f[1], f[2]]
|
||||
} else if (f.length === 5) {
|
||||
|
|
@ -377,7 +377,7 @@ frappe.views.ListView = frappe.ui.BaseList.extend({
|
|||
if (this.list_renderer.settings.list_view_doc) {
|
||||
this.list_renderer.settings.list_view_doc(this);
|
||||
} else {
|
||||
doctype = this.list_renderer.no_result_doctype? this.list_renderer.no_result_doctype: this.doctype
|
||||
var doctype = this.list_renderer.no_result_doctype? this.list_renderer.no_result_doctype: this.doctype
|
||||
$(this.wrapper).on('click', `button[list_view_doc='${doctype}']`, function () {
|
||||
if (me.list_renderer.make_new_doc)
|
||||
me.list_renderer.make_new_doc()
|
||||
|
|
@ -563,18 +563,18 @@ frappe.views.ListView = frappe.ui.BaseList.extend({
|
|||
return order_by;
|
||||
},
|
||||
assigned_to_me: function () {
|
||||
this.filter_list.add_filter(this.doctype, '_assign', 'like', '%' + user + '%');
|
||||
this.filter_list.add_filter(this.doctype, '_assign', 'like', '%' + frappe.session.user + '%');
|
||||
this.run();
|
||||
},
|
||||
liked_by_me: function () {
|
||||
this.filter_list.add_filter(this.doctype, '_liked_by', 'like', '%' + user + '%');
|
||||
this.filter_list.add_filter(this.doctype, '_liked_by', 'like', '%' + frappe.session.user + '%');
|
||||
this.run();
|
||||
},
|
||||
remove_liked_by_me: function () {
|
||||
this.filter_list.get_filter('_liked_by').remove();
|
||||
},
|
||||
is_star_filtered: function () {
|
||||
return this.filter_list.filter_exists(this.doctype, '_liked_by', 'like', '%' + user + '%');
|
||||
return this.filter_list.filter_exists(this.doctype, '_liked_by', 'like', '%' + frappe.session.user + '%');
|
||||
},
|
||||
init_menu: function () {
|
||||
var me = this;
|
||||
|
|
@ -606,7 +606,7 @@ frappe.views.ListView = frappe.ui.BaseList.extend({
|
|||
});
|
||||
}, true);
|
||||
}
|
||||
if (roles.includes('System Manager')) {
|
||||
if (frappe.user_roles.includes('System Manager')) {
|
||||
this.page.add_menu_item(__('Role Permissions Manager'), function () {
|
||||
frappe.set_route('permission-manager', {
|
||||
doctype: me.doctype
|
||||
|
|
@ -627,7 +627,7 @@ frappe.views.ListView = frappe.ui.BaseList.extend({
|
|||
frappe.add_to_desktop(me.doctype, me.doctype);
|
||||
}, true);
|
||||
|
||||
if (roles.includes('System Manager') && frappe.boot.developer_mode === 1) {
|
||||
if (frappe.user_roles.includes('System Manager') && frappe.boot.developer_mode === 1) {
|
||||
// edit doctype
|
||||
this.page.add_menu_item(__('Edit DocType'), function () {
|
||||
frappe.set_route('Form', 'DocType', me.doctype);
|
||||
|
|
@ -683,7 +683,7 @@ frappe.views.ListView = frappe.ui.BaseList.extend({
|
|||
return !is_submittable || doc.docstatus === 1 ||
|
||||
(allow_print_for_cancelled && doc.docstatus == 2) ||
|
||||
(allow_print_for_draft && doc.docstatus == 0) ||
|
||||
roles.includes('Administrator')
|
||||
frappe.user_roles.includes('Administrator')
|
||||
}).map(function (doc) {
|
||||
return doc.name
|
||||
});
|
||||
|
|
@ -708,11 +708,11 @@ frappe.views.ListView = frappe.ui.BaseList.extend({
|
|||
});
|
||||
|
||||
dialog.set_primary_action(__('Print'), function () {
|
||||
args = dialog.get_values();
|
||||
var args = dialog.get_values();
|
||||
if (!args) return;
|
||||
var default_print_format = locals.DocType[me.doctype].default_print_format;
|
||||
with_letterhead = args.with_letterhead ? 1 : 0;
|
||||
print_format = args.print_sel ? args.print_sel : default_print_format;
|
||||
var with_letterhead = args.with_letterhead ? 1 : 0;
|
||||
var print_format = args.print_sel ? args.print_sel : default_print_format;
|
||||
|
||||
var json_string = JSON.stringify(valid_docs);
|
||||
var w = window.open('/api/method/frappe.utils.print_format.download_multi_pdf?'
|
||||
|
|
@ -725,7 +725,7 @@ frappe.views.ListView = frappe.ui.BaseList.extend({
|
|||
}
|
||||
});
|
||||
|
||||
print_formats = frappe.meta.get_print_formats(me.doctype);
|
||||
var print_formats = frappe.meta.get_print_formats(me.doctype);
|
||||
dialog.fields_dict.print_sel.$input.empty().add_options(print_formats);
|
||||
|
||||
dialog.show();
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ frappe.get_gravatar = function(email_id) {
|
|||
|
||||
function repl(s, dict) {
|
||||
if(s==null)return '';
|
||||
for(key in dict) {
|
||||
for(var key in dict) {
|
||||
s = s.split("%("+key+")s").join(dict[key]);
|
||||
}
|
||||
return s;
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ frappe.provide("frappe.datetime");
|
|||
$.extend(frappe.datetime, {
|
||||
convert_to_user_tz: function(date, format) {
|
||||
// format defaults to true
|
||||
if(sys_defaults.time_zone) {
|
||||
var date_obj = moment.tz(date, sys_defaults.time_zone).local();
|
||||
if(frappe.sys_defaults.time_zone) {
|
||||
var date_obj = moment.tz(date, frappe.sys_defaults.time_zone).local();
|
||||
} else {
|
||||
var date_obj = moment(date);
|
||||
}
|
||||
|
|
@ -22,8 +22,8 @@ $.extend(frappe.datetime, {
|
|||
convert_to_system_tz: function(date, format) {
|
||||
// format defaults to true
|
||||
|
||||
if(sys_defaults.time_zone) {
|
||||
var date_obj = moment(date).tz(sys_defaults.time_zone);
|
||||
if(frappe.sys_defaults.time_zone) {
|
||||
var date_obj = moment(date).tz(frappe.sys_defaults.time_zone);
|
||||
} else {
|
||||
var date_obj = moment(date);
|
||||
}
|
||||
|
|
@ -32,8 +32,8 @@ $.extend(frappe.datetime, {
|
|||
},
|
||||
|
||||
is_timezone_same: function() {
|
||||
if(sys_defaults.time_zone) {
|
||||
return moment().tz(sys_defaults.time_zone).utcOffset() === moment().utcOffset();
|
||||
if(frappe.sys_defaults.time_zone) {
|
||||
return moment().tz(frappe.sys_defaults.time_zone).utcOffset() === moment().utcOffset();
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
|
|
@ -48,7 +48,7 @@ $.extend(frappe.datetime, {
|
|||
},
|
||||
|
||||
obj_to_user: function(d) {
|
||||
return moment(d).format(dateutil.get_user_fmt().toUpperCase());
|
||||
return moment(d).format(frappe.datetime.get_user_fmt().toUpperCase());
|
||||
},
|
||||
|
||||
get_diff: function(d1, d2) {
|
||||
|
|
@ -88,12 +88,12 @@ $.extend(frappe.datetime, {
|
|||
},
|
||||
|
||||
get_user_fmt: function() {
|
||||
return sys_defaults.date_format || "yyyy-mm-dd";
|
||||
return frappe.sys_defaults.date_format || "yyyy-mm-dd";
|
||||
},
|
||||
|
||||
str_to_user: function(val, no_time_str) {
|
||||
if(!val) return "";
|
||||
var user_fmt = dateutil.get_user_fmt().toUpperCase();
|
||||
var user_fmt = frappe.datetime.get_user_fmt().toUpperCase();
|
||||
if(typeof val !== "string" || val.indexOf(" ")===-1) {
|
||||
return moment(val).format(user_fmt);
|
||||
} else {
|
||||
|
|
@ -110,7 +110,7 @@ $.extend(frappe.datetime, {
|
|||
},
|
||||
|
||||
user_to_str: function(val, no_time_str) {
|
||||
var user_fmt = dateutil.get_user_fmt().toUpperCase();
|
||||
var user_fmt = frappe.datetime.get_user_fmt().toUpperCase();
|
||||
var system_fmt = "YYYY-MM-DD";
|
||||
|
||||
if(val.indexOf(" ")!==-1) {
|
||||
|
|
@ -124,7 +124,7 @@ $.extend(frappe.datetime, {
|
|||
},
|
||||
|
||||
user_to_obj: function(d) {
|
||||
return dateutil.str_to_obj(dateutil.user_to_str(d));
|
||||
return frappe.datetime.str_to_obj(frappe.datetime.user_to_str(d));
|
||||
},
|
||||
|
||||
global_date_format: function(d) {
|
||||
|
|
@ -156,5 +156,5 @@ $.extend(frappe.datetime, {
|
|||
});
|
||||
|
||||
// globals (deprecate)
|
||||
var date = dateutil = frappe.datetime;
|
||||
var get_today = frappe.datetime.get_today;
|
||||
// var date = dateutil = frappe.datetime;
|
||||
// var get_today = frappe.datetime.get_today;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ function flt(v, decimals, number_format) {
|
|||
// strip currency symbol if exists
|
||||
if (v.indexOf(" ") != -1) {
|
||||
// using slice(1).join(" ") because space could also be a group separator
|
||||
parts = v.split(" ");
|
||||
var parts = v.split(" ");
|
||||
v = isNaN(parseFloat(parts[0])) ? parts.slice(parts.length - 1).join(" ") : v;
|
||||
}
|
||||
|
||||
|
|
@ -77,7 +77,7 @@ window.format_number = function(v, format, decimals){
|
|||
if (decimals == null) decimals = cint(frappe.defaults.get_default("float_precision")) || 3;
|
||||
}
|
||||
|
||||
info = get_number_format_info(format);
|
||||
var info = get_number_format_info(format);
|
||||
|
||||
// Fix the decimal first, toFixed will auto fill trailing zero.
|
||||
if (decimals == null) decimals = info.precision;
|
||||
|
|
@ -214,7 +214,7 @@ function remainder(numerator, denominator, precision) {
|
|||
}
|
||||
|
||||
return flt(_remainder, precision);
|
||||
};
|
||||
}
|
||||
|
||||
function round_based_on_smallest_currency_fraction(value, currency, precision) {
|
||||
var smallest_currency_fraction_value = flt(frappe.model.get_value(":Currency",
|
||||
|
|
@ -231,4 +231,4 @@ function round_based_on_smallest_currency_fraction(value, currency, precision) {
|
|||
value = Math.round(value);
|
||||
}
|
||||
return value;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ function prettyDate(time, mini){
|
|||
time = new Date();
|
||||
}
|
||||
if(moment) {
|
||||
if(window.sys_defaults && sys_defaults.time_zone) {
|
||||
var ret = moment.tz(time, sys_defaults.time_zone).locale(frappe.boot.lang).fromNow(mini);
|
||||
if(frappe.sys_defaults && frappe.sys_defaults.time_zone) {
|
||||
var ret = moment.tz(time, frappe.sys_defaults.time_zone).locale(frappe.boot.lang).fromNow(mini);
|
||||
} else {
|
||||
var ret = moment(time).locale(frappe.boot.lang).fromNow(mini);
|
||||
}
|
||||
|
|
@ -41,7 +41,7 @@ function prettyDate(time, mini){
|
|||
if ( isNaN(day_diff) || day_diff < 0 )
|
||||
return '';
|
||||
|
||||
return when = day_diff == 0 && (
|
||||
var when = day_diff == 0 && (
|
||||
diff < 60 && __("just now") ||
|
||||
diff < 120 && __("1 minute ago") ||
|
||||
diff < 3600 && __("{0} minutes ago", [Math.floor( diff / 60 )]) ||
|
||||
|
|
@ -52,6 +52,8 @@ function prettyDate(time, mini){
|
|||
day_diff < 31 && __("{0} weeks ago", [Math.ceil( day_diff / 7 )]) ||
|
||||
day_diff < 365 && __("{0} months ago", [Math.ceil( day_diff / 30)]) ||
|
||||
__("> {0} year(s) ago", [Math.floor( day_diff / 365 )]);
|
||||
|
||||
return when;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ frappe.provide("frappe.tools");
|
|||
|
||||
frappe.tools.downloadify = function(data, roles, title) {
|
||||
if(roles && roles.length && !has_common(roles, roles)) {
|
||||
msgprint(__("Export not allowed. You need {0} role to export.", [frappe.utils.comma_or(roles)]));
|
||||
frappe.msgprint(__("Export not allowed. You need {0} role to export.", [frappe.utils.comma_or(roles)]));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
frappe.user_info = function(uid) {
|
||||
if(!uid)
|
||||
uid = user;
|
||||
uid = frappe.session.user;
|
||||
|
||||
if(uid.toLowerCase()==="bot") {
|
||||
return {
|
||||
|
|
@ -57,7 +57,7 @@ frappe.provide('frappe.user');
|
|||
$.extend(frappe.user, {
|
||||
name: 'Guest',
|
||||
full_name: function(uid) {
|
||||
return uid===user ?
|
||||
return uid === frappe.session.user ?
|
||||
__("You") :
|
||||
frappe.user_info(uid).fullname;
|
||||
},
|
||||
|
|
@ -77,7 +77,7 @@ $.extend(frappe.user, {
|
|||
},
|
||||
get_desktop_items: function() {
|
||||
// hide based on permission
|
||||
modules_list = $.map(frappe.boot.desktop_icons, function(icon) {
|
||||
var modules_list = $.map(frappe.boot.desktop_icons, function(icon) {
|
||||
var m = icon.module_name;
|
||||
var type = frappe.modules[m] && frappe.modules[m].type;
|
||||
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ frappe.utils = {
|
|||
return [dict[filters]]
|
||||
}
|
||||
$.each(dict, function(i, d) {
|
||||
for(key in filters) {
|
||||
for(var key in filters) {
|
||||
if($.isArray(filters[key])) {
|
||||
if(filters[key][0]=="in") {
|
||||
if(filters[key][1].indexOf(d[key])==-1)
|
||||
|
|
@ -242,7 +242,6 @@ frappe.utils = {
|
|||
break;
|
||||
default:
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
|
||||
// test regExp if not null
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ $.extend(frappe.model, {
|
|||
name: frappe.model.get_new_name(doctype),
|
||||
__islocal: 1,
|
||||
__unsaved: 1,
|
||||
owner: user
|
||||
owner: frappe.session.user
|
||||
};
|
||||
frappe.model.set_default_values(doc, parent_doc);
|
||||
|
||||
|
|
@ -140,7 +140,7 @@ $.extend(frappe.model, {
|
|||
|
||||
if(!df.ignore_user_permissions) {
|
||||
// 2 - look in user defaults
|
||||
user_defaults = frappe.defaults.get_user_defaults(df.options);
|
||||
var user_defaults = frappe.defaults.get_user_defaults(df.options);
|
||||
if (user_defaults && user_defaults.length===1) {
|
||||
// Use User Permission value when only when it has a single value
|
||||
user_default = user_defaults[0];
|
||||
|
|
@ -171,13 +171,13 @@ $.extend(frappe.model, {
|
|||
return frappe.session.user;
|
||||
|
||||
} else if (df["default"] == "user_fullname") {
|
||||
return user_fullname;
|
||||
return frappe.session.user_fullname;
|
||||
|
||||
} else if (df["default"] == "Today") {
|
||||
return dateutil.get_today();
|
||||
return frappe.datetime.get_today();
|
||||
|
||||
} else if ((df["default"] || "").toLowerCase() === "now") {
|
||||
return dateutil.now_datetime();
|
||||
return frappe.datetime.now_datetime();
|
||||
|
||||
} else if (df["default"][0]===":") {
|
||||
var boot_doc = frappe.model.get_default_from_boot_docs(df, doc, parent_doc);
|
||||
|
|
@ -198,7 +198,7 @@ $.extend(frappe.model, {
|
|||
}
|
||||
|
||||
} else if (df.fieldtype=="Time") {
|
||||
return dateutil.now_time();
|
||||
return frappe.datetime.now_time();
|
||||
}
|
||||
},
|
||||
|
||||
|
|
@ -267,6 +267,8 @@ $.extend(frappe.model, {
|
|||
}
|
||||
}
|
||||
|
||||
var user = frappe.session.user;
|
||||
|
||||
newdoc.__islocal = 1;
|
||||
newdoc.docstatus = 0;
|
||||
newdoc.owner = user;
|
||||
|
|
@ -309,7 +311,7 @@ $.extend(frappe.model, {
|
|||
|
||||
frappe.create_routes = {};
|
||||
frappe.new_doc = function (doctype, opts) {
|
||||
if(opts && $.isPlainObject(opts)) { frappe.route_options = opts; };
|
||||
if(opts && $.isPlainObject(opts)) { frappe.route_options = opts; }
|
||||
frappe.model.with_doctype(doctype, function() {
|
||||
if(frappe.create_routes[doctype]) {
|
||||
frappe.set_route(frappe.create_routes[doctype]);
|
||||
|
|
|
|||
|
|
@ -173,7 +173,7 @@ $.extend(frappe.meta, {
|
|||
|
||||
get_parentfield: function(parent_dt, child_dt) {
|
||||
var df = (frappe.get_doc("DocType", parent_dt).fields || []).filter(function(d)
|
||||
{ return d.fieldtype==="Table" && options===child_dt })
|
||||
{ return d.fieldtype==="Table" && d.options===child_dt })
|
||||
if(!df.length)
|
||||
throw "parentfield not found for " + parent_dt + ", " + child_dt;
|
||||
return df[0].fieldname;
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ $.extend(frappe.model, {
|
|||
if(d.fieldname==fieldname) return d;
|
||||
});
|
||||
if(!docfield.length) {
|
||||
msgprint(__("Unknown Column: {0}", [fieldname]));
|
||||
frappe.msgprint(__("Unknown Column: {0}", [fieldname]));
|
||||
}
|
||||
return docfield[0];
|
||||
},
|
||||
|
|
@ -103,7 +103,7 @@ $.extend(frappe.model, {
|
|||
freeze: true,
|
||||
callback: function(r) {
|
||||
if(r.exc) {
|
||||
msgprint(__("Unable to load: {0}", [__(doctype)]));
|
||||
frappe.msgprint(__("Unable to load: {0}", [__(doctype)]));
|
||||
throw "No doctype";
|
||||
}
|
||||
if(r.message=="use_cache") {
|
||||
|
|
@ -235,7 +235,7 @@ $.extend(frappe.model, {
|
|||
|
||||
can_import: function(doctype, frm) {
|
||||
// system manager can always import
|
||||
if(roles.indexOf("System Manager")!==-1) return true;
|
||||
if(frappe.user_roles.includes("System Manager")) return true;
|
||||
|
||||
if(frm) return frm.perm[0].import===1;
|
||||
return frappe.boot.user.can_import.indexOf(doctype)!==-1;
|
||||
|
|
@ -243,7 +243,7 @@ $.extend(frappe.model, {
|
|||
|
||||
can_export: function(doctype, frm) {
|
||||
// system manager can always export
|
||||
if(roles.indexOf("System Manager")!==-1) return true;
|
||||
if(frappe.user_roles.includes("System Manager")) return true;
|
||||
|
||||
if(frm) return frm.perm[0].export===1;
|
||||
return frappe.boot.user.can_export.indexOf(doctype)!==-1;
|
||||
|
|
@ -268,7 +268,7 @@ $.extend(frappe.model, {
|
|||
|
||||
can_set_user_permissions: function(doctype, frm) {
|
||||
// system manager can always set user permissions
|
||||
if(roles.indexOf("System Manager")!==-1) return true;
|
||||
if(frappe.user_roles.includes("System Manager")) return true;
|
||||
|
||||
if(frm) return frm.perm[0].set_user_permissions===1;
|
||||
return frappe.boot.user.can_set_user_permissions.indexOf(doctype)!==-1;
|
||||
|
|
@ -359,7 +359,7 @@ $.extend(frappe.model, {
|
|||
*/
|
||||
/* example: frappe.model.on("Customer", "age", function(fieldname, value, doc) {
|
||||
if(doc.age < 16) {
|
||||
msgprint("Warning, Customer must atleast be 16 years old.");
|
||||
frappe.msgprint("Warning, Customer must atleast be 16 years old.");
|
||||
raise "CustomerAgeError";
|
||||
}
|
||||
}) */
|
||||
|
|
@ -385,7 +385,7 @@ $.extend(frappe.model, {
|
|||
|
||||
// doctype-level
|
||||
run(frappe.model.events[doc.doctype]['*']);
|
||||
};
|
||||
}
|
||||
},
|
||||
|
||||
get_doc: function(doctype, name) {
|
||||
|
|
@ -541,7 +541,7 @@ $.extend(frappe.model, {
|
|||
|
||||
get_all_docs: function(doc) {
|
||||
var all = [doc];
|
||||
for(key in doc) {
|
||||
for(var key in doc) {
|
||||
if($.isArray(doc[key])) {
|
||||
var children = doc[key];
|
||||
for (var i=0, l=children.length; i < l; i++) {
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ $.extend(frappe.perm, {
|
|||
return perm;
|
||||
}
|
||||
|
||||
if (user==="Administrator" || roles.indexOf("Administrator")!==-1) {
|
||||
if (frappe.session.user === "Administrator" || frappe.user_roles.includes("Administrator")) {
|
||||
perm[0].read = 1;
|
||||
}
|
||||
|
||||
|
|
@ -62,7 +62,7 @@ $.extend(frappe.perm, {
|
|||
|
||||
// if owner
|
||||
if(!$.isEmptyObject(perm[0].if_owner)) {
|
||||
if(doc.owner===user) {
|
||||
if(doc.owner === frappe.session.user) {
|
||||
$.extend(perm[0], perm[0].if_owner);
|
||||
} else {
|
||||
// not owner, remove permissions
|
||||
|
|
@ -78,7 +78,7 @@ $.extend(frappe.perm, {
|
|||
if(docinfo && docinfo.shared) {
|
||||
for(var i=0; i<docinfo.shared.length; i++) {
|
||||
var s = docinfo.shared[i];
|
||||
if(s.user===user) {
|
||||
if(s.user === frappe.session.user) {
|
||||
perm[0]["read"] = perm[0]["read"] || s.read;
|
||||
perm[0]["write"] = perm[0]["write"] || s.write;
|
||||
perm[0]["share"] = perm[0]["share"] || s.share;
|
||||
|
|
@ -109,7 +109,7 @@ $.extend(frappe.perm, {
|
|||
|
||||
$.each(meta.permissions || [], function(i, p) {
|
||||
// if user has this role
|
||||
if(roles.indexOf(p.role)!==-1) {
|
||||
if(frappe.user_roles.includes(p.role)) {
|
||||
var permlevel = cint(p.permlevel);
|
||||
if(!perm[permlevel]) {
|
||||
perm[permlevel] = {};
|
||||
|
|
@ -198,7 +198,7 @@ $.extend(frappe.perm, {
|
|||
}
|
||||
|
||||
if (perm[0].if_owner && perm[0].read) {
|
||||
match_rules.push({"Owner": user});
|
||||
match_rules.push({"Owner": frappe.session.user});
|
||||
}
|
||||
|
||||
return match_rules;
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ frappe.workflow = {
|
|||
|
||||
var allow_edit = state ? frappe.workflow.get_document_state(doctype, state).allow_edit : null;
|
||||
|
||||
if(roles.indexOf(allow_edit)==-1) {
|
||||
if(!frappe.user_roles.includes(allow_edit)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -71,10 +71,10 @@ frappe.request.call = function(opts) {
|
|||
frappe.app.redirect_to_login();
|
||||
} else {
|
||||
frappe.app.handle_session_expired();
|
||||
};
|
||||
}
|
||||
},
|
||||
404: function(xhr) {
|
||||
msgprint({title:__("Not found"), indicator:'red',
|
||||
frappe.msgprint({title:__("Not found"), indicator:'red',
|
||||
message: __('The resource you are looking for is not available')});
|
||||
},
|
||||
403: function(xhr) {
|
||||
|
|
@ -108,11 +108,11 @@ frappe.request.call = function(opts) {
|
|||
},
|
||||
508: function(xhr) {
|
||||
frappe.utils.play_sound("error");
|
||||
msgprint({title:__('Please try again'), indicator:'red',
|
||||
frappe.msgprint({title:__('Please try again'), indicator:'red',
|
||||
message:__("Another transaction is blocking this one. Please try again in a few seconds.")});
|
||||
},
|
||||
413: function(data, xhr) {
|
||||
msgprint({indicator:'red', title:__('File too big'), message:__("File size exceeded the maximum allowed size of {0} MB",
|
||||
frappe.msgprint({indicator:'red', title:__('File too big'), message:__("File size exceeded the maximum allowed size of {0} MB",
|
||||
[(frappe.boot.max_file_size || 5242880) / 1048576])});
|
||||
},
|
||||
417: function(xhr) {
|
||||
|
|
@ -133,12 +133,12 @@ frappe.request.call = function(opts) {
|
|||
},
|
||||
500: function(xhr) {
|
||||
frappe.utils.play_sound("error");
|
||||
msgprint({message:__("Server Error: Please check your server logs or contact tech support."), title:__('Something went wrong'), indicator: 'red'});
|
||||
frappe.msgprint({message:__("Server Error: Please check your server logs or contact tech support."), title:__('Something went wrong'), indicator: 'red'});
|
||||
opts.error_callback && opts.error_callback();
|
||||
frappe.request.report_error(xhr, opts);
|
||||
},
|
||||
504: function(xhr) {
|
||||
msgprint(__("Request Timed Out"))
|
||||
frappe.msgprint(__("Request Timed Out"))
|
||||
opts.error_callback && opts.error_callback();
|
||||
}
|
||||
};
|
||||
|
|
@ -217,7 +217,7 @@ frappe.request.prepare = function(opts) {
|
|||
if(opts.freeze) frappe.dom.freeze(opts.freeze_message);
|
||||
|
||||
// stringify args if required
|
||||
for(key in opts.args) {
|
||||
for(var key in opts.args) {
|
||||
if(opts.args[key] && ($.isPlainObject(opts.args[key]) || $.isArray(opts.args[key]))) {
|
||||
opts.args[key] = JSON.stringify(opts.args[key]);
|
||||
}
|
||||
|
|
@ -274,7 +274,7 @@ frappe.request.cleanup = function(opts, r) {
|
|||
} else {
|
||||
console.log(r.exc);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// debug messages
|
||||
if(r._debug_messages) {
|
||||
|
|
@ -330,7 +330,7 @@ frappe.request.report_error = function(xhr, request_opts) {
|
|||
|
||||
request_opts = frappe.request.cleanup_request_opts(request_opts);
|
||||
|
||||
var msg_dialog = msgprint({message:error_message, indicator:'red'});
|
||||
msg_dialog = frappe.msgprint({message:error_message, indicator:'red'});
|
||||
|
||||
msg_dialog.msg_area.find(".report-btn")
|
||||
.toggle(error_report_email ? true : false)
|
||||
|
|
@ -361,7 +361,7 @@ frappe.request.report_error = function(xhr, request_opts) {
|
|||
message: error_report_message,
|
||||
doc: {
|
||||
doctype: "User",
|
||||
name: user
|
||||
name: frappe.session.user
|
||||
}
|
||||
});
|
||||
communication_composer.dialog.$wrapper.css("z-index", cint(msg_dialog.$wrapper.css("z-index")) + 1);
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@ frappe.RoleEditor = Class.extend({
|
|||
var perm = r.message[i];
|
||||
|
||||
// if permission -> icon
|
||||
for(key in perm) {
|
||||
for(var key in perm) {
|
||||
if(key!='parent' && key!='permlevel') {
|
||||
if(perm[key]) {
|
||||
perm[key] = '<i class="fa fa-check"></i>';
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ frappe.set_route = function() {
|
|||
if(params.length===1 && $.isArray(params[0])) {
|
||||
params = params[0];
|
||||
}
|
||||
route = $.map(params, function(a) {
|
||||
var route = $.map(params, function(a) {
|
||||
if($.isPlainObject(a)) {
|
||||
frappe.route_options = a;
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ frappe._ = function(txt, replace) {
|
|||
return txt;
|
||||
if(typeof(txt) != "string")
|
||||
return txt;
|
||||
ret = frappe._messages[txt.replace(/\n/g, "")] || txt;
|
||||
var ret = frappe._messages[txt.replace(/\n/g, "")] || txt;
|
||||
if(replace && typeof(replace) === "object") {
|
||||
ret = $.format(ret, replace);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -173,7 +173,7 @@ frappe.ui.BaseList = Class.extend({
|
|||
// default filter for submittable doctype
|
||||
if (frappe.model.is_submittable(this.doctype)) {
|
||||
this.filter_list.add_filter(this.doctype, "docstatus", "!=", 2);
|
||||
};
|
||||
}
|
||||
},
|
||||
|
||||
clear: function () {
|
||||
|
|
|
|||
|
|
@ -62,11 +62,11 @@ frappe.ui.Chart = Class.extend({
|
|||
chart_dict.axis.x.tick.culling = {max: 15};
|
||||
chart_dict.axis.x.tick.format = frappe.boot.sysdefaults.date_format
|
||||
.replace('yyyy', '%Y').replace('mm', '%m').replace('dd', '%d');
|
||||
};
|
||||
}
|
||||
|
||||
// set color
|
||||
if(!chart_dict.data.colors && chart_dict.data.columns) {
|
||||
colors = ['#4E50A6', '#7679FB', '#A3A5FC', '#925191', '#5D3EA4', '#8D5FFA',
|
||||
var colors = ['#4E50A6', '#7679FB', '#A3A5FC', '#925191', '#5D3EA4', '#8D5FFA',
|
||||
'#5E3AA8', '#7B933D', '#4F8EA8'];
|
||||
chart_dict.data.colors = {};
|
||||
chart_dict.data.columns.forEach(function(d, i) {
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ frappe.ui.FieldGroup = frappe.ui.form.Layout.extend({
|
|||
}
|
||||
}
|
||||
if(errors.length && !ignore_errors) {
|
||||
msgprint({
|
||||
frappe.msgprint({
|
||||
title: __('Missing Values Required'),
|
||||
message: __('Following fields have missing values:') +
|
||||
'<br><br><ul><li>' + errors.join('<li>') + '</ul>',
|
||||
|
|
@ -106,7 +106,7 @@ frappe.ui.FieldGroup = frappe.ui.form.Layout.extend({
|
|||
}
|
||||
},
|
||||
clear: function() {
|
||||
for(key in this.fields_dict) {
|
||||
for(var key in this.fields_dict) {
|
||||
var f = this.fields_dict[key];
|
||||
if(f && f.set_input) {
|
||||
f.set_input(f.df['default'] || '');
|
||||
|
|
|
|||
|
|
@ -149,8 +149,8 @@ frappe.ui.FilterList = Class.extend({
|
|||
}
|
||||
|
||||
if(options.length>0) {
|
||||
for (i in stat) {
|
||||
for (o in options) {
|
||||
for (var i in stat) {
|
||||
for (var o in options) {
|
||||
if (stat[i][0] == options[o].value) {
|
||||
if (field.name=="docstatus") {
|
||||
labels[i] = options[o].label
|
||||
|
|
@ -460,8 +460,7 @@ frappe.ui.Filter = Class.extend({
|
|||
? __("values separated by commas")
|
||||
: __("use % as wildcard"))+'</div>');
|
||||
} else {
|
||||
me.set_field(me.field.df.parent, me.field.df.fieldname, null,
|
||||
condition);
|
||||
me.set_field(me.field.df.parent, me.field.df.fieldname, null, condition);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -512,7 +511,7 @@ frappe.ui.Filter = Class.extend({
|
|||
|
||||
var original_docfield = me.fieldselect.fields_by_name[doctype][fieldname];
|
||||
if(!original_docfield) {
|
||||
msgprint(__("Field {0} is not selectable.", [fieldname]));
|
||||
frappe.msgprint(__("Field {0} is not selectable.", [fieldname]));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -784,7 +783,7 @@ frappe.ui.FieldSelect = Class.extend({
|
|||
|
||||
// old style
|
||||
if(doctype.indexOf(".")!==-1) {
|
||||
parts = doctype.split(".");
|
||||
var parts = doctype.split(".");
|
||||
doctype = parts[0];
|
||||
fieldname = parts[1];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
frappe.ui.is_liked = function(doc) {
|
||||
var liked = frappe.ui.get_liked_by(doc);
|
||||
return liked.indexOf(user)===-1 ? false : true;
|
||||
return liked.indexOf(frappe.session.user)===-1 ? false : true;
|
||||
}
|
||||
|
||||
frappe.ui.get_liked_by = function(doc) {
|
||||
|
|
@ -47,10 +47,10 @@ frappe.ui.toggle_like = function($btn, doctype, name, callback) {
|
|||
var doc = locals[doctype] && locals[doctype][name];
|
||||
if(doc) {
|
||||
var liked_by = JSON.parse(doc._liked_by || "[]"),
|
||||
idx = liked_by.indexOf(user);
|
||||
idx = liked_by.indexOf(frappe.session.user);
|
||||
if(add==="Yes") {
|
||||
if(idx===-1)
|
||||
liked_by.push(user);
|
||||
liked_by.push(frappe.session.user);
|
||||
} else {
|
||||
if(idx!==-1) {
|
||||
liked_by = liked_by.slice(0,idx).concat(liked_by.slice(idx+1))
|
||||
|
|
@ -98,7 +98,7 @@ frappe.ui.setup_like_popover = function($parent, selector) {
|
|||
placement: "right",
|
||||
content: function() {
|
||||
var liked_by = JSON.parse($wrapper.attr('data-liked-by') || "[]");
|
||||
|
||||
var user = frappe.session.user;
|
||||
// hack
|
||||
if ($wrapper.find(".not-liked").length) {
|
||||
if (liked_by.indexOf(user)!==-1) {
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ frappe.ui.Listing = Class.extend({
|
|||
return this.page.add_menu_item(label, click, icon)
|
||||
} else {
|
||||
this.wrapper.find('.list-toolbar-wrapper').removeClass("hide");
|
||||
$button = $('<button class="btn btn-default"></button>')
|
||||
var $button = $('<button class="btn btn-default"></button>')
|
||||
.appendTo(this.wrapper.find('.list-toolbar'))
|
||||
.html((icon ? ("<i class='"+icon+"'></i> ") : "") + label)
|
||||
.click(click);
|
||||
|
|
@ -166,7 +166,7 @@ frappe.ui.Listing = Class.extend({
|
|||
});
|
||||
if(frappe.model.is_submittable(this.doctype)) {
|
||||
this.filter_list.add_filter(this.doctype, "docstatus", "!=", 2);
|
||||
};
|
||||
}
|
||||
},
|
||||
|
||||
clear: function() {
|
||||
|
|
@ -246,7 +246,7 @@ frappe.ui.Listing = Class.extend({
|
|||
save_list_settings_locally: function(args) {
|
||||
if(this.opts.save_list_settings && this.doctype && !this.docname) {
|
||||
// save list settings locally
|
||||
list_settings = frappe.model.list_settings[this.doctype];
|
||||
var list_settings = frappe.model.list_settings[this.doctype];
|
||||
|
||||
if(!list_settings) {
|
||||
return
|
||||
|
|
@ -409,7 +409,7 @@ frappe.ui.Listing = Class.extend({
|
|||
},
|
||||
set_filter: function(fieldname, label, no_run, no_duplicate, parent) {
|
||||
var filter = this.filter_list.get_filter(fieldname);
|
||||
doctype = parent && this.doctype != parent? parent: this.doctype
|
||||
var doctype = parent && this.doctype != parent? parent: this.doctype
|
||||
|
||||
if(filter) {
|
||||
var v = cstr(filter.field.get_parsed_value());
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ frappe.throw = function(msg) {
|
|||
msg = {message: msg, title: __('Error')};
|
||||
}
|
||||
if(!msg.indicator) msg.indicator = 'red';
|
||||
msgprint(msg);
|
||||
frappe.msgprint(msg);
|
||||
throw new Error(msg.message);
|
||||
}
|
||||
|
||||
|
|
@ -260,6 +260,7 @@ frappe.show_alert = function(message, seconds=7) {
|
|||
$('<div id="dialog-container"><div id="alert-container"></div></div>').appendTo('body');
|
||||
}
|
||||
|
||||
var message_html;
|
||||
if(message.indicator) {
|
||||
message_html = $('<span class="indicator ' + message.indicator + '"></span>').append(message.message);
|
||||
} else {
|
||||
|
|
@ -286,5 +287,3 @@ frappe.show_alert = function(message, seconds=7) {
|
|||
return div;
|
||||
}
|
||||
|
||||
// for backward compatibility
|
||||
var show_alert = frappe.show_alert;
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ frappe.ui.misc.about = function() {
|
|||
|
||||
var show_versions = function(versions) {
|
||||
var $wrap = $("#about-app-versions").empty();
|
||||
$.each(keys(versions).sort(), function(i, key) {
|
||||
$.each(Object.keys(versions).sort(), function(i, key) {
|
||||
var v = versions[key];
|
||||
if(v.branch) {
|
||||
var text = $.format('<p><b>{0}:</b> v{1} ({2})<br></p>',
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@ frappe.search.AwesomeBar = Class.extend({
|
|||
<tr><td>'+__("Calculate")+'</td><td>'+
|
||||
__("e.g. (55 + 434) / 4 or =Math.sin(Math.PI/2)...")+'</td></tr>\
|
||||
</table>'
|
||||
msgprint(txt, __("Search Help"));
|
||||
frappe.msgprint(txt, __("Search Help"));
|
||||
}
|
||||
});
|
||||
},
|
||||
|
|
@ -255,7 +255,7 @@ frappe.search.AwesomeBar = Class.extend({
|
|||
index: 80,
|
||||
default: "Calculator",
|
||||
onclick: function() {
|
||||
msgprint(formatted_value, "Result");
|
||||
frappe.msgprint(formatted_value, "Result");
|
||||
}
|
||||
});
|
||||
} catch(e) {
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@ frappe.provide("frappe.ui.notifications")
|
|||
|
||||
frappe.ui.notifications.update_notifications = function() {
|
||||
frappe.ui.notifications.total = 0;
|
||||
var doctypes = keys(frappe.boot.notification_info.open_count_doctype).sort();
|
||||
var modules = keys(frappe.boot.notification_info.open_count_module).sort();
|
||||
var other = keys(frappe.boot.notification_info.open_count_other).sort();
|
||||
var doctypes = Object.keys(frappe.boot.notification_info.open_count_doctype).sort();
|
||||
var modules = Object.keys(frappe.boot.notification_info.open_count_module).sort();
|
||||
var other = Object.keys(frappe.boot.notification_info.open_count_other).sort();
|
||||
|
||||
// clear toolbar / sidebar notifications
|
||||
frappe.ui.notifications.dropdown_notification = $("#dropdown-notification").empty();
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ frappe.search.SearchDialog = Class.extend({
|
|||
clearTimeout($this.data('timeout'));
|
||||
$this.data('timeout', setTimeout(function() {
|
||||
if(me.$input.val() === me.current_keyword) return;
|
||||
keywords = me.$input.val();
|
||||
var keywords = me.$input.val();
|
||||
if(keywords.length > 1) {
|
||||
me.get_results(keywords);
|
||||
} else {
|
||||
|
|
@ -107,7 +107,7 @@ frappe.search.SearchDialog = Class.extend({
|
|||
console.error(err);
|
||||
});
|
||||
} else {
|
||||
results = me.nav_lists[type].slice(0, me.more_count);
|
||||
var results = me.nav_lists[type].slice(0, me.more_count);
|
||||
me.nav_lists[type].splice(0, me.more_count);
|
||||
me.add_more_results([{title: type, results: results}]);
|
||||
}
|
||||
|
|
@ -133,6 +133,7 @@ frappe.search.SearchDialog = Class.extend({
|
|||
if(me.$modal_body.find('.list-link').length > 1) {
|
||||
if(me.modal_state === 0) {
|
||||
// DOWN and UP keys navigate sidebar
|
||||
var { UP_ARROW, DOWN_ARROW, TAB } = frappe.ui.keyCode;
|
||||
if(e.which === DOWN_ARROW || e.which === TAB) {
|
||||
e.preventDefault();
|
||||
var $link = me.$modal_body.find('.list-link.select').next();
|
||||
|
|
@ -247,7 +248,7 @@ frappe.search.SearchDialog = Class.extend({
|
|||
are_expansive = true;
|
||||
break;
|
||||
}
|
||||
};
|
||||
}
|
||||
if(results[0].image) margin_more = "20px";
|
||||
var [section_length, col_width] = are_expansive ? [3, "12"] : [4, "6"];
|
||||
|
||||
|
|
|
|||
|
|
@ -6,11 +6,11 @@ frappe.search.utils = {
|
|||
},
|
||||
|
||||
get_recent_pages: function(keywords) {
|
||||
var me = this;
|
||||
values = [], options = [];
|
||||
var me = this, values = [], options = [];
|
||||
|
||||
function find(list, keywords, process) {
|
||||
list.forEach(function(item, i) {
|
||||
_item = ($.isArray(item)) ? item[0] : item;
|
||||
var _item = ($.isArray(item)) ? item[0] : item;
|
||||
_item = __(_item || '').toLowerCase().replace(/-/g, " ");
|
||||
|
||||
if(keywords===_item || _item.indexOf(keywords) !== -1) {
|
||||
|
|
@ -48,7 +48,7 @@ frappe.search.utils = {
|
|||
});
|
||||
|
||||
find(values, keywords, function(match) {
|
||||
out = {
|
||||
var out = {
|
||||
route: match[1]
|
||||
}
|
||||
if(match[1][0]==='Form') {
|
||||
|
|
@ -80,7 +80,7 @@ frappe.search.utils = {
|
|||
var me = this;
|
||||
var out = [];
|
||||
if(in_list(keywords.split(" "), "in") && (keywords.slice(-2) !== "in")) {
|
||||
parts = keywords.split(" in ");
|
||||
var parts = keywords.split(" in ");
|
||||
frappe.boot.user.can_read.forEach(function (item) {
|
||||
if(frappe.boot.user.can_search.includes(item)) {
|
||||
var level = me.fuzzy_search(parts[1], item);
|
||||
|
|
@ -251,7 +251,7 @@ frappe.search.utils = {
|
|||
if(level > 0) {
|
||||
var module = frappe.modules[item];
|
||||
if(module._doctype) return;
|
||||
ret = {
|
||||
var ret = {
|
||||
type: "Module",
|
||||
label: __("Open {0}", [me.bolden_match_part(__(item), keywords)]),
|
||||
value: __("Open {0}", [__(item)]),
|
||||
|
|
@ -286,7 +286,7 @@ frappe.search.utils = {
|
|||
var result_current_length = 0;
|
||||
var field_text = "";
|
||||
for(var i = 0; i < parts.length; i++) {
|
||||
part = parts[i];
|
||||
var part = parts[i];
|
||||
if(part.toLowerCase().indexOf(keywords) !== -1) {
|
||||
// If the field contains the keyword
|
||||
if(part.indexOf(' &&& ') !== -1) {
|
||||
|
|
@ -483,7 +483,7 @@ frappe.search.utils = {
|
|||
// 0 - 6 for fuzzy contain
|
||||
|
||||
// **Specific use-case step**
|
||||
item = __(_item || '').replace(/-/g, " ");
|
||||
var item = __(_item || '').replace(/-/g, " ");
|
||||
|
||||
var ilen = item.length;
|
||||
var klen = keywords.length;
|
||||
|
|
@ -533,6 +533,7 @@ frappe.search.utils = {
|
|||
|
||||
bolden_match_part: function(str, subseq) {
|
||||
var rendered = "";
|
||||
<<<<<<< HEAD
|
||||
if(this.fuzzy_search(subseq, str) === 0) {
|
||||
return str;
|
||||
} else if(this.fuzzy_search(subseq, str) > 6) {
|
||||
|
|
@ -568,3 +569,45 @@ frappe.search.utils = {
|
|||
|
||||
},
|
||||
}
|
||||
=======
|
||||
if(this.fuzzy_search(subseq, str) === 0) {
|
||||
return str;
|
||||
} else if(this.fuzzy_search(subseq, str) > 6) {
|
||||
var regEx = new RegExp("("+ subseq +")", "ig");
|
||||
return str.replace(regEx, '<b>$1</b>');
|
||||
} else {
|
||||
var str_orig = str;
|
||||
var str = str.toLowerCase();
|
||||
var str_len = str.length;
|
||||
var subseq = subseq.toLowerCase();
|
||||
|
||||
outer: for(var i = 0, j = 0; i < subseq.length; i++) {
|
||||
var sub_ch = subseq.charCodeAt(i);
|
||||
while(j < str_len) {
|
||||
if(str.charCodeAt(j) === sub_ch) {
|
||||
var str_char = str_orig.charAt(j);
|
||||
if(str_char === str_char.toLowerCase()) {
|
||||
rendered += '<b>' + subseq.charAt(i) + '</b>';
|
||||
} else {
|
||||
rendered += '<b>' + subseq.charAt(i).toUpperCase() + '</b>';
|
||||
}
|
||||
j++;
|
||||
continue outer;
|
||||
}
|
||||
rendered += str_orig.charAt(j);
|
||||
j++;
|
||||
}
|
||||
return str_orig;
|
||||
}
|
||||
rendered += str_orig.slice(j);
|
||||
return rendered;
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
unscrub_and_titlecase: function(str) {
|
||||
return __(str || '').replace(/-|_/g, " ").replace(/\w*/g,
|
||||
function(keywords){return keywords.charAt(0).toUpperCase() + keywords.substr(1).toLowerCase();});
|
||||
},
|
||||
}
|
||||
>>>>>>> Remove all implicit global variables
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ frappe.ui.toolbar.Toolbar = Class.extend({
|
|||
|
||||
function show_results(e) {
|
||||
//edit links
|
||||
href = e.target.href;
|
||||
var href = e.target.href;
|
||||
if(href.indexOf('blob') > 0) {
|
||||
window.open(href, '_blank');
|
||||
}
|
||||
|
|
@ -220,7 +220,7 @@ frappe.ui.toolbar.clear_cache = function() {
|
|||
frappe.assets.clear_local_storage();
|
||||
$c('frappe.sessions.clear',{},function(r,rt){
|
||||
if(!r.exc) {
|
||||
show_alert(r.message);
|
||||
frappe.show_alert(r.message);
|
||||
location.reload(true);
|
||||
}
|
||||
});
|
||||
|
|
@ -228,7 +228,7 @@ frappe.ui.toolbar.clear_cache = function() {
|
|||
}
|
||||
|
||||
frappe.ui.toolbar.download_backup = function() {
|
||||
msgprint(__("Your download is being built, this may take a few moments..."));
|
||||
frappe.msgprint(__("Your download is being built, this may take a few moments..."));
|
||||
$c('frappe.utils.backups.get_backup',{},function(r,rt) {});
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -231,7 +231,7 @@ frappe.ui.TreeNode = Class.extend({
|
|||
},
|
||||
load: function(callback) {
|
||||
var node = this;
|
||||
args = $.extend(this.tree.args || {}, {
|
||||
var args = $.extend(this.tree.args || {}, {
|
||||
parent: this.data.value
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -219,7 +219,7 @@ frappe.upload = {
|
|||
if(opts.on_no_attach) {
|
||||
opts.on_no_attach();
|
||||
} else {
|
||||
msgprint(__("Please attach a file or set a URL"));
|
||||
frappe.msgprint(__("Please attach a file or set a URL"));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
@ -267,21 +267,21 @@ frappe.upload = {
|
|||
args.filename = fileobj.name.split(' ').join('_');
|
||||
if(opts.options && opts.options.toLowerCase()=="image") {
|
||||
if(!frappe.utils.is_image_file(args.filename)) {
|
||||
msgprint(__("Only image extensions (.gif, .jpg, .jpeg, .tiff, .png, .svg) allowed"));
|
||||
frappe.msgprint(__("Only image extensions (.gif, .jpg, .jpeg, .tiff, .png, .svg) allowed"));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if((opts.max_width || opts.max_height) && frappe.utils.is_image_file(args.filename)) {
|
||||
frappe.utils.resize_image(freader, function(_dataurl) {
|
||||
dataurl = _dataurl;
|
||||
var dataurl = _dataurl;
|
||||
args.filedata = _dataurl.split(",")[1];
|
||||
args.file_size = Math.round(args.filedata.length * 3 / 4);
|
||||
console.log("resized!")
|
||||
frappe.upload._upload_file(fileobj, args, opts, dataurl);
|
||||
})
|
||||
} else {
|
||||
dataurl = freader.result;
|
||||
var dataurl = freader.result;
|
||||
args.filedata = freader.result.split(",")[1];
|
||||
args.file_size = fileobj.size;
|
||||
frappe.upload._upload_file(fileobj, args, opts, dataurl);
|
||||
|
|
@ -292,11 +292,11 @@ frappe.upload = {
|
|||
},
|
||||
|
||||
upload_to_server: function(fileobj, args, opts, dataurl) {
|
||||
// var msgbox = msgprint(__("Uploading..."));
|
||||
// var msgbox = frappe.msgprint(__("Uploading..."));
|
||||
if(opts.start) {
|
||||
opts.start();
|
||||
}
|
||||
ajax_args = {
|
||||
var ajax_args = {
|
||||
"method": "uploadfile",
|
||||
args: args,
|
||||
callback: function(r) {
|
||||
|
|
|
|||
|
|
@ -264,7 +264,7 @@ frappe.views.Calendar = Class.extend({
|
|||
args: me.get_update_args(event),
|
||||
callback: function(r) {
|
||||
if(r.exc) {
|
||||
show_alert(__("Unable to update event"));
|
||||
frappe.show_alert(__("Unable to update event"));
|
||||
revertFunc();
|
||||
}
|
||||
},
|
||||
|
|
@ -346,7 +346,7 @@ frappe.views.Calendar = Class.extend({
|
|||
$.each(frappe.route_options, function(k, value) {
|
||||
if(me.page.fields_dict[k]) {
|
||||
me.page.fields_dict[k].set_input(value);
|
||||
};
|
||||
}
|
||||
})
|
||||
frappe.route_options = null;
|
||||
me.refresh();
|
||||
|
|
|
|||
|
|
@ -85,8 +85,8 @@ frappe.views.CommunicationComposer = Class.extend({
|
|||
];
|
||||
|
||||
// add from if user has access to multiple email accounts
|
||||
email_accounts = frappe.boot.email_accounts.filter(function(account, idx){
|
||||
return !inList(["All Accounts", "Sent", "Spam", "Trash"], account.email_account) &&
|
||||
var email_accounts = frappe.boot.email_accounts.filter(function(account, idx){
|
||||
return !in_list(["All Accounts", "Sent", "Spam", "Trash"], account.email_account) &&
|
||||
account.enable_outgoing
|
||||
})
|
||||
if(frappe.boot.email_accounts && email_accounts.length > 1) {
|
||||
|
|
@ -168,7 +168,7 @@ frappe.views.CommunicationComposer = Class.extend({
|
|||
var content = content_field.get_value() || "";
|
||||
var subject = subject_field.get_value() || "";
|
||||
|
||||
parts = content.split('<!-- salutation-ends -->');
|
||||
var parts = content.split('<!-- salutation-ends -->');
|
||||
|
||||
if(parts.length===2) {
|
||||
content = [reply.message, "<br>", parts[1]];
|
||||
|
|
@ -443,7 +443,7 @@ frappe.views.CommunicationComposer = Class.extend({
|
|||
var me = this;
|
||||
|
||||
if((form_values.send_email || form_values.communication_medium === "Email") && !form_values.recipients) {
|
||||
msgprint(__("Enter Email Recipient(s)"));
|
||||
frappe.msgprint(__("Enter Email Recipient(s)"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -454,13 +454,13 @@ frappe.views.CommunicationComposer = Class.extend({
|
|||
|
||||
if(form_values.send_email) {
|
||||
if(cur_frm && !frappe.model.can_email(me.doc.doctype, cur_frm)) {
|
||||
msgprint(__("You are not allowed to send emails related to this document"));
|
||||
frappe.msgprint(__("You are not allowed to send emails related to this document"));
|
||||
return;
|
||||
}
|
||||
|
||||
form_values.communication_medium = "Email";
|
||||
form_values.sent_or_received = "Sent";
|
||||
};
|
||||
}
|
||||
|
||||
return frappe.call({
|
||||
method:"frappe.core.doctype.communication.email.make",
|
||||
|
|
@ -489,7 +489,7 @@ frappe.views.CommunicationComposer = Class.extend({
|
|||
frappe.utils.play_sound("email");
|
||||
|
||||
if(form_values.send_email && r.message["emails_not_sent_to"]) {
|
||||
msgprint( __("Email not sent to {0} (unsubscribed / disabled)",
|
||||
frappe.msgprint(__("Email not sent to {0} (unsubscribed / disabled)",
|
||||
[ frappe.utils.escape_html(r.message["emails_not_sent_to"]) ]) );
|
||||
}
|
||||
|
||||
|
|
@ -504,7 +504,7 @@ frappe.views.CommunicationComposer = Class.extend({
|
|||
cur_frm.reload_doc();
|
||||
}
|
||||
} else {
|
||||
msgprint(__("There were errors while sending email. Please try again."));
|
||||
frappe.msgprint(__("There were errors while sending email. Please try again."));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -181,7 +181,7 @@ frappe.views.GanttView = frappe.views.ListRenderer.extend({
|
|||
},
|
||||
callback: function() {
|
||||
me.gantt.updating_task = false;
|
||||
show_alert({message:__("Saved"), indicator: 'green'}, 1);
|
||||
frappe.show_alert({message:__("Saved"), indicator: 'green'}, 1);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
|
@ -198,7 +198,7 @@ frappe.views.GanttView = frappe.views.ListRenderer.extend({
|
|||
} else {
|
||||
// reset gantt state
|
||||
this.gantt.change_view_mode(this.gantt_view_mode);
|
||||
show_alert({message: __("Not permitted"), indicator: 'red'}, 1);
|
||||
frappe.show_alert({message: __("Not permitted"), indicator: 'red'}, 1);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ frappe.views.GalleryView = Class.extend({
|
|||
freeze_message: "Fetching Images.."
|
||||
}).then(function(r) {
|
||||
if (!r.message) {
|
||||
msgprint("No Images found")
|
||||
frappe.msgprint("No Images found")
|
||||
} else {
|
||||
// filter image files from other
|
||||
var images = r.message.filter(function(image) {
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ frappe.views.InboxView = frappe.views.ListRenderer.extend({
|
|||
render_inbox_view: function() {
|
||||
var html = ""
|
||||
|
||||
email_account = this.get_current_email_account()
|
||||
var email_account = this.get_current_email_account()
|
||||
if(email_account)
|
||||
html = this.emails.map(this.render_email_row.bind(this)).join("");
|
||||
else
|
||||
|
|
@ -78,7 +78,7 @@ frappe.views.InboxView = frappe.views.ListRenderer.extend({
|
|||
["Communication", "email_status", "not in", "Spam,Trash", true],
|
||||
])
|
||||
}
|
||||
else if (inList(["Spam", "Trash"], email_account)) {
|
||||
else if (in_list(["Spam", "Trash"], email_account)) {
|
||||
filters = default_filters.concat([
|
||||
["Communication", "email_status", "=", email_account, true],
|
||||
["Communication", "email_account", "in", frappe.boot.all_accounts, true]
|
||||
|
|
@ -115,6 +115,7 @@ frappe.views.InboxView = frappe.views.ListRenderer.extend({
|
|||
get_current_email_account: function() {
|
||||
var route = frappe.get_route();
|
||||
if(!route[3] && frappe.boot.email_accounts.length) {
|
||||
var email_account;
|
||||
if(frappe.boot.email_accounts[0].email_id == "All Accounts") {
|
||||
email_account = "All Accounts"
|
||||
} else {
|
||||
|
|
@ -130,8 +131,9 @@ frappe.views.InboxView = frappe.views.ListRenderer.extend({
|
|||
},
|
||||
make_no_result: function () {
|
||||
var no_result_message = ""
|
||||
email_account = this.get_current_email_account();
|
||||
if (inList(["Spam", "Trash"], email_account)) {
|
||||
var email_account = this.get_current_email_account();
|
||||
var args;
|
||||
if (in_list(["Spam", "Trash"], email_account)) {
|
||||
return __("No {0} mail", [email_account])
|
||||
} else if(!email_account && !frappe.boot.email_accounts.length) {
|
||||
// email account is not configured
|
||||
|
|
@ -159,7 +161,7 @@ frappe.views.InboxView = frappe.views.ListRenderer.extend({
|
|||
doc: {}
|
||||
})
|
||||
} else {
|
||||
frappe.route_options = { 'email_id': user_email }
|
||||
frappe.route_options = { 'email_id': frappe.session.user_email }
|
||||
frappe.new_doc(this.no_result_doctype)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@ frappe.provide("frappe.views");
|
|||
}).then(function(r) {
|
||||
saving_filters = false;
|
||||
updater.set({ filters_modified: false });
|
||||
show_alert({
|
||||
frappe.show_alert({
|
||||
message: __('Filters saved'),
|
||||
indicator: 'green'
|
||||
}, 0.5);
|
||||
|
|
@ -819,37 +819,6 @@ frappe.provide("frappe.views");
|
|||
})
|
||||
}
|
||||
|
||||
function edit_card_title_old() {
|
||||
|
||||
self.$card.find('.kanban-card-edit').on('click', function (e) {
|
||||
e.stopPropagation();
|
||||
$edit_card_area.show();
|
||||
$kanban_card_area.hide();
|
||||
$textarea.focus();
|
||||
});
|
||||
|
||||
$textarea.on('blur', function () {
|
||||
$edit_card_area.hide();
|
||||
$kanban_card_area.show();
|
||||
});
|
||||
|
||||
$textarea.keydown(function (e) {
|
||||
if (e.which === 13) {
|
||||
e.preventDefault();
|
||||
var new_title = $textarea.val();
|
||||
if (card.title === new_title) {
|
||||
return;
|
||||
}
|
||||
get_doc().then(function () {
|
||||
var tf = store.getState().card_meta.title_field.fieldname;
|
||||
var doc = card.doc;
|
||||
doc[tf] = new_title;
|
||||
fluxify.doAction('update_doc', doc, card);
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
init();
|
||||
}
|
||||
|
||||
|
|
@ -1020,7 +989,7 @@ frappe.provide("frappe.views");
|
|||
},
|
||||
callback: function (r) {
|
||||
frappe.model.clear_doc(doc.doctype, doc.name);
|
||||
show_alert({ message: __("Saved"), indicator: 'green' }, 1);
|
||||
frappe.show_alert({ message: __("Saved"), indicator: 'green' }, 1);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ frappe.provide("frappe.standard_pages");
|
|||
|
||||
frappe.views.pageview = {
|
||||
with_page: function(name, callback) {
|
||||
if(in_list(keys(frappe.standard_pages), name)) {
|
||||
if(in_list(Object.keys(frappe.standard_pages), name)) {
|
||||
if(!frappe.pages[name]) {
|
||||
frappe.standard_pages[name]();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ $.extend(frappe.report_dump, {
|
|||
data: {},
|
||||
last_modified: {},
|
||||
with_data: function(doctypes, callback) {
|
||||
var pre_loaded = keys(frappe.report_dump.last_modified);
|
||||
var pre_loaded = Object.keys(frappe.report_dump.last_modified);
|
||||
return frappe.call({
|
||||
method: "frappe.desk.report_dump.get_data",
|
||||
type: "GET",
|
||||
|
|
@ -148,10 +148,10 @@ frappe.views.GridReport = Class.extend({
|
|||
var me = this;
|
||||
$.each(me.filter_inputs, function(i, v) {
|
||||
var opts = v.get(0).opts;
|
||||
if(opts.fieldtype == "Select" && inList(me.doctypes, opts.link)) {
|
||||
if(opts.fieldtype == "Select" && in_list(me.doctypes, opts.link)) {
|
||||
$(v).add_options($.map(frappe.report_dump.data[opts.link],
|
||||
function(d) { return d.name; }));
|
||||
} else if(opts.fieldtype == "Link" && inList(me.doctypes, opts.link)) {
|
||||
} else if(opts.fieldtype == "Link" && in_list(me.doctypes, opts.link)) {
|
||||
opts.list = $.map(frappe.report_dump.data[opts.link],
|
||||
function(d) { return d.name; });
|
||||
me.set_autocomplete(v, opts.list);
|
||||
|
|
@ -201,7 +201,7 @@ frappe.views.GridReport = Class.extend({
|
|||
filters.val(value);
|
||||
}
|
||||
} else {
|
||||
msgprint(__("Invalid Filter: {0}", [key]))
|
||||
frappe.msgprint(__("Invalid Filter: {0}", [key]))
|
||||
}
|
||||
},
|
||||
set_autocomplete: function($filter, list) {
|
||||
|
|
@ -219,8 +219,8 @@ frappe.views.GridReport = Class.extend({
|
|||
var me = this;
|
||||
$.each(this.filter_inputs, function(key, filter) {
|
||||
var opts = filter.get(0).opts;
|
||||
if(sys_defaults[key]) {
|
||||
filter.val(sys_defaults[key]);
|
||||
if(frappe.sys_defaults[key]) {
|
||||
filter.val(frappe.sys_defaults[key]);
|
||||
} else if(opts.fieldtype=='Select') {
|
||||
filter.get(0).selectedIndex = 0;
|
||||
} else if(opts.fieldtype=='Data') {
|
||||
|
|
@ -235,8 +235,8 @@ frappe.views.GridReport = Class.extend({
|
|||
|
||||
set_default_values: function() {
|
||||
var values = {
|
||||
from_date: dateutil.str_to_user(sys_defaults.year_start_date),
|
||||
to_date: dateutil.str_to_user(sys_defaults.year_end_date)
|
||||
from_date: frappe.datetime.str_to_user(frappe.sys_defaults.year_start_date),
|
||||
to_date: frappe.datetime.str_to_user(frappe.sys_defaults.year_end_date)
|
||||
}
|
||||
|
||||
var me = this;
|
||||
|
|
@ -298,7 +298,7 @@ frappe.views.GridReport = Class.extend({
|
|||
} else if(opts.fieldtype!='Button') {
|
||||
me[opts.fieldname] = f.val();
|
||||
if(opts.fieldtype=="Date") {
|
||||
me[opts.fieldname] = dateutil.user_to_str(me[opts.fieldname]);
|
||||
me[opts.fieldname] = frappe.datetime.user_to_str(me[opts.fieldname]);
|
||||
} else if (opts.fieldtype == "Select") {
|
||||
me[opts.fieldname+'_default'] = opts.default_value;
|
||||
}
|
||||
|
|
@ -306,7 +306,7 @@ frappe.views.GridReport = Class.extend({
|
|||
});
|
||||
|
||||
if(this.filter_inputs.from_date && this.filter_inputs.to_date && (this.to_date < this.from_date)) {
|
||||
msgprint(__("From Date must be before To Date"));
|
||||
frappe.msgprint(__("From Date must be before To Date"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -359,7 +359,7 @@ frappe.views.GridReport = Class.extend({
|
|||
this.round_off_data();
|
||||
this.prepare_data_view();
|
||||
// chart might need prepared data
|
||||
show_alert("Updated", 2);
|
||||
frappe.show_alert("Updated", 2);
|
||||
this.render();
|
||||
this.setup_chart && this.setup_chart();
|
||||
},
|
||||
|
|
@ -458,7 +458,7 @@ frappe.views.GridReport = Class.extend({
|
|||
var filters = this.filter_inputs;
|
||||
if(item._show) return true;
|
||||
|
||||
for (i in filters) {
|
||||
for (var i in filters) {
|
||||
if(!this.apply_filter(item, i)) {
|
||||
return false;
|
||||
}
|
||||
|
|
@ -502,7 +502,7 @@ frappe.views.GridReport = Class.extend({
|
|||
return this[fieldname]==this[fieldname + "_default"];
|
||||
},
|
||||
date_formatter: function(row, cell, value, columnDef, dataContext) {
|
||||
return dateutil.str_to_user(value);
|
||||
return frappe.datetime.str_to_user(value);
|
||||
},
|
||||
currency_formatter: function(row, cell, value, columnDef, dataContext) {
|
||||
return repl('<div style="text-align: right; %(_style)s">%(value)s</div>', {
|
||||
|
|
@ -586,9 +586,9 @@ frappe.views.GridReport = Class.extend({
|
|||
|
||||
var me = this;
|
||||
var range = this.filter_inputs.range.val();
|
||||
this.from_date = dateutil.user_to_str(this.filter_inputs.from_date.val());
|
||||
this.to_date = dateutil.user_to_str(this.filter_inputs.to_date.val());
|
||||
var date_diff = dateutil.get_diff(this.to_date, this.from_date);
|
||||
this.from_date = frappe.datetime.user_to_str(this.filter_inputs.from_date.val());
|
||||
this.to_date = frappe.datetime.user_to_str(this.filter_inputs.to_date.val());
|
||||
var date_diff = frappe.datetime.get_diff(this.to_date, this.from_date);
|
||||
|
||||
me.column_map = {};
|
||||
me.last_date = null;
|
||||
|
|
@ -596,7 +596,7 @@ frappe.views.GridReport = Class.extend({
|
|||
var add_column = function(date) {
|
||||
me.columns.push({
|
||||
id: date,
|
||||
name: dateutil.str_to_user(date),
|
||||
name: frappe.datetime.str_to_user(date),
|
||||
field: date,
|
||||
formatter: me.currency_formatter,
|
||||
width: 100
|
||||
|
|
@ -606,7 +606,7 @@ frappe.views.GridReport = Class.extend({
|
|||
var build_columns = function(condition) {
|
||||
// add column for each date range
|
||||
for(var i=0; i <= date_diff; i++) {
|
||||
var date = dateutil.add_days(me.from_date, i);
|
||||
var date = frappe.datetime.add_days(me.from_date, i);
|
||||
if(!condition) condition = function() { return true; }
|
||||
|
||||
if(condition(date)) add_column(date);
|
||||
|
|
@ -624,17 +624,17 @@ frappe.views.GridReport = Class.extend({
|
|||
} else if(range=='Weekly') {
|
||||
build_columns(function(date) {
|
||||
if(!me.last_date) return true;
|
||||
return !(dateutil.get_diff(date, me.from_date) % 7)
|
||||
return !(frappe.datetime.get_diff(date, me.from_date) % 7)
|
||||
});
|
||||
} else if(range=='Monthly') {
|
||||
build_columns(function(date) {
|
||||
if(!me.last_date) return true;
|
||||
return dateutil.str_to_obj(me.last_date).getMonth() != dateutil.str_to_obj(date).getMonth()
|
||||
return frappe.datetime.str_to_obj(me.last_date).getMonth() != frappe.datetime.str_to_obj(date).getMonth()
|
||||
});
|
||||
} else if(range=='Quarterly') {
|
||||
build_columns(function(date) {
|
||||
if(!me.last_date) return true;
|
||||
return dateutil.str_to_obj(date).getDate()==1 && in_list([0,3,6,9], dateutil.str_to_obj(date).getMonth())
|
||||
return frappe.datetime.str_to_obj(date).getDate()==1 && in_list([0,3,6,9], frappe.datetime.str_to_obj(date).getMonth())
|
||||
});
|
||||
} else if(range=='Yearly') {
|
||||
build_columns(function(date) {
|
||||
|
|
@ -649,8 +649,8 @@ frappe.views.GridReport = Class.extend({
|
|||
// set label as last date of period
|
||||
$.each(this.columns, function(i, col) {
|
||||
col.name = me.columns[i+1]
|
||||
? dateutil.str_to_user(dateutil.add_days(me.columns[i+1].id, -1))
|
||||
: dateutil.str_to_user(me.to_date);
|
||||
? frappe.datetime.str_to_user(frappe.datetime.add_days(me.columns[i+1].id, -1))
|
||||
: frappe.datetime.str_to_user(me.to_date);
|
||||
});
|
||||
},
|
||||
trigger_refresh_on_change: function(filters) {
|
||||
|
|
@ -815,7 +815,7 @@ frappe.views.TreeGridReport = frappe.views.GridReportWithPlot.extend({
|
|||
if(group_ids.indexOf(item.name)==-1) {
|
||||
item_group_map[parent].push(item);
|
||||
} else {
|
||||
msgprint(__("Ignoring Item {0}, because a group exists with the same name!", [item.name.bold()]));
|
||||
frappe.msgprint(__("Ignoring Item {0}, because a group exists with the same name!", [item.name.bold()]));
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -844,7 +844,7 @@ frappe.views.TreeGridReport = frappe.views.GridReportWithPlot.extend({
|
|||
},
|
||||
|
||||
export: function() {
|
||||
var msgbox = msgprint($.format('<p>{0}</p>\
|
||||
var msgbox = frappe.msgprint($.format('<p>{0}</p>\
|
||||
<p><input type="checkbox" name="with_groups" checked="checked"> {1}</p>\
|
||||
<p><input type="checkbox" name="with_ledgers" checked="checked"> {2}</p>\
|
||||
<p><button class="btn btn-primary"> {3}</button>', [
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ frappe.views.QueryReport = Class.extend({
|
|||
// Edit
|
||||
this.page.add_menu_item(__('Edit'), function() {
|
||||
if(!frappe.user.is_report_manager()) {
|
||||
msgprint(__("You are not allowed to create / edit reports"));
|
||||
frappe.msgprint(__("You are not allowed to create / edit reports"));
|
||||
return false;
|
||||
}
|
||||
frappe.set_route("Form", "Report", me.report_name);
|
||||
|
|
@ -181,7 +181,7 @@ frappe.views.QueryReport = Class.extend({
|
|||
},
|
||||
print_report: function() {
|
||||
if(!frappe.model.can_print(this.report_doc.ref_doctype)) {
|
||||
msgprint(__("You are not allowed to print this report"));
|
||||
frappe.msgprint(__("You are not allowed to print this report"));
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -211,7 +211,7 @@ frappe.views.QueryReport = Class.extend({
|
|||
var print_css = frappe.boot.print_css;
|
||||
|
||||
if(!frappe.model.can_print(this.report_doc.ref_doctype)) {
|
||||
msgprint(__("You are not allowed to make PDF for this report"));
|
||||
frappe.msgprint(__("You are not allowed to make PDF for this report"));
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -563,7 +563,7 @@ frappe.views.QueryReport = Class.extend({
|
|||
var newrow = {};
|
||||
for(var i=1, j=this.columns.length; i<j; i++) {
|
||||
newrow[this.columns[i].field] = row[i-1];
|
||||
};
|
||||
}
|
||||
}
|
||||
newrow._id = row_idx + 1;
|
||||
newrow.id = newrow.name ? newrow.name : ("_" + newrow._id);
|
||||
|
|
@ -654,7 +654,7 @@ frappe.views.QueryReport = Class.extend({
|
|||
return true;
|
||||
} catch (e) {
|
||||
if (e.message.indexOf("[parent_name] is undefined")!==-1) {
|
||||
msgprint(__("Unable to display this tree report, due to missing data. Most likely, it is being filtered out due to permissions."));
|
||||
frappe.msgprint(__("Unable to display this tree report, due to missing data. Most likely, it is being filtered out due to permissions."));
|
||||
}
|
||||
|
||||
throw e;
|
||||
|
|
@ -704,7 +704,7 @@ frappe.views.QueryReport = Class.extend({
|
|||
// non strings
|
||||
if(filter.indexOf(":")==-1) {
|
||||
if(columnDef.df.fieldtype=="Date") {
|
||||
filter = dateutil.user_to_str(filter);
|
||||
filter = frappe.datetime.user_to_str(filter);
|
||||
}
|
||||
|
||||
if(in_list(["Float", "Currency", "Int"], columnDef.df.fieldtype)) {
|
||||
|
|
@ -717,8 +717,8 @@ frappe.views.QueryReport = Class.extend({
|
|||
// range
|
||||
filter = filter.split(":");
|
||||
if(columnDef.df.fieldtype=="Date") {
|
||||
filter[0] = dateutil.user_to_str(filter[0]);
|
||||
filter[1] = dateutil.user_to_str(filter[1]);
|
||||
filter[0] = frappe.datetime.user_to_str(filter[0]);
|
||||
filter[1] = frappe.datetime.user_to_str(filter[1]);
|
||||
}
|
||||
|
||||
if(in_list(["Float", "Currency", "Int"], columnDef.df.fieldtype)) {
|
||||
|
|
@ -817,7 +817,7 @@ frappe.views.QueryReport = Class.extend({
|
|||
this.title = this.report_name;
|
||||
|
||||
if(!frappe.model.can_export(this.report_doc.ref_doctype)) {
|
||||
msgprint(__("You are not allowed to export this report"));
|
||||
frappe.msgprint(__("You are not allowed to export this report"));
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ frappe.views.ReportViewPage = Class.extend({
|
|||
if(!frappe.model.can_get_report(doctype)) {
|
||||
frappe.show_not_permitted(frappe.get_route_str());
|
||||
return;
|
||||
};
|
||||
}
|
||||
|
||||
this.doctype = doctype;
|
||||
this.docname = docname;
|
||||
|
|
@ -147,7 +147,7 @@ frappe.views.ReportView = frappe.ui.BaseList.extend({
|
|||
columns.push(coldef);
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
if(!columns.length) {
|
||||
var columns = [['name', this.doctype],];
|
||||
$.each(frappe.meta.docfield_list[this.doctype], function(i, df) {
|
||||
|
|
@ -708,7 +708,7 @@ frappe.views.ReportView = frappe.ui.BaseList.extend({
|
|||
}
|
||||
var export_btn = this.page.add_menu_item(__('Export'), function() {
|
||||
var args = me.get_args();
|
||||
selected_items = me.get_checked_items()
|
||||
var selected_items = me.get_checked_items()
|
||||
frappe.prompt({fieldtype:"Select", label: __("Select File Type"), fieldname:"file_format_type",
|
||||
options:"Excel\nCSV", default:"Excel", reqd: 1},
|
||||
function(data) {
|
||||
|
|
@ -761,7 +761,7 @@ frappe.views.ReportView = frappe.ui.BaseList.extend({
|
|||
},
|
||||
callback: function(r) {
|
||||
if(r.exc) {
|
||||
msgprint(__("Report was not saved (there were errors)"));
|
||||
frappe.msgprint(__("Report was not saved (there were errors)"));
|
||||
return;
|
||||
}
|
||||
if(r.message != me.docname)
|
||||
|
|
@ -790,7 +790,7 @@ frappe.views.ReportView = frappe.ui.BaseList.extend({
|
|||
});
|
||||
|
||||
this.page.add_menu_item(__("Delete"), function() {
|
||||
delete_list = $.map(me.get_checked_items(), function(d) { return d.name; });
|
||||
var delete_list = $.map(me.get_checked_items(), function(d) { return d.name; });
|
||||
if(!delete_list.length)
|
||||
return;
|
||||
if(frappe.confirm(__("This is PERMANENT action and you cannot undo. Continue?"),
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ frappe.standard_pages["test-runner"] = function() {
|
|||
|
||||
var route = frappe.get_route();
|
||||
if(route.length < 2) {
|
||||
msgprint(__("To run a test add the module name in the route after '{0}'. For example, {1}", ['test-runner/', '#test-runner/lib/js/frappe/test_app.js']));
|
||||
frappe.msgprint(__("To run a test add the module name in the route after '{0}'. For example, {1}", ['test-runner/', '#test-runner/lib/js/frappe/test_app.js']));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ frappe.views.TreeFactory = frappe.views.Factory.extend({
|
|||
};
|
||||
|
||||
if (!frappe.treeview_settings[route[1]] && !frappe.meta.get_docfield(route[1], "is_group")) {
|
||||
msgprint(__("Tree view not available for {0}", [route[1]] ));
|
||||
frappe.msgprint(__("Tree view not available for {0}", [route[1]] ));
|
||||
return false;
|
||||
}
|
||||
$.extend(options, frappe.treeview_settings[route[1]] || {});
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@ _f.Frm.prototype.set_currency_labels = function(fields_list, currency, parentfie
|
|||
_f.Frm.prototype.field_map = function(fnames, fn) {
|
||||
if(typeof fnames==='string') {
|
||||
if(fnames == '*') {
|
||||
fnames = keys(this.fields_dict);
|
||||
fnames = Object.keys(this.fields_dict);
|
||||
} else {
|
||||
fnames = [fnames];
|
||||
}
|
||||
|
|
@ -172,7 +172,7 @@ _f.Frm.prototype.field_map = function(fnames, fn) {
|
|||
if(field) {
|
||||
fn(field);
|
||||
cur_frm.refresh_field(fieldname);
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -199,7 +199,7 @@ _f.Frm.prototype.set_df_property = function(fieldname, property, value, docname,
|
|||
if(df && df[property] != value) {
|
||||
df[property] = value;
|
||||
refresh_field(fieldname, table_field);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
_f.Frm.prototype.toggle_enable = function(fnames, enable) {
|
||||
|
|
@ -279,7 +279,7 @@ _f.Frm.prototype.set_value = function(field, value, if_missing) {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
msgprint("Field " + f + " not found.");
|
||||
frappe.msgprint("Field " + f + " not found.");
|
||||
throw "frm.set_value";
|
||||
}
|
||||
}
|
||||
|
|
@ -318,7 +318,7 @@ _f.Frm.prototype.call = function(opts, args, callback) {
|
|||
opts.child = locals[opts.child.doctype][opts.child.name];
|
||||
|
||||
var std_field_list = ["doctype"].concat(frappe.model.std_fields_list);
|
||||
for (key in r.message) {
|
||||
for (var key in r.message) {
|
||||
if (std_field_list.indexOf(key)===-1) {
|
||||
opts.child[key] = r.message[key];
|
||||
}
|
||||
|
|
@ -409,6 +409,7 @@ _f.Frm.prototype.has_mapper = function() {
|
|||
|
||||
_f.Frm.prototype.set_indicator_formatter = function(fieldname, get_color, get_text) {
|
||||
// get doctype from parent
|
||||
var doctype;
|
||||
if(frappe.meta.docfield_map[this.doctype][fieldname]) {
|
||||
doctype = this.doctype;
|
||||
} else {
|
||||
|
|
@ -472,7 +473,7 @@ _f.Frm.prototype.make_new = function(doctype) {
|
|||
this.custom_buttons[this.custom_make_buttons[doctype]].trigger('click');
|
||||
} else {
|
||||
frappe.model.with_doctype(doctype, function() {
|
||||
new_doc = frappe.model.get_new_doc(doctype);
|
||||
var new_doc = frappe.model.get_new_doc(doctype);
|
||||
|
||||
// set link fields (if found)
|
||||
frappe.get_meta(doctype).fields.forEach(function(df) {
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ function toTitle(str){
|
|||
var word_in = str.split(" ");
|
||||
var word_out = [];
|
||||
|
||||
for(w in word_in){
|
||||
for(var w in word_in){
|
||||
word_out[w] = word_in[w].charAt(0).toUpperCase() + word_in[w].slice(1);
|
||||
}
|
||||
|
||||
|
|
@ -100,7 +100,6 @@ function has_common(list1, list2) {
|
|||
return false;
|
||||
}
|
||||
|
||||
var inList = in_list; // bc
|
||||
function add_lists(l1, l2) {
|
||||
return [].concat(l1).concat(l2);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ function $bg(e,w) { if(e && e.style && w)e.style.backgroundColor = w; }
|
|||
function $y(ele, s) {
|
||||
if(ele && s) {
|
||||
for(var i in s) ele.style[i]=s[i];
|
||||
};
|
||||
}
|
||||
return ele;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -60,17 +60,17 @@ _f.Frm = function(doctype, parent, in_form) {
|
|||
_f.Frm.prototype.check_doctype_conflict = function(docname) {
|
||||
var me = this;
|
||||
if(this.doctype=='DocType' && docname=='DocType') {
|
||||
msgprint(__('Allowing DocType, DocType. Be careful!'))
|
||||
frappe.msgprint(__('Allowing DocType, DocType. Be careful!'))
|
||||
} else if(this.doctype=='DocType') {
|
||||
if (frappe.views.formview[docname] || frappe.pages['List/'+docname]) {
|
||||
window.location.reload();
|
||||
// msgprint(__("Cannot open {0} when its instance is open", ['DocType']))
|
||||
// frappe.msgprint(__("Cannot open {0} when its instance is open", ['DocType']))
|
||||
// throw 'doctype open conflict'
|
||||
}
|
||||
} else {
|
||||
if (frappe.views.formview.DocType && frappe.views.formview.DocType.frm.opendocs[this.doctype]) {
|
||||
window.location.reload();
|
||||
// msgprint(__("Cannot open instance when its {0} is open", ['DocType']))
|
||||
// frappe.msgprint(__("Cannot open instance when its {0} is open", ['DocType']))
|
||||
// throw 'doctype open conflict'
|
||||
}
|
||||
}
|
||||
|
|
@ -136,12 +136,12 @@ _f.Frm.prototype.setup_drag_drop = function() {
|
|||
e.preventDefault();
|
||||
|
||||
if(me.doc.__islocal) {
|
||||
msgprint(__("Please save before attaching."));
|
||||
frappe.msgprint(__("Please save before attaching."));
|
||||
throw "attach error";
|
||||
}
|
||||
|
||||
if(me.attachments.max_reached()) {
|
||||
msgprint(__("Maximum Attachment Limit for this record reached."));
|
||||
frappe.msgprint(__("Maximum Attachment Limit for this record reached."));
|
||||
throw "attach error";
|
||||
}
|
||||
|
||||
|
|
@ -173,7 +173,7 @@ _f.Frm.prototype.print_doc = function() {
|
|||
return;
|
||||
}
|
||||
if(!frappe.model.can_print(this.doc.doctype, this)) {
|
||||
msgprint(__("You are not allowed to print this document"));
|
||||
frappe.msgprint(__("You are not allowed to print this document"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -189,7 +189,7 @@ _f.Frm.prototype.set_hidden = function(status) {
|
|||
form_page.toggleClass('hidden', this.hidden);
|
||||
this.toolbar.refresh();
|
||||
if(status===true) {
|
||||
msg = __('Edit {0} properties', [__(this.doctype)]);
|
||||
var msg = __('Edit {0} properties', [__(this.doctype)]);
|
||||
this.layout.show_message('<div style="padding-left: 15px; padding-right: 15px;">\
|
||||
<a class="text-muted" onclick="cur_frm.set_hidden(false)">' + msg + '</a></div>');
|
||||
} else {
|
||||
|
|
@ -818,7 +818,7 @@ _f.Frm.prototype.amend_doc = function() {
|
|||
var fn = function(newdoc) {
|
||||
newdoc.amended_from = me.docname;
|
||||
if(me.fields_dict && me.fields_dict['amendment_date'])
|
||||
newdoc.amendment_date = dateutil.obj_to_str(new Date());
|
||||
newdoc.amendment_date = frappe.datetime.obj_to_str(new Date());
|
||||
}
|
||||
this.copy_doc(fn, 1);
|
||||
frappe.utils.play_sound("click");
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ function $c_obj(doc, method, arg, callback, no_spinner, freeze_msg, btn) {
|
|||
|
||||
if(arg && typeof arg!='string') arg = JSON.stringify(arg);
|
||||
|
||||
args = {
|
||||
var args = {
|
||||
cmd:'runserverobj',
|
||||
args: arg,
|
||||
method: method
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ function LayoutCell(layout, layoutRow, width) {
|
|||
if(width) { // add '%' if user has forgotten
|
||||
var w = width + '';
|
||||
if(w.substr(w.length-2, 2) != 'px') {
|
||||
if(w.substr(w.length-1, 1) != "%") {width = width + '%'};
|
||||
if(w.substr(w.length-1, 1) != "%") {width = width + '%'}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ _p.go = function(html) {
|
|||
_p.preview = function(html) {
|
||||
var w = window.open();
|
||||
if(!w) {
|
||||
msgprint(__("Please enable pop-ups"));
|
||||
frappe.msgprint(__("Please enable pop-ups"));
|
||||
return;
|
||||
}
|
||||
w.document.write(html);
|
||||
|
|
@ -113,7 +113,7 @@ $.extend(_p, {
|
|||
fmtname= "Standard";
|
||||
}
|
||||
|
||||
args = {
|
||||
var args = {
|
||||
fmtname: fmtname,
|
||||
onload: onload,
|
||||
no_letterhead: no_letterhead,
|
||||
|
|
@ -121,12 +121,12 @@ $.extend(_p, {
|
|||
};
|
||||
|
||||
if(!cur_frm) {
|
||||
msgprint(__("No document selected"));
|
||||
frappe.msgprint(__("No document selected"));
|
||||
return;
|
||||
}
|
||||
|
||||
if(!frappe.model.can_print(cur_frm.doctype, cur_frm)) {
|
||||
msgprint(__("You are not allowed to print this document"));
|
||||
frappe.msgprint(__("You are not allowed to print this document"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -145,7 +145,7 @@ $.extend(_p, {
|
|||
} else {
|
||||
var print_format_doc = locals["Print Format"][args.fmtname];
|
||||
if(!print_format_doc) {
|
||||
msgprint(__("Unknown Print Format: {0}", [args.fmtname]));
|
||||
frappe.msgprint(__("Unknown Print Format: {0}", [args.fmtname]));
|
||||
return;
|
||||
}
|
||||
args.onload(_p.render({
|
||||
|
|
@ -220,7 +220,7 @@ $.extend(_p, {
|
|||
}
|
||||
|
||||
if(args.doc && cint(args.doc.docstatus)==0 && is_doctype_submittable) {
|
||||
draft = _p.head_banner_format();
|
||||
var draft = _p.head_banner_format();
|
||||
draft = draft.replace("{{HEAD}}", "DRAFT");
|
||||
draft = draft.replace("{{DESCRIPTION}}", "This box will go away after the document is submitted.");
|
||||
return draft;
|
||||
|
|
@ -236,7 +236,7 @@ $.extend(_p, {
|
|||
*/
|
||||
show_archived: function(args) {
|
||||
if(args.doc && args.doc.__archived) {
|
||||
archived = _p.head_banner_format();
|
||||
var archived = _p.head_banner_format();
|
||||
archived = archived.replace("{{HEAD}}", "ARCHIVED");
|
||||
archived = archived.replace("{{DESCRIPTION}}", "You must restore this document to make it editable.");
|
||||
return archived;
|
||||
|
|
@ -252,7 +252,7 @@ $.extend(_p, {
|
|||
*/
|
||||
show_cancelled: function(args) {
|
||||
if(args.doc && args.doc.docstatus==2) {
|
||||
cancelled = _p.head_banner_format();
|
||||
var cancelled = _p.head_banner_format();
|
||||
cancelled = cancelled.replace("{{HEAD}}", "CANCELLED");
|
||||
cancelled = cancelled.replace("{{DESCRIPTION}}", "You must amend this document to make it editable.");
|
||||
return cancelled;
|
||||
|
|
@ -267,7 +267,7 @@ $.extend(_p, {
|
|||
var body_style = '';
|
||||
var style_list = container.getElementsByTagName('style');
|
||||
while(style_list && style_list.length>0) {
|
||||
for(i in style_list) {
|
||||
for(var i in style_list) {
|
||||
if(style_list[i] && style_list[i].innerHTML) {
|
||||
body_style += style_list[i].innerHTML;
|
||||
var parent = style_list[i].parentNode;
|
||||
|
|
@ -282,7 +282,7 @@ $.extend(_p, {
|
|||
}
|
||||
|
||||
// Concatenate all styles
|
||||
style_concat = (args.only_body ? '' : _p.def_print_style_body)
|
||||
var style_concat = (args.only_body ? '' : _p.def_print_style_body)
|
||||
+ _p.def_print_style_other + args.style + body_style;
|
||||
|
||||
return style_concat;
|
||||
|
|
@ -609,7 +609,7 @@ $.extend(_p, {
|
|||
return html;
|
||||
},
|
||||
|
||||
add_layout: function(doctype) {
|
||||
add_layout: function(doctype) {v
|
||||
var layout = new Layout();
|
||||
layout.addrow();
|
||||
|
||||
|
|
@ -625,7 +625,7 @@ $.extend(_p, {
|
|||
// If only one table is passed
|
||||
layout.cur_cell.appendChild(t);
|
||||
} else {
|
||||
page_break = '\n\
|
||||
var page_break = '\n\
|
||||
<div style = "page-break-after: always;" \
|
||||
class = "page_break"></div><div class="page-settings"></div>';
|
||||
|
||||
|
|
@ -662,7 +662,7 @@ $.extend(_p, {
|
|||
// If value or a numeric type then proceed
|
||||
|
||||
// Add field table
|
||||
row = _p.field_tab(layout.cur_cell);
|
||||
var row = _p.field_tab(layout.cur_cell);
|
||||
|
||||
// Add label
|
||||
row.cells[0].innerHTML = __(f.label ? f.label : f.fieldname);
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ frappe.printTable = Class.extend({
|
|||
// get from doctype and redistribute to fit 100%
|
||||
if(!this.widths) {
|
||||
this.widths = $.map(this.columns, function(fieldname, ci) {
|
||||
df = frappe.meta.docfield_map[me.tabletype][fieldname];
|
||||
var df = frappe.meta.docfield_map[me.tabletype][fieldname];
|
||||
return df && df.print_width || (fieldname=="Sr" ? 30 : 80);
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -8,13 +8,13 @@ frappe.ready(function() {
|
|||
var message = $('[name="message"]').val();
|
||||
|
||||
if(!(email && message)) {
|
||||
msgprint(__("Please enter both your email and message so that we \
|
||||
frappe.msgprint(__("Please enter both your email and message so that we \
|
||||
can get back to you. Thanks!"));
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!valid_email(email)) {
|
||||
msgprint(__("You seem to have written your name instead of your email. \
|
||||
if(!validate_email(email)) {
|
||||
frappe.msgprint(__("You seem to have written your name instead of your email. \
|
||||
Please enter a valid email address so that we can get back."));
|
||||
$('[name="email"]').focus();
|
||||
return false;
|
||||
|
|
@ -27,9 +27,9 @@ frappe.ready(function() {
|
|||
message: message,
|
||||
callback: function(r) {
|
||||
if(r.message==="okay") {
|
||||
msgprint(__("Thank you for your message"));
|
||||
frappe.msgprint(__("Thank you for your message"));
|
||||
} else {
|
||||
msgprint(__("There were errors"));
|
||||
frappe.msgprint(__("There were errors"));
|
||||
console.log(r.exc);
|
||||
}
|
||||
$(':input').val('');
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
// doctype:"Website Settings"
|
||||
// },
|
||||
// callback: function(r) {
|
||||
// if(!r.exc) { msgprint(__("Exported")); }
|
||||
// if(!r.exc) { frappe.msgprint(__("Exported")); }
|
||||
// }
|
||||
// })
|
||||
// })
|
||||
|
|
@ -81,7 +81,7 @@ $.extend(cur_frm.cscript, {
|
|||
|
||||
cur_frm.cscript.set_banner_from_image = function(doc) {
|
||||
if(!doc.banner_image) {
|
||||
msgprint(__("Select a Brand Image first."));
|
||||
frappe.msgprint(__("Select a Brand Image first."));
|
||||
}
|
||||
var src = doc.banner_image;
|
||||
cur_frm.set_value("brand_html", "<img src='"+ src
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue