def needs_user_man(self): maxversion = dbhelper.get_scalar( self, "SELECT MAX(version) FROM wiki WHERE name like %s", 0, user_manual_wiki_title) if (not maxversion) or maxversion < user_manual_version: return True return False
def needs_user_man(self): maxversion = dbhelper.get_scalar(self.env.get_db_cnx(), "SELECT MAX(version) FROM wiki WHERE name like %s", 0, user_manual_wiki_title) if (not maxversion) or maxversion < user_manual_version: return True return False
def do_reports_upgrade(self): print "Beginning Reports Upgrade" #make version hash _versions = dbhelper.get_result_set( self.env.get_db_cnx(), """ SELECT report as id, version, r.title as title FROM report_version JOIN report r ON r.Id = report_version.report """) versions = {} for (id, version, title) in _versions.rows: versions[title] = (id, version) biggestId = dbhelper.get_scalar( self.env.get_db_cnx(), "SELECT ID FROM report ORDER BY ID DESC LIMIT 1") def insert_report_version(id, ver): sql = "DELETE FROM report_version WHERE report = %s;" dbhelper.execute_non_query(self.env.get_db_cnx(), sql, id) sql = """ INSERT INTO report_version (report, version) VALUES (%s, %s);""" # print "about to insert report_version" dbhelper.execute_non_query(self.env.get_db_cnx(), sql, id, ver) # print "inserted report_version" for report_group in all_reports: rlist = report_group["reports"] for report in rlist: title = report["title"] new_version = report["version"] report_id = [ rid for (rid, map_title) in self.reportmap if map_title == title ] if not report_id: bit = True sql = """INSERT INTO report (id,author,title,query,description) VALUES (%s,'Timing and Estimation Plugin',%s,%s,'') """ biggestId += 1 dbhelper.execute_non_query(self.env.get_db_cnx(), sql, biggestId, title, report["sql"]) insert_report_version(biggestId, new_version) report["reportnumber"] = biggestId self.reportmap.extend([(biggestId, title)]) else: report_id = report_id[0] report["reportnumber"] = report_id # If we had a report make sure its at the correct version if versions.has_key(title): (_, ver) = versions[title] else: ver = 0 if not ver: sql = """ UPDATE report SET query=%s WHERE id = %s """ print "updating report: %s" % title dbhelper.execute_non_query(self.env.get_db_cnx(), sql, report["sql"], report_id) insert_report_version(report_id, new_version) elif ver < new_version: sql = """ UPDATE report SET query=%s WHERE id = %s """ print "updating report to new version: %s" % title dbhelper.execute_non_query(self.env.get_db_cnx(), sql, report["sql"], report_id) sql = """ UPDATE report_version SET version = %s WHERE report = %s """ dbhelper.execute_non_query(self.env.get_db_cnx(), sql, new_version, report_id)
def getTextEstimate(env, id): return dbhelper.get_scalar(env, "SELECT DIFFCOMMENT FROM estimate WHERE ID=%s", 0, id)
def getHtmlEstimate(env, id): return dbhelper.get_scalar(env, "SELECT COMMENT FROM estimate WHERE ID=%s", 0, id)
def nextEstimateLineItemId(env): return (dbhelper.get_scalar(env, estimateLineItemIdSql) or 0) + 1
def get_max_ordering(self, maingroup, subgroup): """ Find the maximum ordering value used for this group of the custom_report table""" return dbhelper.get_scalar( self.env, "SELECT MAX(ordering) FROM custom_report WHERE maingroup=%s AND subgroup=%s", 0, maingroup, subgroup) or 0
def get_new_report_id(self): """find the next available report id """ rtn = dbhelper.get_scalar(self.env, "SELECT MAX(id) FROM report") return (rtn and rtn + 1) or 1
def nextEstimateLineItemId (env): return (dbhelper.get_scalar(env, estimateLineItemIdSql) or 0)+1
def get_max_ordering(self, maingroup, subgroup): """ Find the maximum ordering value used for this group of the custom_report table""" return dbhelper.get_scalar(self.env, "SELECT MAX(ordering) FROM custom_report WHERE maingroup=%s AND subgroup=%s", 0, maingroup, subgroup) or 0
def get_new_report_id (self): """find the next available report id """ rtn = dbhelper.get_scalar(self.env, "SELECT MAX(id) FROM report") return (rtn and rtn+1) or 1
def do_reports_upgrade(self): print "Beginning Reports Upgrade" #make version hash _versions = dbhelper.get_result_set(self.env.get_db_cnx(), """ SELECT report as id, version, r.title as title FROM report_version JOIN report r ON r.Id = report_version.report """) versions = {} for (id, version, title) in _versions.rows: versions[title] = (id, version) biggestId = dbhelper.get_scalar(self.env.get_db_cnx(), "SELECT ID FROM report ORDER BY ID DESC LIMIT 1") def insert_report_version(id, ver): sql = "DELETE FROM report_version WHERE report = %s;" dbhelper.execute_non_query(self.env.get_db_cnx(), sql, id ) sql = """ INSERT INTO report_version (report, version) VALUES (%s, %s);""" # print "about to insert report_version" dbhelper.execute_non_query(self.env.get_db_cnx(), sql, id, ver ) # print "inserted report_version" for report_group in all_reports: rlist = report_group["reports"] for report in rlist: title = report["title"] new_version = report["version"] report_id = [rid for (rid, map_title) in self.reportmap if map_title == title] if not report_id: bit = True; sql = """INSERT INTO report (id,author,title,query,description) VALUES (%s,'Timing and Estimation Plugin',%s,%s,'') """ biggestId += 1 dbhelper.execute_non_query(self.env.get_db_cnx(), sql, biggestId, title, report["sql"]) insert_report_version(biggestId, new_version) report["reportnumber"] = biggestId self.reportmap.extend([(biggestId,title)]) else: report_id = report_id[0] report["reportnumber"] = report_id # If we had a report make sure its at the correct version if versions.has_key(title): ( _ , ver) = versions[title] else: ver = 0 if not ver: sql = """ UPDATE report SET query=%s WHERE id = %s """ print "updating report: %s" % title dbhelper.execute_non_query(self.env.get_db_cnx(), sql, report["sql"], report_id ) insert_report_version( report_id, new_version ) elif ver < new_version: sql = """ UPDATE report SET query=%s WHERE id = %s """ print "updating report to new version: %s" % title dbhelper.execute_non_query(self.env.get_db_cnx(), sql, report["sql"], report_id ) sql = """ UPDATE report_version SET version = %s WHERE report = %s """ dbhelper.execute_non_query(self.env.get_db_cnx(), sql, new_version, report_id)