Subversion Repositories DevTools

Rev

Rev 3900 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'|                                                   |
'|                                Weekly Report                                  |
'|                                                   |
'=====================================================
%>

<%
Option explicit
Response.Expires = 0
%>
<%
'To enable the script timeout to 10 mins
Server.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 FSO
Dim NewTextFile
Dim rsRep
Dim sqlstr
Dim 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 Then
                NewTextFile.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&nbsp;Id&nbsp;</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&nbsp;Type&nbsp;</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) Then
                                DEVIiss = DEVIiss &","& sqlstr("iss_id")
                        End If
                        
                        SSsql = 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.MoveNext

                Wend

                NewTextFile.WriteLine( "                        </table></blockquote></blockquote></blockquote>                 ")

        End If
        
        sqlstr.Close()
        Set sqlstr = Nothing
        
                        
End Sub
'--------------------------------------------------------------------------------------------------------------------------
Sub Get_JIRA_Package_Issues ( pv_id )
        Dim rsTemp, JIRAiss
        
        sqlstr = " SELECT *"&_
                         "       FROM JIRA_ISSUES"&_
                         "      WHERE pv_id = "& pv_id  
                                
        Set rsTemp = OraDatabase.DbCreateDynaset( sqlstr, cint(0))
        
        If rsTemp.RecordCount <> 0 Then
                NewTextFile.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&nbsp;Id&nbsp;</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&nbsp;Type&nbsp;</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 database
                        outJIRASQL = "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.MoveNext
                WEnd    

                NewTextFile.WriteLine( "                        </table></blockquote></blockquote></blockquote>                 ")
        End If
        

                        
        
        
        rsTemp.Close()  
        Set rsTemp = nothing
        


End 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 <> "" Then
                NewTextFile.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 If  
        
End 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 Then 
                OOrsCQ.Close
        End If
        
        On Error Resume Next
        OOrsCQ.ActiveConnection = CQ_conn
        OOrsCQ.Source = SSsql
        OOrsCQ.CursorType = 0
        OOrsCQ.CursorLocation = 2
        OOrsCQ.LockType = 3
        OOrsCQ.Open()
        Get_CQ_Issues = Err.Number
        
End Function
'--------------------------------------------------------------------------------------------------------------------------
Function Get_JIRA_Issues ( SSsql, OOrsJIRA )

        If OOrsJIRA.State = 1 Then
                OOrsJIRA.Close()
        End If

        On Error Resume Next
        OOrsJIRA.ActiveConnection = JIRA_conn
        OOrsJIRA.Source = SSsql
        OOrsJIRA.CursorType = 0
        OOrsJIRA.CursorLocation = 2
        OOrsJIRA.LockType = 3
        OOrsJIRA.Open()
        Get_JIRA_Issues = Err.Number

End Function
'--------------------------------------------------------------------------------------------------------------------------
Public Function TextToHTML ( sString )
        Dim mString
                
        If (sString = "") OR IsNull(sString) Then Exit Function
        
        mString = Server.HTMLEncode( sString )
        mString = Replace(mString, VBNewLine, "<br>")
                
        TextToHTML = mString
End Function
'--------------------------------------------------------------------------------------------------------------------------
%>
<%
If (Request("from_date") = "")  OR  (Request("to_date") = "")  OR  (Request("user") = "") Then
        
        If (Request("from_date") = "") Then
                Response.write "<b>ERROR: Missing Parameter: from_date</b>"
        ElseIf (Request("to_date") = "") Then
                Response.write "<b>ERROR: Missing Parameter: to_date</b>"
        ElseIf (Request("user") = "") Then
                Response.write "<b>ERROR: Missing Parameter: user</b>"
        End If

Else

        Set FSO=Server.CreateObject("Scripting.FileSystemObject")
        Dim report_date
        report_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_STRING
        OraDatabase.Parameters.Add "TO_DATE", Request("to_date"), ORAPARM_INPUT, ORATYPE_STRING

        Set 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")) Then
                        NewTextFile.WriteLine("<b>"&rsRep("description")&" Package:"&rsRep("pkg_name")&" Version:"&rsRep("pkg_version")&"</b>")
                Else
                        NewTextFile.WriteLine("<b>Location:"&rsRep("proj_name")&"/"&rsRep("rtag_name")&" Package:"&rsRep("pkg_name")&" Version:"&rsRep("pkg_version")&"</b>")
                End If
                NewTextFile.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.MoveNext  
        Wend
        %>

        <%

        rsRep.Close()
        Set rsRep = Nothing

        Call Footer()

        NewTextFile.Close()
        Set NewTextFile=Nothing
        
        Dim LocalPath
        LocalPath = 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...",_
               LocalPath
    

        Response.write "<b>Report Generated Successfully and Emailed!</b>"
End If
Call Destroy_All_Objects
%>