diff --git a/frappe/public/js/frappe/form/sidebar/share.js b/frappe/public/js/frappe/form/sidebar/share.js index f7ab619a86..44dcb2aaca 100644 --- a/frappe/public/js/frappe/form/sidebar/share.js +++ b/frappe/public/js/frappe/form/sidebar/share.js @@ -240,6 +240,7 @@ frappe.ui.form.Share = class Share { fieldtype: "Table", data: document_links, read_only: 1, + hidden: 1, fields: [{ fieldname: "key", label: __("Key"), @@ -252,8 +253,14 @@ frappe.ui.form.Share = class Share { fieldtype: "Date", in_list_view: true }] + }, { + fieldname: "links", + label: __("Previous Links"), + fieldtype: "HTML", + options: `
Links
`, }], }); + share_modal.show(); } }; diff --git a/frappe/utils/print_format.py b/frappe/utils/print_format.py index b41fedf201..da2d5e4893 100644 --- a/frappe/utils/print_format.py +++ b/frappe/utils/print_format.py @@ -92,7 +92,19 @@ def read_multi_pdf(output): def download_pdf(doctype, name, format=None, doc=None, no_letterhead=0): doc = frappe.get_doc(doctype, name) doc.doctype = doctype - validate_print_permission(doc) + try: + validate_print_permission(doc) + except frappe.exceptions.LinkExpiredError: + frappe.local.response.http_status_code = 410 + frappe.local.response = frappe.get_template("templates/print_format/print_key_invalid.html").render({}) + return + except frappe.exceptions.InvalidKey: + frappe.local.response.type = "page" + frappe.local.response.message = frappe.get_template("templates/print_format/print_key_invalid.html").render({}) + frappe.local.response.http_status_code = 401 + # frappe.local.response.route = "/api/method/frappe.utils.print_format.download_pdf" + return + html = frappe.get_print(doctype, name, format, doc=doc, no_letterhead=no_letterhead) frappe.local.response.filename = "{name}.pdf".format(name=name.replace(" ", "-").replace("/", "-")) frappe.local.response.filecontent = get_pdf(html)