def on_update(self, method=None): #if we are importing docs from jasperserver if not frappe.flags.in_import: r_filters = [ "`tabJasper Reports`.jasper_doctype is NULL", "`tabJasper Reports`.report is NULL" ] jr = JasperRoot() data = jr._get_reports_list(filters_report=r_filters) #report_list_dirt_doc is not called from here cached = redis_transation(data, "report_list_all") if cached and data: jaspersession_set_value("report_list_dirt_all", False) jaspersession_set_value("report_list_dirt_doc", True) elif data: #redis not cache jaspersession_set_value("report_list_dirt_doc", True) jaspersession_set_value("report_list_dirt_all", True) if check_root_exists(self.doctype, self.name): return #if jrxml file was removed then remove all associated images and params if self.jasper_report_origin.lower() == "localserver": frappe.db.sql("""delete from `tab%s` where %s=%s """ % ("Jasper Parameter", "parent", '%s'), (self.name), auto_commit=1) self.query = ""
def on_update(self, method=None): #if we are importing docs from jasperserver if not frappe.flags.in_import: r_filters=["`tabJasper Reports`.jasper_doctype is NULL", "`tabJasper Reports`.report is NULL"] jr = JasperRoot() data = jr._get_reports_list(filters_report=r_filters) #report_list_dirt_doc is not called from here cached = redis_transation(data, "report_list_all") if cached and data: jaspersession_set_value("report_list_dirt_all", False) jaspersession_set_value("report_list_dirt_doc", True) elif data: #redis not cache jaspersession_set_value("report_list_dirt_doc", True) jaspersession_set_value("report_list_dirt_all", True) if check_root_exists(self.doctype, self.name): return #if jrxml file was removed then remove all associated images and params if self.jasper_report_origin.lower() == "localserver": frappe.db.sql("""delete from `tab%s` where %s=%s """ % ("Jasper Parameter", "parent", '%s'),(self.name), auto_commit=1) self.query = ""
def get_reports_list(self, doctype, docnames, report): if not doctype and not report: frappe.throw( _("You need to provide the doctype name or the report name.")) if docnames: docnames = json.loads(docnames) else: docnames = [] new_data = {'size': 0} if frappe.local.session['sid'] == 'Guest': return None data = {} dirt = utils.jaspersession_get_value("report_list_dirt_doc") if not dirt: data = utils.get_jasper_session_data_from_cache( "report_list_doctype") if not data or not self.check_docname(data, doctype, report): if doctype: r_filters = {"jasper_doctype": doctype} else: r_filters = {"report": report} update = False if not data else True ldata = self._get_reports_list(filters_report=r_filters, cachename="report_list_doctype", update=update) cached = redis_transation(ldata, "report_list_doctype") if ldata: data = ldata.get("data", None) if cached and data and dirt: utils.jaspersession_set_value("report_list_dirt_doc", False) if data and self.check_docname(data, doctype, report): data.pop('session_expiry', None) data.pop('last_updated', None) new_data = self.doc_filter_perm_roles(doctype or report, data, docnames) if not self.check_server_status(): self.remove_server_docs(new_data) return new_data
def get_reports_list_for_all(self): if self.sid == 'Guest': return None data = {} dirt = utils.jaspersession_get_value("report_list_dirt_all") or False #dirt if redis not cache if not dirt: data = utils.get_jasper_session_data_from_cache("report_list_all") #if for some reason there is no cache get it from db if not data: r_filters = [ "`tabJasper Reports`.jasper_doctype is NULL", "`tabJasper Reports`.report is NULL" ] ldata = self._get_reports_list(filters_report=r_filters) cached = redis_transation(ldata, "report_list_all") if ldata: data = ldata.get("data", None) if cached and data: utils.jaspersession_set_value("report_list_dirt_all", False) if data: data.pop('session_expiry', None) data.pop('last_updated', None) self.filter_perm_roles(data) if not self.check_server_status(): self.remove_server_docs(data) try: version = utils.getFrappeVersion().major if version >= 5: from jasper_erpnext_report.utils.jasper_email import is_email_enabled acc = cint(is_email_enabled()) else: acc = cint( frappe.db.get_single_value("Outgoing Email Settings", "enabled")) data['mail_enabled'] = acc except: data['mail_enabled'] = "disabled" return data
def jasper_server_login(doc): doc = json.loads(doc) jsr = jasper_session_obj or Jr.JasperRoot(doc) checkJasperRestLib() login = jsr.login() #get the list of reports on the server r_filters=["`tabJasper Reports`.jasper_doctype is NULL", "`tabJasper Reports`.report is NULL"] data = jsr._get_reports_list(filters_report=r_filters) cached = redis_transation(data, "report_list_all") if cached and data: jaspersession_set_value("report_list_dirt_doc", True) jaspersession_set_value("report_list_dirt_all", False) elif data: #redis not cache jaspersession_set_value("report_list_dirt_all", True) jaspersession_set_value("report_list_dirt_doc", True) return login
def jasper_server_login(doc): doc = json.loads(doc) jsr = jasper_session_obj or Jr.JasperRoot(doc) checkJasperRestLib() login = jsr.login() #get the list of reports on the server #r_filters=["`tabJasper Reports`.jasper_doctype is NULL", "`tabJasper Reports`.report is NULL"] r_filters = {"jasper_doctype": "", "report": ""} data = jsr._get_reports_list(filters_report=r_filters) cached = redis_transation(data, "report_list_all") if cached and data: jaspersession_set_value("report_list_dirt_doc", True) jaspersession_set_value("report_list_dirt_all", False) elif data: #redis not cache jaspersession_set_value("report_list_dirt_all", True) jaspersession_set_value("report_list_dirt_doc", True) return login
def get_reports_list_for_all(self): if self.sid == 'Guest': return None data = {} dirt = utils.jaspersession_get_value("report_list_dirt_all") or False #dirt if redis not cache if not dirt: data = utils.get_jasper_session_data_from_cache("report_list_all") #if for some reason there is no cache get it from db if not data: r_filters=["`tabJasper Reports`.jasper_doctype is NULL", "`tabJasper Reports`.report is NULL"] ldata = self._get_reports_list(filters_report=r_filters) cached = redis_transation(ldata, "report_list_all") if ldata: data = ldata.get("data", None) if cached and data: utils.jaspersession_set_value("report_list_dirt_all", False) if data: data.pop('session_expiry', None) data.pop('last_updated', None) self.filter_perm_roles(data) if not self.check_server_status(): self.remove_server_docs(data) try: version = utils.getFrappeVersion().major if version >= 5: from jasper_erpnext_report.utils.jasper_email import is_email_enabled acc = cint(is_email_enabled()) else: acc = cint(frappe.db.get_single_value("Outgoing Email Settings", "enabled")) data['mail_enabled'] = acc except: data['mail_enabled'] = "disabled" return data
def get_reports_list(self, doctype, docnames, report): if not doctype and not report: frappe.throw(_("You need to provide the doctype name or the report name.")) if docnames: docnames = json.loads(docnames) else: docnames = [] new_data = {'size': 0} if frappe.local.session['sid'] == 'Guest': return None data = {} dirt = utils.jaspersession_get_value("report_list_dirt_doc") if not dirt: data = utils.get_jasper_session_data_from_cache("report_list_doctype") if not data or not self.check_docname(data, doctype, report): if doctype: r_filters={"jasper_doctype": doctype} else: r_filters={"report": report} update = False if not data else True ldata = self._get_reports_list(filters_report=r_filters, cachename="report_list_doctype", update=update) cached = redis_transation(ldata, "report_list_doctype") if ldata: data = ldata.get("data", None) if cached and data and dirt: utils.jaspersession_set_value("report_list_dirt_doc", False) if data and self.check_docname(data, doctype, report): data.pop('session_expiry',None) data.pop('last_updated', None) new_data = self.doc_filter_perm_roles(doctype or report, data, docnames) if not self.check_server_status(): self.remove_server_docs(new_data) return new_data