Rev 3900 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@LANGUAGE="VBSCRIPT"%><%'====================================================='| |'| Weekly Report |'| |'=====================================================%><%Option explicitResponse.Expires = 0%><%'To enable the script timeout to 10 minsServer.ScriptTimeout=600%><!--#include file="common/conf.asp"--><!--#include file="common/globals.asp"--><!--#include file="common/formating.asp"--><!--#include file="common/qstr.asp"--><!--#include file="common/common_subs.asp"--><!--#include file="common/common_dbedit.asp"--><%'------------ Variable Definition -------------Dim FSODim NewTextFileDim rsRepDim sqlstrDim SSsql, retVal, rsCQ, DEVIiss, outJIRASQL'------------ Variable Init -------------------Set rsCQ = Server.CreateObject("ADODB.Recordset")%><%'--------------------------------------------------------------------------------------------------------------------------Sub Javascript()NewTextFile.WriteLine("<script language=""JavaScript"" type=""text/javascript"">")NewTextFile.WriteLine("function MM_findObj(n, d) { //v4.0")NewTextFile.WriteLine(" var p,i,x;")NewTextFile.WriteLine(" if(!d) d=document; ")NewTextFile.WriteLine(" if((p=n.indexOf(""?""))>0&&parent.frames.length) {")NewTextFile.WriteLine(" d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);")NewTextFile.WriteLine(" }")NewTextFile.WriteLine(" if(!(x=d[n])&&d.all) x=d.all[n]; ")NewTextFile.WriteLine(" for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];")NewTextFile.WriteLine(" for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);")NewTextFile.WriteLine(" if(!x && document.getElementById) x=document.getElementById(n); ")NewTextFile.WriteLine(" return x;")NewTextFile.WriteLine("}")NewTextFile.WriteLine("function DisplaySPAN(show, x) {")NewTextFile.WriteLine(" if (show) {")NewTextFile.WriteLine(" MM_findObj(""spanHideDetails"" + x).style.display = ""block"";")NewTextFile.WriteLine(" MM_findObj(""spanPkgInfo"" + x).style.display = ""block"";")NewTextFile.WriteLine(" MM_findObj(""spanShowDetails"" + x).style.display = ""none"";")NewTextFile.WriteLine(" } else {")NewTextFile.WriteLine(" MM_findObj(""spanHideDetails"" + x).style.display = ""none"";")NewTextFile.WriteLine(" MM_findObj(""spanPkgInfo"" + x).style.display = ""none"";")NewTextFile.WriteLine(" MM_findObj(""spanShowDetails"" + x).style.display = ""block"";")NewTextFile.WriteLine(" }")NewTextFile.WriteLine("}")NewTextFile.WriteLine("</script>")End Sub'--------------------------------------------------------------------------------------------------------------------------Sub GetFixedIssues(pv_id)Set sqlstr = OraDatabase.DbCreateDynaset("SELECT iss_db, iss_id, iss_state, notes FROM CQ_ISSUES WHERE pv_id="& pv_id &" AND iss_state = "& enumISSUES_STATE_FIXED, cint(0))If sqlstr.RecordCount <> 0 ThenNewTextFile.WriteLine()NewTextFile.WriteLine("<blockquote><blockquote><font size='1' face="&chr(34)&"Verdana, Arial, Helvetica, sans-serif"&chr(34)&">Fixed Issues:</font></blockquote></blockquote>")NewTextFile.WriteLine("<blockquote><blockquote><blockquote><table width='80%' border='1' cellspacing='0' cellpadding='1'>")NewTextFile.WriteLine("<tr>")NewTextFile.WriteLine("<td background='#CAC5B8' width='10%' class='form_field'><font size='1' face='tahoma,sans-serif'><b>Issue Id </b></font></td>")NewTextFile.WriteLine("<td background='#CAC5B8' width='55%' class='form_field'><font size='1' face='tahoma,sans-serif'><b>Summary</b></font></td>")NewTextFile.WriteLine("<td background='#CAC5B8' width='10%' class='form_field'><font size='1' face='tahoma,sans-serif'><b></I>Issue Type </b></font></td>")NewTextFile.WriteLine("<td background='#CAC5B8' width='15%' class='form_field'><font size='1' face='tahoma,sans-serif'><b></P>Priority</b></font></td>")NewTextFile.WriteLine("<td background='#CAC5B8' width='10%' class='form_field'><font size='1' face='tahoma,sans-serif'><b>Status</b></font></td>")NewTextFile.WriteLine("</tr>")While ((NOT sqlstr.BOF) AND (NOT sqlstr.EOF))DEVIiss = "-1"If CInt(sqlstr("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) ThenDEVIiss = DEVIiss &","& sqlstr("iss_id")End IfSSsql = ReadFile( QUERIES_PATH & "\cq_issues.sql" )SSsql = Replace( SSsql, "/*enumCLEARQUEST_DEVI_ID*/", enumCLEARQUEST_DEVI_ID)SSsql = Replace( SSsql, "/*DEVIiss*/", DEVIiss)retVal = Get_CQ_Issues ( SSsql, rsCQ )NewTextFile.WriteLine("<tr>")NewTextFile.WriteLine("<td background='#CAC5B8' nowrap class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&rsCQ("iss_num")&"</b></font></td>")NewTextFile.WriteLine("<td background='#CAC5B8' class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&NewLine_To_BR ( To_HTML ( rsCQ("summary") ) )&"</b></font></td>")NewTextFile.WriteLine("<td background='#CAC5B8' class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&rsCQ("issue_type")&"</b></font></td>")NewTextFile.WriteLine("<td background='#CAC5B8' class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&rsCQ("priority")&"</b></font></td>")NewTextFile.WriteLine("<td background='#CAC5B8' class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&rsCQ("Status")&"</b></font></td>")NewTextFile.WriteLine("</tr>")sqlstr.MoveNextWendNewTextFile.WriteLine( " </table></blockquote></blockquote></blockquote> ")End Ifsqlstr.Close()Set sqlstr = NothingEnd Sub'--------------------------------------------------------------------------------------------------------------------------Sub Get_JIRA_Package_Issues ( pv_id )Dim rsTemp, JIRAisssqlstr = " SELECT *"&_" FROM JIRA_ISSUES"&_" WHERE pv_id = "& pv_idSet rsTemp = OraDatabase.DbCreateDynaset( sqlstr, cint(0))If rsTemp.RecordCount <> 0 ThenNewTextFile.WriteLine()NewTextFile.WriteLine("<blockquote><blockquote><font size='1' face="&chr(34)&"Verdana, Arial, Helvetica, sans-serif"&chr(34)&">JIRA Issues:</font></blockquote></blockquote>")NewTextFile.WriteLine("<blockquote><blockquote><blockquote><table width='80%' border='1' cellspacing='0' cellpadding='1'>")NewTextFile.WriteLine("<tr>")NewTextFile.WriteLine("<td background='#CAC5B8' width='10%' class='form_field'><font size='1' face='tahoma,sans-serif'><b>Issue Id </b></font></td>")NewTextFile.WriteLine("<td background='#CAC5B8' width='55%' class='form_field'><font size='1' face='tahoma,sans-serif'><b>Summary</b></font></td>")NewTextFile.WriteLine("<td background='#CAC5B8' width='10%' class='form_field'><font size='1' face='tahoma,sans-serif'><b></I>Issue Type </b></font></td>")NewTextFile.WriteLine("<td background='#CAC5B8' width='15%' class='form_field'><font size='1' face='tahoma,sans-serif'><b></P>Priority</b></font></td>")NewTextFile.WriteLine("<td background='#CAC5B8' width='10%' class='form_field'><font size='1' face='tahoma,sans-serif'><b>Status</b></font></td>")NewTextFile.WriteLine("</tr>")While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))JIRAiss = "'-1'"JIRAiss = JIRAiss &",'"& rsTemp("iss_key")&"'"'Construct SQL statement for JIRA databaseoutJIRASQL = "SELECT I.pkey AS iss_num, I.summary, ISS.pname AS status, IT.pname as Issue_Type, PR.pname as Priority, I.RESOLUTION "&_" FROM jiraissue I, issuestatus ISS, issuetype IT, priority PR "&_" WHERE I.pkey IN ("& JIRAIss &") "&_" AND I.issuestatus = ISS.ID "&_" AND IT.ID = I.issuetype "&_" AND PR.ID = I.PRIORITY "retVal = Get_JIRA_Issues ( outJIRASQL, rsCQ )NewTextFile.WriteLine("<tr>")NewTextFile.WriteLine("<td background='#CAC5B8' nowrap class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&rsCQ("iss_num")&"</b></font></td>")NewTextFile.WriteLine("<td background='#CAC5B8' class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&NewLine_To_BR ( To_HTML ( rsCQ("summary") ) )&"</b></font></td>")NewTextFile.WriteLine("<td background='#CAC5B8' class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&rsCQ("issue_type")&"</b></font></td>")NewTextFile.WriteLine("<td background='#CAC5B8' class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&rsCQ("priority")&"</b></font></td>")NewTextFile.WriteLine("<td background='#CAC5B8' class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&rsCQ("Status")&"</b></font></td>")NewTextFile.WriteLine("</tr>")rsTemp.MoveNextWEndNewTextFile.WriteLine( " </table></blockquote></blockquote></blockquote> ")End IfrsTemp.Close()Set rsTemp = nothingEnd Sub'--------------------------------------------------------------------------------------------------------------------------Sub DisplayComments(pkg_version, comments)'NewTextFile.WriteLine("<blockquote><blockquote><font color="&chr(34)&"blue"&chr(34)&" face="&chr(34)&"Verdana, Arial, Helvetica, sans-serif"&chr(34)&">Version: "&pkg_version&"</font></blockquote></blockquote>")If comments <> "" ThenNewTextFile.WriteLine("<blockquote><blockquote><font size='1' face="&chr(34)&"Verdana, Arial, Helvetica, sans-serif"&chr(34)&">Comments: </font></blockquote></blockquote>")NewTextFile.WriteLine("<blockquote><blockquote><blockquote><font size='2' face='tahoma,sans-serif'>"& TextToHTML(comments) &"</font></blockquote></blockquote></blockquote>")End IfEnd Sub'--------------------------------------------------------------------------------------------------------------------------Sub Header()NewTextFile.WriteLine("<html>")End Sub'--------------------------------------------------------------------------------------------------------------------------Sub Footer()NewTextFile.WriteLine("</html>")End Sub'--------------------------------------------------------------------------------------------------------------------------Function Get_CQ_Issues ( SSsql, OOrsCQ )If OOrsCQ.State = 1 ThenOOrsCQ.CloseEnd IfOn Error Resume NextOOrsCQ.ActiveConnection = CQ_connOOrsCQ.Source = SSsqlOOrsCQ.CursorType = 0OOrsCQ.CursorLocation = 2OOrsCQ.LockType = 3OOrsCQ.Open()Get_CQ_Issues = Err.NumberEnd Function'--------------------------------------------------------------------------------------------------------------------------Function Get_JIRA_Issues ( SSsql, OOrsJIRA )If OOrsJIRA.State = 1 ThenOOrsJIRA.Close()End IfOn Error Resume NextOOrsJIRA.ActiveConnection = JIRA_connOOrsJIRA.Source = SSsqlOOrsJIRA.CursorType = 0OOrsJIRA.CursorLocation = 2OOrsJIRA.LockType = 3OOrsJIRA.Open()Get_JIRA_Issues = Err.NumberEnd Function'--------------------------------------------------------------------------------------------------------------------------Public Function TextToHTML ( sString )Dim mStringIf (sString = "") OR IsNull(sString) Then Exit FunctionmString = Server.HTMLEncode( sString )mString = Replace(mString, VBNewLine, "<br>")TextToHTML = mStringEnd Function'--------------------------------------------------------------------------------------------------------------------------%><%If (Request("from_date") = "") OR (Request("to_date") = "") OR (Request("user") = "") ThenIf (Request("from_date") = "") ThenResponse.write "<b>ERROR: Missing Parameter: from_date</b>"ElseIf (Request("to_date") = "") ThenResponse.write "<b>ERROR: Missing Parameter: to_date</b>"ElseIf (Request("user") = "") ThenResponse.write "<b>ERROR: Missing Parameter: user</b>"End IfElseSet FSO=Server.CreateObject("Scripting.FileSystemObject")Dim report_datereport_date = Replace( Request("to_date"), "/", "" )Set NewTextFile=FSO.CreateTextFile(Server.MapPath("weekly_reports\weekly_report_"&Request("user")&"_"&report_date&".html"), true)Call Header()OraDatabase.Parameters.Add "FROM_DATE", Request("from_date"), ORAPARM_INPUT, ORATYPE_STRINGOraDatabase.Parameters.Add "TO_DATE", Request("to_date"), ORAPARM_INPUT, ORATYPE_STRINGSet rsRep = OraDatabase.DbCreateDynaset( GetQuery("weekly_report.sql"), cint(0) )OraDatabase.Parameters.Remove "FROM_DATE"OraDatabase.Parameters.Remove "TO_DATE"Call Javascript()NewTextFile.WriteLine("<title>Projects Report Between "&Request("from_date")&" and "&Request("to_date")&"</title>")NewTextFile.WriteLine("<div align="&chr(34)&"center"&chr(34)&"><font color="&chr(34)&"red"&chr(34)&" size="&chr(34)&"4"&chr(34)&" face="&chr(34)&"Verdana, Arial, Helvetica, sans-serif"&chr(34)&">Projects Report Between "&Request("from_date")&" and "&Request("to_date")&"(Ripple Builds Not Displayed)</font></div><br>")While ((NOT rsRep.BOF) AND (NOT rsRep.EOF))If IsNull(rsRep("proj_name")) ThenNewTextFile.WriteLine("<b>"&rsRep("description")&" Package:"&rsRep("pkg_name")&" Version:"&rsRep("pkg_version")&"</b>")ElseNewTextFile.WriteLine("<b>Location:"&rsRep("proj_name")&"/"&rsRep("rtag_name")&" Package:"&rsRep("pkg_name")&" Version:"&rsRep("pkg_version")&"</b>")End IfNewTextFile.WriteLine("<br>")NewTextFile.WriteLine("<font size='2'><b>Last Released:"&rsRep("modified_stamp")&"</b></font>")Call DisplayComments(rsRep("pkg_version"), rsRep("comments"))Call GetFixedIssues(rsRep("pv_id"))Call Get_JIRA_Package_Issues(rsRep("pv_id"))NewTextFile.WriteLine("<br>")rsRep.MoveNextWend%><%rsRep.Close()Set rsRep = NothingCall Footer()NewTextFile.Close()Set NewTextFile=NothingDim LocalPathLocalPath = Server.MapPath("weekly_reports\weekly_report_"&Request("user")&"_"&report_date&".html")'myMail.AddAddress Request("user")&"@erggroup.com"Send_Email "Release Manager Notification",_adminEmail, _objAccessControl.UserEmail,_"Projects Report" , _"Your requested report...",_LocalPathResponse.write "<b>Report Generated Successfully and Emailed!</b>"End IfCall Destroy_All_Objects%>