Add proxy variables for removed globals

This commit is contained in:
Faris Ansari 2017-06-09 15:05:42 +05:30
parent e2de37b090
commit cd0aa8fa6a
6 changed files with 86 additions and 19 deletions

View file

@ -269,20 +269,56 @@ frappe.Application = Class.extend({
},
set_globals: function() {
console.warn('The global `user` has been deprecated. Please use `frappe.session.user` instead.');
frappe.session.user = frappe.boot.user.name;
frappe.session.user_email = frappe.boot.user.email;
frappe.session.user_fullname = frappe.user_info().fullname;
console.warn('The global `user_defaults` has been deprecated. Please use `frappe.user_roles` instead.');
frappe.user_defaults = frappe.boot.user.defaults;
console.warn('The global `roles` has been deprecated. Please use `frappe.user_roles` instead.');
frappe.user_roles = frappe.boot.user.roles;
console.warn('The global `sys_defaults` has been deprecated. Please use `frappe.sys_defaults` instead.');
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 = {};
// Proxy for user globals
Object.defineProperties(window, {
'user': {
get: function() {
console.warn('Please use `frappe.session.user` instead of `user`. It will be deprecated soon.');
return frappe.session.user;
}
},
'user_fullname': {
get: function() {
console.warn('Please use `frappe.session.user_fullname` instead of `user_fullname`. It will be deprecated soon.');
return frappe.session.user;
}
},
'user_email': {
get: function() {
console.warn('Please use `frappe.session.user_email` instead of `user_email`. It will be deprecated soon.');
return frappe.session.user_email;
}
},
'user_defaults': {
get: function() {
console.warn('Please use `frappe.user_defaults` instead of `user_defaults`. It will be deprecated soon.');
return frappe.user_defaults;
}
},
'roles': {
get: function() {
console.warn('Please use `frappe.user_roles` instead of `roles`. It will be deprecated soon.');
return frappe.user_roles;
}
},
'sys_defaults': {
get: function() {
console.warn('Please use `frappe.sys_defaults` instead of `sys_defaults`. It will be deprecated soon.');
return frappe.user_roles;
}
}
});
},
sync_pages: function() {
// clear cached pages if timestamp is not found

View file

@ -155,4 +155,18 @@ $.extend(frappe.datetime, {
});
console.warn('The globals `dateutil` and `get_today` are deprecated. Please use `frappe.datetime` instead.')
// Proxy for dateutil and get_today
Object.defineProperties(window, {
'dateutil': {
get: function() {
console.warn('Please use `frappe.datetime` instead of `dateutil`. It will be deprecated soon.');
return frappe.datetime;
}
},
'get_today': {
get: function() {
console.warn('Please use `frappe.datetime.get_today` instead of `get_today`. It will be deprecated soon.');
return frappe.datetime.get_today;
}
}
});

View file

@ -77,7 +77,6 @@ frappe.prompt = function(fields, callback, title, primary_label) {
return d;
}
console.warn('The globals `msgprint` and `show_alert` has been deprecated. Please use `frappe.msgprint` and `frappe.show_alert` instead.');
var msg_dialog=null;
frappe.msgprint = function(msg, title) {
if(!msg) return;
@ -176,6 +175,14 @@ frappe.msgprint = function(msg, title) {
return msg_dialog;
}
// Proxy for frappe.msgprint
Object.defineProperty(window, 'msgprint', {
get: function() {
console.warn('Please use `frappe.msgprint` instead of `msgprint`. It will be deprecated soon.');
return frappe.msgprint;
}
});
frappe.hide_msgprint = function(instant) {
// clear msgprint
if(msg_dialog && msg_dialog.msg_area) {
@ -286,3 +293,10 @@ frappe.show_alert = function(message, seconds=7) {
return div;
}
// Proxy for frappe.show_alert
Object.defineProperty(window, 'show_alert', {
get: function() {
console.warn('Please use `frappe.show_alert` instead of `show_alert`. It will be deprecated soon.');
return frappe.show_alert;
}
});

View file

@ -75,7 +75,6 @@ var crop = function(s, len) {
return s;
}
console.warn('The global `keys` has been deprecated. Please use `Object.keys` instead');
function has_words(list, item) {
if(!item) return true;

View file

@ -690,8 +690,20 @@ _f.Frm.prototype.reload_doc = function() {
}
}
console.warn('The global `validated` has been deprecated. Please use `frappe.validated` instead.');
frappe.validated = 0;
// Proxy for frappe.validated
Object.defineProperty(window, 'validated', {
get: function() {
console.warn('Please use `frappe.validated` instead of `validated`. It will be deprecated soon.');
return frappe.validated;
},
set: function(value) {
console.warn('Please use `frappe.validated` instead of `validated`. It will be deprecated soon.');
frappe.validated = value;
return frappe.validated;
}
});
_f.Frm.prototype.save = function(save_action, callback, btn, on_error) {
btn && $(btn).prop("disabled", true);
$(document.activeElement).blur();

View file

@ -7,8 +7,8 @@ frappe.provide('frappe.utils');
frappe.provide('frappe.model');
frappe.provide('frappe.user');
frappe.provide('frappe.session');
frappe.provide('locals')
frappe.provide('locals.DocType')
frappe.provide('locals');
frappe.provide('locals.DocType');
// for listviews
frappe.provide("frappe.listview_settings");
@ -23,14 +23,7 @@ var TAB = 9;
var UP_ARROW = 38;
var DOWN_ARROW = 40;
// user
var user=null;
var user=null;
var user_defaults=null;
var roles=null;
var user_fullname=null;
var user_email=null;
var user_img = {};
// proxy for user globals defined in desk.js
// Name Spaces
// ============
@ -39,7 +32,6 @@ var user_img = {};
var _f = {};
var _p = {};
var _r = {};
// var FILTER_SEP = '\1';
// API globals
var frms={};