From 6c79e85e8cf27e78f031f70eecdb53fc98ed5c94 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Sat, 12 Apr 2014 12:40:29 +0530 Subject: [PATCH] fixes to reportview and mapper --- frappe/core/doctype/user/user.js | 50 ++++++------ frappe/core/page/desktop/desktop.css | 7 +- frappe/model/base_document.py | 3 + frappe/public/js/frappe/dom.js | 34 ++++---- frappe/public/js/frappe/model/create_new.js | 4 +- frappe/public/js/frappe/model/model.js | 6 +- frappe/public/js/frappe/model/sync.js | 18 +++-- frappe/public/js/frappe/views/query_report.js | 77 ++++++++++--------- 8 files changed, 105 insertions(+), 94 deletions(-) diff --git a/frappe/core/doctype/user/user.js b/frappe/core/doctype/user/user.js index a611a4d122..3c5464d5e3 100644 --- a/frappe/core/doctype/user/user.js +++ b/frappe/core/doctype/user/user.js @@ -38,7 +38,7 @@ cur_frm.cscript.refresh = function(doc) { msgprint("Refreshing..."); window.location.reload(); } - + cur_frm.toggle_display('change_password', !doc.__islocal); cur_frm.toggle_display(['sb1', 'sb3'], false); @@ -55,9 +55,9 @@ cur_frm.cscript.refresh = function(doc) { cur_frm.toggle_display(['sb1', 'sb3'], true); } cur_frm.cscript.enabled(doc); - + cur_frm.roles_editor && cur_frm.roles_editor.show(); - + if(user==doc.name) { // update display settings if(doc.background_image) { @@ -72,11 +72,11 @@ cur_frm.cscript.refresh = function(doc) { cur_frm.cscript.enabled = function(doc) { if(!doc.__islocal && has_common(user_roles, ["Administrator", "System Manager"])) { - cur_frm.toggle_display(['sb1', 'sb3'], doc.enabled); + cur_frm.toggle_display(['sb1', 'sb3'], doc.enabled); cur_frm.toggle_enable('*', doc.enabled); cur_frm.set_df_property('enabled', 'read_only', 0); } - + if(user!="Administrator") { cur_frm.toggle_enable('email', doc.__islocal); } @@ -98,8 +98,8 @@ frappe.RoleEditor = Class.extend({ callback: function(r) { me.roles = r.message; me.show_roles(); - - // refresh call could've already happened + + // refresh call could've already happened // when all role checkboxes weren't created if(cur_frm.doc) { cur_frm.roles_editor.show(); @@ -127,14 +127,14 @@ frappe.RoleEditor = Class.extend({ } }); }); - - for(var i in this.roles) { + + $.each(this.roles, function(i, role) { $(this.wrapper).append(repl('
\ \ %(role)s\ -
', {role: this.roles[i]})); - } + ', {role: role})); + }) $(this.wrapper).find('input[type="checkbox"]').change(function() { cur_frm.dirty(); }); @@ -145,11 +145,11 @@ frappe.RoleEditor = Class.extend({ }, show: function() { var me = this; - + // uncheck all roles $(this.wrapper).find('input[type="checkbox"]') .each(function(i, checkbox) { checkbox.checked = false; }); - + // set user roles as checked $.each((cur_frm.doc.user_roles || []), function(i, user_role) { var checkbox = $(me.wrapper) @@ -161,19 +161,19 @@ frappe.RoleEditor = Class.extend({ var opts = this.get_roles(); var existing_roles_map = {}; var existing_roles_list = []; - - $.each((cur_frm.doc.user_roles || []), function(i, user_role) { + + $.each((cur_frm.doc.user_roles || []), function(i, user_role) { existing_roles_map[user_role.role] = user_role.name; existing_roles_list.push(user_role.role); }); - + // remove unchecked roles $.each(opts.unchecked_roles, function(i, role) { if(existing_roles_list.indexOf(role)!=-1) { frappe.model.clear_doc("UserRole", existing_roles_map[role]); } }); - + // add new roles that are checked $.each(opts.checked_roles, function(i, role) { if(existing_roles_list.indexOf(role)==-1) { @@ -181,7 +181,7 @@ frappe.RoleEditor = Class.extend({ user_role.role = role; } }); - + refresh_field("user_roles"); }, get_roles: function() { @@ -194,7 +194,7 @@ frappe.RoleEditor = Class.extend({ unchecked_roles.push($(this).attr('data-user-role')); } }); - + return { checked_roles: checked_roles, unchecked_roles: unchecked_roles @@ -221,7 +221,7 @@ frappe.RoleEditor = Class.extend({ Amend'); for(var i in r.message) { var perm = r.message[i]; - + // if permission -> icon for(key in perm) { if(key!='parent' && key!='permlevel') { @@ -229,10 +229,10 @@ frappe.RoleEditor = Class.extend({ perm[key] = ''; } else { perm[key] = ''; - } + } } } - + $body.find('tbody').append(repl('\ %(parent)s\ %(permlevel)s\ @@ -243,11 +243,11 @@ frappe.RoleEditor = Class.extend({ %(amend)s\ ', perm)) } - + me.perm_dialog.show(); } }); - + }, make_perm_dialog: function() { this.perm_dialog = new frappe.ui.Dialog({ @@ -255,4 +255,4 @@ frappe.RoleEditor = Class.extend({ width: 500 }); } -}); \ No newline at end of file +}); diff --git a/frappe/core/page/desktop/desktop.css b/frappe/core/page/desktop/desktop.css index 7c3e2ab08c..710882b873 100644 --- a/frappe/core/page/desktop/desktop.css +++ b/frappe/core/page/desktop/desktop.css @@ -1,5 +1,5 @@ #icon-grid { - padding-bottom: 30px; + padding-bottom: 30px; } .case-wrapper { @@ -12,7 +12,8 @@ .case-label { color: white; - padding-top: 5px; + font-size: 90%; + line-height: 1.1; text-align: center; text-shadow: 1px 1px 3px rgba(0, 0, 0, 1), 0px 3px 15px rgba(0, 0, 0, 0.5); } @@ -76,4 +77,4 @@ padding-top: 14px; padding-bottom: 50px; margin-bottom: -50px; -} \ No newline at end of file +} diff --git a/frappe/model/base_document.py b/frappe/model/base_document.py index 900a649150..b3cd5154ff 100644 --- a/frappe/model/base_document.py +++ b/frappe/model/base_document.py @@ -150,6 +150,9 @@ class BaseDocument(object): if doc[k] is None: del doc[k] + if self.get("__islocal"): + doc["__islocal"] = 1 + return doc def get_table_field_doctype(self, fieldname): diff --git a/frappe/public/js/frappe/dom.js b/frappe/public/js/frappe/dom.js index b0b6127845..3d2323244b 100644 --- a/frappe/public/js/frappe/dom.js +++ b/frappe/public/js/frappe/dom.js @@ -1,5 +1,5 @@ // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors -// MIT License. See license.txt +// MIT License. See license.txt // add a new dom element frappe.provide('frappe.dom'); @@ -33,7 +33,7 @@ frappe.dom = { } else { se.appendChild(document.createTextNode(txt)); } - document.getElementsByTagName('head')[0].appendChild(se); + document.getElementsByTagName('head')[0].appendChild(se); }, add: function(parent, newtag, className, cs, innerHTML, onclick) { if(parent && parent.substr)parent = frappe.dom.by_id(parent); @@ -46,17 +46,17 @@ frappe.dom = { if(newtag.toLowerCase()=='img') c.src = className else - c.className = className; + c.className = className; } if(cs) frappe.dom.css(c,cs); if(innerHTML) c.innerHTML = innerHTML; if(onclick) c.onclick = onclick; return c; }, - css: function(ele, s) { - if(ele && s) { - for(var i in s) ele.style[i]=s[i]; - }; + css: function(ele, s) { + if(ele && s) { + $.extend(ele.style, s); + }; return ele; }, freeze: function() { @@ -72,7 +72,7 @@ frappe.dom = { frappe.dom.freeze_count--; if(!frappe.dom.freeze_count) { $('#freeze').toggle(false); - } + } }, save_selection: function() { // via http://stackoverflow.com/questions/5605401/insert-link-in-contenteditable-element @@ -102,7 +102,7 @@ frappe.dom = { savedSel.select(); } } - } + } } frappe.get_modal = function(title, body_html) { @@ -119,7 +119,7 @@ frappe.get_modal = function(title, body_html) { \ \ ').appendTo(document.body); - + return modal; }; @@ -163,7 +163,7 @@ frappe.get_shade = function(color, factor) { } var get_int = function(hex) { - return parseInt(hex,16); + return parseInt(hex,16); } return get_hex(get_int(color.substr(0,2)) + factor) + get_hex(get_int(color.substr(2,2)) + factor) @@ -189,7 +189,7 @@ $.fn.gradientify = function(col) { if(!col) col = this.css("background-color"); var col1 = frappe.get_shade(col, 1.05); var col2 = frappe.get_shade(col, 0.95); - + this.css({ "background": "-moz-linear-gradient(top, #"+col1+" 0%, #"+col2+" 99%)" }); @@ -230,7 +230,7 @@ frappe.dom.set_box_shadow = function(ele, spread) { $(ele).css('-moz-box-shadow', '0px 0px '+ spread +'px rgba(0,0,0,0.3);') $(ele).css('-webkit-box-shadow', '0px 0px '+ spread +'px rgba(0,0,0,0.3);') $(ele).css('-box-shadow', '0px 0px '+ spread +'px rgba(0,0,0,0.3);') - + }; // add