From 30ee228b4a1475b3847c6b74ee76bfaaec8c9eb2 Mon Sep 17 00:00:00 2001 From: rohitwaghchaure Date: Mon, 12 Nov 2018 11:08:18 +0530 Subject: [PATCH] Code cleanup and fixed print permission error (#6377) --- .../doctype/print_settings/print_settings.py | 9 ++++ frappe/public/js/frappe/form/print.js | 42 +++++++------------ 2 files changed, 25 insertions(+), 26 deletions(-) diff --git a/frappe/printing/doctype/print_settings/print_settings.py b/frappe/printing/doctype/print_settings/print_settings.py index cf845eb42e..8043130358 100644 --- a/frappe/printing/doctype/print_settings/print_settings.py +++ b/frappe/printing/doctype/print_settings/print_settings.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals import frappe from frappe import _ +from frappe.utils import cint from frappe.model.document import Document @@ -31,3 +32,11 @@ class PrintSettings(Document): except ValidationError: frappe.throw(_("Failed to connect to server")) return printer_list + +@frappe.whitelist() +def is_print_server_enabled(): + if not hasattr(frappe.local, 'enable_print_server'): + frappe.local.enable_print_server = cint(frappe.db.get_single_value('Print Settings', + 'enable_print_server')) + + return frappe.local.enable_print_server diff --git a/frappe/public/js/frappe/form/print.js b/frappe/public/js/frappe/form/print.js index 3847801cd0..aa6be540ab 100644 --- a/frappe/public/js/frappe/form/print.js +++ b/frappe/public/js/frappe/form/print.js @@ -158,35 +158,25 @@ frappe.ui.form.PrintPreview = Class.extend({ let print_server ; var me = this; frappe.call({ - async: false, - "method": "frappe.client.get", - args: { - doctype: "Print Settings", - name: "enable_print_server" - }, + method: "frappe.printing.doctype.print_settings.print_settings.is_print_server_enabled", callback: function (data) { - print_server = data.message.enable_print_server; + if (data.message) { + frappe.call({ + "method": "frappe.utils.print_format.print_by_server", + args: { + doctype: me.frm.doc.doctype, + name: me.frm.doc.name, + print_format: me.selected_format(), + no_letterhead: me.with_letterhead() + }, + callback: function (data) { + } + }); + } else { + me.new_page_preview(true); + } } }); - - if(print_server){ - frappe.call({ - async: false, - "method": "frappe.utils.print_format.print_by_server", - args: { - doctype: me.frm.doc.doctype, - name: me.frm.doc.name, - print_format: me.selected_format(), - no_letterhead: me.with_letterhead() - }, - callback: function (data) { - } - }); - - }else{ - this.new_page_preview(true); - } - }, new_page_preview: function (printit) { var me = this;