diff --git a/frappe/core/doctype/role/role.js b/frappe/core/doctype/role/role.js index 36fc9f2796..f6664527f5 100644 --- a/frappe/core/doctype/role/role.js +++ b/frappe/core/doctype/role/role.js @@ -1,10 +1,9 @@ // Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors -// MIT License. See license.txt +// MIT License. See license.txt cur_frm.cscript.refresh = function(doc) { cur_frm.permission_manager = cur_frm.add_custom_button("Role Permissions Manager", function() { frappe.route_options = {"role": doc.name}; frappe.set_route("permission-manager"); }); - cur_frm.set_intro(''+__('Edit Permissions') + ''); } diff --git a/frappe/public/css/form.css b/frappe/public/css/form.css index 0c293f26d4..eacd8f529a 100644 --- a/frappe/public/css/form.css +++ b/frappe/public/css/form.css @@ -27,6 +27,9 @@ .form-page.second-page { border-top: 1px solid #d1d8dd; } +.form-message { + padding: 15px; +} .form-dashboard { border-bottom: 1px solid #EBEFF2; } @@ -41,6 +44,9 @@ .form-heatmap { padding-top: 30px; } +.form-heatmap .heatmap-message { + margin-top: 10px; +} .inline-graph .inline-graph-half { width: 48%; display: inline-block; @@ -88,25 +94,32 @@ padding-bottom: 15px; } .form-links .document-link { - margin-bottom: 10px; + margin-bottom: 5px; height: 22px; - position: relative; } .form-links .count { - position: absolute; - left: -20px; - top: 3px; display: inline-block; + margin-left: 5px; + margin-right: 5px; } .form-section { margin: 0px; padding: 15px; } +.form-section h6, +.form-section .h6 { + font-size: 11px; + letter-spacing: 0.4px; +} .form-section .form-section-heading { - margin: 0px 0px 10px 0px; + margin: 10px 0px; + text-transform: uppercase; + color: #8D99A6; } .form-section .section-head { margin: 0px 0px 15px 15px; + text-transform: uppercase; + color: #8D99A6; cursor: pointer; } .form-section .section-head .collapse-indicator { diff --git a/frappe/public/js/frappe/form/control.js b/frappe/public/js/frappe/form/control.js index ded641a8a0..bf041eb30e 100644 --- a/frappe/public/js/frappe/form/control.js +++ b/frappe/public/js/frappe/form/control.js @@ -201,8 +201,10 @@ frappe.ui.form.ControlInput = frappe.ui.form.Control.extend({ this.$wrapper = $('
').appendTo(this.parent); } else { this.$wrapper = $('
\ -
\ - \ +
\ +
\ + \ +
\
\
\ \ @@ -485,11 +487,16 @@ frappe.ui.form.ControlPassword = frappe.ui.form.ControlData.extend({ }); frappe.ui.form.ControlInt = frappe.ui.form.ControlData.extend({ + make: function() { + this._super(); + // $(this.label_area).addClass('pull-right'); + // $(this.disp_area).addClass('text-right'); + }, make_input: function() { var me = this; this._super(); this.$input - .addClass("text-right") + // .addClass("text-right") .on("focus", function() { setTimeout(function() { if(!document.activeElement) return; diff --git a/frappe/public/js/frappe/form/dashboard.js b/frappe/public/js/frappe/form/dashboard.js index 151591648f..e385ef7141 100644 --- a/frappe/public/js/frappe/form/dashboard.js +++ b/frappe/public/js/frappe/form/dashboard.js @@ -28,6 +28,9 @@ frappe.ui.form.Dashboard = Class.extend({ // clear stats this.stats_area.empty().addClass('hidden'); + + // clear custom + this.wrapper.find('.custom').remove(); }, set_headline: function(html) { this.headline.html(html).removeClass('hidden'); @@ -50,6 +53,10 @@ frappe.ui.form.Dashboard = Class.extend({ } }, + add_section: function(html) { + return $('
'+html+'
').appendTo(this.wrapper); + }, + add_progress: function(title, percent, message) { var progress_chart = this.make_progress_chart(title); @@ -101,7 +108,7 @@ frappe.ui.form.Dashboard = Class.extend({ } this.render_links(); this.set_open_count(); - this.show_heatmap(); + this.render_heatmap(); }, filter_permissions: function() { // filter out transactions for which the user @@ -178,7 +185,7 @@ frappe.ui.form.Dashboard = Class.extend({ name: this.frm.doc.name, }, callback: function(r) { - me.heatmap.update(r.message.timeline_data); + me.heatmap && me.heatmap.update(r.message.timeline_data); $.each(r.message.count, function(i, d) { me.frm.dashboard.set_badge_count(d.name, cint(d.open_count), cint(d.count)); }); @@ -206,8 +213,8 @@ frappe.ui.form.Dashboard = Class.extend({ }, // heatmap - show_heatmap: function() { - if(!this.heatmap) { + render_heatmap: function() { + if(this.show_heatmap && !this.heatmap) { this.heatmap = new CalHeatMap(); this.heatmap.init({ itemSelector: "#heatmap-" + this.frm.doctype, @@ -228,7 +235,15 @@ frappe.ui.form.Dashboard = Class.extend({ // center the heatmap this.heatmap_area.removeClass('hidden').find('svg').css({'margin': 'auto'}); - } + + // message + var heatmap_message = this.heatmap_area.find('.heatmap-message'); + if(this.heatmap_message) { + heatmap_message.removeClass('hidden').html(this.heatmap_message); + } else { + heatmap_message.addClass('hidden'); + } + } }, // stats diff --git a/frappe/public/js/frappe/form/footer/assign_to.js b/frappe/public/js/frappe/form/footer/assign_to.js index e14f7fb0ae..b4155142ba 100644 --- a/frappe/public/js/frappe/form/footer/assign_to.js +++ b/frappe/public/js/frappe/form/footer/assign_to.js @@ -156,7 +156,7 @@ frappe.ui.to_do_dialog = function(opts){ {fieldtype:'Check', fieldname:'myself', label:__("Assign to me"), "default":0}, {fieldtype: 'Section Break'}, {fieldtype: 'Link', fieldname:'assign_to', options:'User', - label:__("Assign To"), reqd:true}, + label:__("Assign To"), reqd:true, filters: {'user_type': 'System User'}}, {fieldtype:'Small Text', fieldname:'description', label:__("Comment"), reqd:true}, {fieldtype: 'Section Break'}, {fieldtype: 'Column Break'}, diff --git a/frappe/public/js/frappe/form/layout.js b/frappe/public/js/frappe/form/layout.js index d55fbdc0e0..665c0b5aad 100644 --- a/frappe/public/js/frappe/form/layout.js +++ b/frappe/public/js/frappe/form/layout.js @@ -22,17 +22,27 @@ frappe.ui.form.Layout = Class.extend({ if(!this.parent && this.body) this.parent = this.body; this.wrapper = $('
').appendTo(this.parent); + this.message = $('').appendTo(this.wrapper); if(!this.fields) this.fields = frappe.meta.sort_docfields(frappe.meta.docfield_map[this.doctype]); this.setup_tabbing(); this.render(); }, show_empty_form_message: function() { - this.wrapper.find(".empty-form-alert").remove(); if(!(this.wrapper.find(".frappe-control:visible").length || this.wrapper.find(".section-head.collapsed").length)) { - $('
' - +__("This form does not have any input")+'
') - .appendTo(this.page); + this.show_message(__("This form does not have any input")); + } + }, + show_message: function(html) { + if(html) { + if(html.substr(0, 1)!=='<') { + // wrap in a block + html = '
' + html + '
'; + } + console.log(html); + $(html).appendTo(this.message.removeClass('hidden')); + } else { + this.message.empty().addClass('hidden'); } }, render: function() { @@ -451,8 +461,8 @@ frappe.ui.form.Section = Class.extend({ make_head: function() { var me = this; if(!this.df.collapsible) { - $('

' - + __(this.df.label) + '

') + $('
' + + __(this.df.label) + '
') .appendTo(this.wrapper); } else { this.head = $('
' diff --git a/frappe/public/js/frappe/form/templates/form_dashboard.html b/frappe/public/js/frappe/form/templates/form_dashboard.html index d03b346771..d29418f11c 100644 --- a/frappe/public/js/frappe/form/templates/form_dashboard.html +++ b/frappe/public/js/frappe/form/templates/form_dashboard.html @@ -3,8 +3,10 @@ - +