def on_trash(self): if frappe.local.session['user'] == "Administrator": file_path = self.jasper_report_path if os.path.exists(file_path): root_path = file_path.rsplit("/",1) remove_directory(root_path[0]) return True raise frappe.PermissionError(_("You are not allowed to remove this document."))
def clear_all_jasper_reports(force=True): deleted = force compiled_removed = 0 emailed_removed = 0 #to every intern_reqid is one local_report_ or from server?(to check) tabReqids = frappe.db.sql("select * from tabJasperReqids where reqid like 'intern_reqid_%'", as_dict=True) import ast from jasper_erpnext_report.utils.jasper_email import get_email_pdf_path for m in tabReqids: d = m.get('data') req = ast.literal_eval(d) reqId = req.get("reqids")[0][0] data = jaspersession_get_value(reqId) if not force: deleted = _f(data) if deleted: if "local_report_" not in reqId: continue intern_reqid = m.get("reqid") try: if not data: d = frappe.db.sql("select * from tabJasperReqids where reqid='{0}'".format(reqId), as_dict=True) data = ast.literal_eval(d[0]['data']) file_path = data.get('result').get("uri").rsplit("/",1) compiled_path = file_path[0] remove_directory(compiled_path) compiled_removed += 1 #if this report was not sent by email then remove it from assets/jasper_erpnext_report/reports/ urlemails = frappe.db.sql("""select count(*) from `tabJasper Email Report` where jasper_report_path like '%{0}%'""".format(intern_reqid)) if urlemails[0][0] == 0: report_name = data.get("report_name").get("data").get("report_name") site = req.get("site") path = get_email_pdf_path(report_name, intern_reqid, site) remove_directory(path) emailed_removed += 1 except: print _("Path does not exist!") frappe.cache().delete_value("jasper:" + reqId) frappe.cache().delete_value("jasper:" + intern_reqid) frappe.db.sql("""delete from tabJasperReqids where reqid in ('%s', '%s')"""%(reqId, intern_reqid)) frappe.db.commit() if compiled_removed > 0: print _("Was removed {0} file(s) from compiled path and {1} file(s) from reports path (emailed only).".format(compiled_removed, emailed_removed)) else: #print _("No file was removed.") print "No file was removed."
def on_trash(self): if frappe.local.session['user'] == "Administrator": file_path = self.jasper_report_path if os.path.exists(file_path): root_path = file_path.rsplit("/", 1) remove_directory(root_path[0]) return True raise frappe.PermissionError( _("You are not allowed to remove this document."))
def clear_all_jasper_reports(force=True): deleted = force compiled_removed = 0 emailed_removed = 0 #to every intern_reqid is one local_report_ or from server?(to check) tabReqids = frappe.db.sql( "select * from tabJasperReqids where reqid like 'intern_reqid_%'", as_dict=True) import ast from jasper_erpnext_report.utils.jasper_email import get_email_pdf_path for m in tabReqids: d = m.get('data') req = ast.literal_eval(d) reqId = req.get("reqids")[0][0] data = jaspersession_get_value(reqId) if not force: deleted = _f(data) if deleted: if "local_report_" not in reqId: continue intern_reqid = m.get("reqid") try: if not data: d = frappe.db.sql( "select * from tabJasperReqids where reqid='{0}'". format(reqId), as_dict=True) data = ast.literal_eval(d[0]['data']) file_path = data.get('result').get("uri").rsplit("/", 1) compiled_path = file_path[0] remove_directory(compiled_path) compiled_removed += 1 #if this report was not sent by email then remove it from assets/jasper_erpnext_report/reports/ urlemails = frappe.db.sql( """select count(*) from `tabJasper Email Report` where jasper_report_path like '%{0}%'""" .format(intern_reqid)) if urlemails[0][0] == 0: report_name = data.get("report_name").get("data").get( "report_name") site = req.get("site") path = get_email_pdf_path(report_name, intern_reqid, site) remove_directory(path) emailed_removed += 1 except: print _("Path does not exist!") frappe.cache().delete_value("jasper:" + reqId) frappe.cache().delete_value("jasper:" + intern_reqid) frappe.db.sql( """delete from tabJasperReqids where reqid in ('%s', '%s')""" % (reqId, intern_reqid)) frappe.db.commit() if compiled_removed > 0: print _( "Was removed {0} file(s) from compiled path and {1} file(s) from reports path (emailed only)." .format(compiled_removed, emailed_removed)) else: #print _("No file was removed.") print "No file was removed."