Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
119 ghuddy 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|                                                   |
5
'|			          Weekly Report				 	 |
6
'|                                                   |
7
'=====================================================
8
%>
9
 
10
<%
11
Option explicit
12
Response.Expires = 0
13
%>
14
<%
15
'To enable the script timeout to 10 mins
16
Server.ScriptTimeout=600
17
%>
18
<!--#include file="common/conf.asp"-->
19
<!--#include file="common/globals.asp"-->
20
<!--#include file="common/formating.asp"-->
21
<!--#include file="common/qstr.asp"-->
22
<!--#include file="common/common_subs.asp"-->
23
<!--#include file="common/common_dbedit.asp"-->
24
<%
25
'------------ Variable Definition -------------
26
Dim FSO
27
Dim NewTextFile
28
Dim rsRep
29
Dim sqlstr
30
Dim SSsql, retVal, rsCQ, DEVIiss, TDSEiss, VT5DMiss, VTSUPiss, outJIRASQL
31
'------------ Variable Init -------------------
32
Set rsCQ = Server.CreateObject("ADODB.Recordset")
33
%>
34
<%
35
'--------------------------------------------------------------------------------------------------------------------------
36
Sub Javascript()
37
	NewTextFile.WriteLine("<script language=""JavaScript"" type=""text/javascript"">")
38
	NewTextFile.WriteLine("function MM_findObj(n, d) { //v4.0")
39
	NewTextFile.WriteLine("  var p,i,x;")
40
	NewTextFile.WriteLine("  if(!d) d=document; ")
41
	NewTextFile.WriteLine("  if((p=n.indexOf(""?""))>0&&parent.frames.length) {")
42
	NewTextFile.WriteLine("  	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);")				
43
	NewTextFile.WriteLine("  }")	
44
	NewTextFile.WriteLine("  if(!(x=d[n])&&d.all) x=d.all[n]; ")	
45
	NewTextFile.WriteLine("  for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];")	
46
	NewTextFile.WriteLine("  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);")	
47
	NewTextFile.WriteLine("  if(!x && document.getElementById) x=document.getElementById(n); ")
48
	NewTextFile.WriteLine("  return x;")			
49
	NewTextFile.WriteLine("}")
50
	NewTextFile.WriteLine("function DisplaySPAN(show, x) {")
51
	NewTextFile.WriteLine("	if (show) {")
52
	NewTextFile.WriteLine("		MM_findObj(""spanHideDetails"" + x).style.display = ""block"";")					
53
	NewTextFile.WriteLine("		MM_findObj(""spanPkgInfo"" + x).style.display = ""block"";")	
54
	NewTextFile.WriteLine("		MM_findObj(""spanShowDetails"" + x).style.display = ""none"";")	
55
	NewTextFile.WriteLine("	} else {")	
56
	NewTextFile.WriteLine("		MM_findObj(""spanHideDetails"" + x).style.display = ""none"";")	
57
	NewTextFile.WriteLine("		MM_findObj(""spanPkgInfo"" + x).style.display = ""none"";")	
58
	NewTextFile.WriteLine("		MM_findObj(""spanShowDetails"" + x).style.display = ""block"";")	
59
	NewTextFile.WriteLine("	}")
60
	NewTextFile.WriteLine("}")
61
	NewTextFile.WriteLine("</script>")
62
End Sub
63
'--------------------------------------------------------------------------------------------------------------------------
64
Sub GetFixedIssues(pv_id)
65
 
66
 
67
	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))						 
68
 
69
	If sqlstr.RecordCount <> 0 Then
70
		NewTextFile.WriteLine()
71
		NewTextFile.WriteLine("<blockquote><blockquote><font size='1' face="&chr(34)&"Verdana, Arial, Helvetica, sans-serif"&chr(34)&">Fixed Issues:</font></blockquote></blockquote>")
72
		NewTextFile.WriteLine("<blockquote><blockquote><blockquote><table width='80%' border='1' cellspacing='0' cellpadding='1'>")
73
		NewTextFile.WriteLine("<tr>")
74
		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>")
75
		NewTextFile.WriteLine("<td background='#CAC5B8' width='55%' class='form_field'><font size='1' face='tahoma,sans-serif'><b>Summary</b></font></td>")
76
		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>")
77
		NewTextFile.WriteLine("<td background='#CAC5B8' width='15%' class='form_field'><font size='1' face='tahoma,sans-serif'><b></P>Priority</b></font></td>")
78
		NewTextFile.WriteLine("<td background='#CAC5B8' width='10%' class='form_field'><font size='1' face='tahoma,sans-serif'><b>Status</b></font></td>")
79
		NewTextFile.WriteLine("</tr>")
80
 
81
		While ((NOT sqlstr.BOF) AND (NOT sqlstr.EOF))
82
			DEVIiss = "-1"
83
			TDSEiss = "-1"
84
			VT5DMiss = "-1"
85
			VTSUPiss = "-1"
86
 
87
			If CInt(sqlstr("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) Then
88
				DEVIiss = DEVIiss &","& sqlstr("iss_id")
89
			ElseIf CInt(sqlstr("iss_db")) = CInt(enumCLEARQUEST_TDSE_ID) Then
90
				TDSEiss = TDSEiss &","& sqlstr("iss_id")
91
			ElseIf CInt(sqlstr("iss_db")) = CInt(enumCLEARQUEST_VT5DM_ID) Then
92
				VT5DMiss = VT5DMiss &","& sqlstr("iss_id")		
93
			ElseIf CInt(sqlstr("iss_db")) = CInt(enumCLEARQUEST_VTSUP_ID) Then
94
				VTSUPiss = VTSUPiss &","& sqlstr("iss_id")												
95
			End If
96
 
97
			SSsql = ReadFile( QUERIES_PATH & "\cq_issues.sql" )
98
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_DEVI_ID*/", enumCLEARQUEST_DEVI_ID)
99
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_TDSE_ID*/", enumCLEARQUEST_TDSE_ID)
100
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_VT5DM_ID*/", enumCLEARQUEST_VT5DM_ID)
101
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_VTSUP_ID*/", enumCLEARQUEST_VTSUP_ID)					
102
			SSsql = Replace( SSsql, "/*DEVIiss*/", DEVIiss)
103
			SSsql = Replace( SSsql, "/*TDSEiss*/", TDSEiss)
104
			SSsql = Replace( SSsql, "/*VT5DMiss*/", VT5DMiss)	
105
			SSsql = Replace( SSsql, "/*VTSUPiss*/", VTSUPiss)
106
 
107
			retVal = Get_CQ_Issues ( SSsql, rsCQ )			
108
 
109
			NewTextFile.WriteLine("<tr>")
110
			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>")
111
 
112
			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>")
113
			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>")
114
			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>")
115
			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>")
116
			NewTextFile.WriteLine("</tr>")
117
 
118
			sqlstr.MoveNext
119
 
120
		Wend
121
 
122
		NewTextFile.WriteLine( "                        </table></blockquote></blockquote></blockquote> 		")
123
 
124
	End If
125
 
126
	sqlstr.Close()
127
	Set sqlstr = Nothing
128
 
129
 
130
End Sub
131
'--------------------------------------------------------------------------------------------------------------------------
132
Sub Get_JIRA_Package_Issues ( pv_id )
133
	Dim rsTemp, JIRAiss
134
 
135
	sqlstr = " SELECT *"&_
136
			 " 	 FROM JIRA_ISSUES"&_
137
			 "	WHERE pv_id = "& pv_id 	
138
 
139
	Set rsTemp = OraDatabase.DbCreateDynaset( sqlstr, cint(0))
140
 
141
	If rsTemp.RecordCount <> 0 Then
142
		NewTextFile.WriteLine()
143
		NewTextFile.WriteLine("<blockquote><blockquote><font size='1' face="&chr(34)&"Verdana, Arial, Helvetica, sans-serif"&chr(34)&">JIRA Issues:</font></blockquote></blockquote>")
144
		NewTextFile.WriteLine("<blockquote><blockquote><blockquote><table width='80%' border='1' cellspacing='0' cellpadding='1'>")
145
		NewTextFile.WriteLine("<tr>")
146
		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>")
147
		NewTextFile.WriteLine("<td background='#CAC5B8' width='55%' class='form_field'><font size='1' face='tahoma,sans-serif'><b>Summary</b></font></td>")
148
		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>")
149
		NewTextFile.WriteLine("<td background='#CAC5B8' width='15%' class='form_field'><font size='1' face='tahoma,sans-serif'><b></P>Priority</b></font></td>")
150
		NewTextFile.WriteLine("<td background='#CAC5B8' width='10%' class='form_field'><font size='1' face='tahoma,sans-serif'><b>Status</b></font></td>")
151
		NewTextFile.WriteLine("</tr>")		
152
 
153
 
154
 
155
		While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
156
			JIRAiss = "'-1'"
157
 
158
			JIRAiss = JIRAiss &",'"& rsTemp("iss_key")&"'"
159
 
160
			'Construct SQL statement for JIRA database
161
			outJIRASQL = "SELECT I.pkey AS iss_num, I.summary, ISS.pname AS status,  IT.pname as Issue_Type, PR.pname as Priority, I.RESOLUTION "&_
162
			" FROM jiraissue I, issuestatus ISS, issuetype IT, priority PR "&_
163
			" WHERE I.pkey IN ("& JIRAIss &") "&_
164
			" AND I.issuestatus = ISS.ID "&_
165
			" AND IT.ID = I.issuetype "&_
166
			" AND PR.ID = I.PRIORITY "
167
 
168
			retVal = Get_JIRA_Issues ( outJIRASQL, rsCQ )			
169
 
170
			NewTextFile.WriteLine("<tr>")
171
			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>")
172
 
173
			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>")
174
			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>")
175
			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>")
176
			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>")
177
			NewTextFile.WriteLine("</tr>")
178
 
179
			rsTemp.MoveNext
180
		WEnd	
181
 
182
		NewTextFile.WriteLine( "                        </table></blockquote></blockquote></blockquote> 		")
183
	End If
184
 
185
 
186
 
187
 
188
 
189
	rsTemp.Close()	
190
	Set rsTemp = nothing
191
 
192
 
193
 
194
End Sub
195
'--------------------------------------------------------------------------------------------------------------------------
196
Sub DisplayComments(pkg_version, comments)
197
 
198
	'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>")
199
	If comments <> "" Then
200
		NewTextFile.WriteLine("<blockquote><blockquote><font size='1' face="&chr(34)&"Verdana, Arial, Helvetica, sans-serif"&chr(34)&">Comments: </font></blockquote></blockquote>")
201
		NewTextFile.WriteLine("<blockquote><blockquote><blockquote><font size='2' face='tahoma,sans-serif'>"& TextToHTML(comments) &"</font></blockquote></blockquote></blockquote>")
202
	End If	
203
 
204
End Sub
205
'--------------------------------------------------------------------------------------------------------------------------
206
Sub Header() 
207
	NewTextFile.WriteLine("<html>")
208
End Sub
209
'--------------------------------------------------------------------------------------------------------------------------
210
Sub Footer()
211
	NewTextFile.WriteLine("</html>")
212
End Sub
213
'--------------------------------------------------------------------------------------------------------------------------
214
Function  Get_CQ_Issues ( SSsql, OOrsCQ )
215
 
216
	If OOrsCQ.State = 1 Then 
217
		OOrsCQ.Close
218
	End If
219
 
220
	On Error Resume Next
221
	OOrsCQ.ActiveConnection = CQ_conn
222
	OOrsCQ.Source = SSsql
223
	OOrsCQ.CursorType = 0
224
	OOrsCQ.CursorLocation = 2
225
	OOrsCQ.LockType = 3
226
	OOrsCQ.Open()
227
	Get_CQ_Issues = Err.Number
228
 
229
End Function
230
'--------------------------------------------------------------------------------------------------------------------------
231
Function Get_JIRA_Issues ( SSsql, OOrsJIRA )
232
 
233
	If OOrsJIRA.State = 1 Then
234
		OOrsJIRA.Close()
235
	End If
236
 
237
	On Error Resume Next
238
	OOrsJIRA.ActiveConnection = JIRA_conn
239
	OOrsJIRA.Source = SSsql
240
	OOrsJIRA.CursorType = 0
241
	OOrsJIRA.CursorLocation = 2
242
	OOrsJIRA.LockType = 3
243
	OOrsJIRA.Open()
244
	Get_JIRA_Issues = Err.Number
245
 
246
End Function
247
'--------------------------------------------------------------------------------------------------------------------------
248
Public Function TextToHTML ( sString )
249
	Dim mString
250
 
251
	If (sString = "") OR IsNull(sString) Then Exit Function
252
 
253
	mString = Server.HTMLEncode( sString )
254
	mString = Replace(mString, VBNewLine, "<br>")
255
 
256
	TextToHTML = mString
257
End Function
258
'--------------------------------------------------------------------------------------------------------------------------
259
%>
260
<%
261
If (Request("from_date") = "")  OR  (Request("to_date") = "")  OR  (Request("user") = "") Then
262
 
263
	If (Request("from_date") = "") Then
264
		Response.write "<b>ERROR: Missing Parameter: from_date</b>"
265
	ElseIf (Request("to_date") = "") Then
266
		Response.write "<b>ERROR: Missing Parameter: to_date</b>"
267
	ElseIf (Request("user") = "") Then
268
		Response.write "<b>ERROR: Missing Parameter: user</b>"
269
	End If
270
 
271
Else
272
 
273
	Set FSO=Server.CreateObject("Scripting.FileSystemObject")
274
	Dim report_date
275
	report_date = Replace( Request("to_date"), "/", "" )
276
 
277
	Set NewTextFile=FSO.CreateTextFile(Server.MapPath("weekly_reports\weekly_report_"&Request("user")&"_"&report_date&".html"), true)
278
	Call Header()
279
 
280
	OraDatabase.Parameters.Add "FROM_DATE", Request("from_date"), ORAPARM_INPUT, ORATYPE_STRING
281
	OraDatabase.Parameters.Add "TO_DATE", Request("to_date"), ORAPARM_INPUT, ORATYPE_STRING
282
 
283
	Set rsRep = OraDatabase.DbCreateDynaset( GetQuery("weekly_report.sql"), cint(0) )
284
 
285
	OraDatabase.Parameters.Remove "FROM_DATE"
286
	OraDatabase.Parameters.Remove "TO_DATE"
287
 
288
	Call Javascript()
289
 
290
	NewTextFile.WriteLine("<title>Projects Report Between "&Request("from_date")&" and "&Request("to_date")&"</title>")
291
	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>")
292
 
293
	While ((NOT rsRep.BOF) AND (NOT rsRep.EOF))
294
		If IsNull(rsRep("proj_name")) Then
295
			NewTextFile.WriteLine("<b>"&rsRep("description")&" Package:"&rsRep("pkg_name")&" Version:"&rsRep("pkg_version")&"</b>")
296
		Else
297
			NewTextFile.WriteLine("<b>Location:"&rsRep("proj_name")&"/"&rsRep("rtag_name")&" Package:"&rsRep("pkg_name")&" Version:"&rsRep("pkg_version")&"</b>")
298
		End If
299
		NewTextFile.WriteLine("<br>")
300
		NewTextFile.WriteLine("<font size='2'><b>Last Released:"&rsRep("modified_stamp")&"</b></font>")
301
		Call DisplayComments(rsRep("pkg_version"), rsRep("comments"))
302
		Call GetFixedIssues(rsRep("pv_id"))
303
		Call Get_JIRA_Package_Issues(rsRep("pv_id"))
304
		NewTextFile.WriteLine("<br>")
305
		rsRep.MoveNext	
306
	Wend
307
	%>
308
 
309
	<%
310
 
311
	rsRep.Close()
312
	Set rsRep = Nothing
313
 
314
	Call Footer()
315
 
316
	NewTextFile.Close()
317
	Set NewTextFile=Nothing
318
 
319
	Dim myMail, LocalPath
320
	Set myMail=Server.CreateObject("Persits.MailSender")
321
	LocalPath = Server.MapPath("weekly_reports\weekly_report_"&Request("user")&"_"&report_date&".html")
322
 
323
	myMail.Host = SMTP_HOST
324
	myMail.Subject="Projects Report"
325
	myMail.From="releasem@erggroup.com"
326
	myMail.AddAddress Request("user")&"@erggroup.com"
327
	' Attach the file
328
	myMail.AddAttachment LocalPath
329
	myMail.Body = "Your requested report..." 
330
	myMail.Send
331
 
332
	set myMail=nothing
333
 
334
	Response.write "<b>Report Generated Successfully and Emailed!</b>"
335
End If
336
Call Destroy_All_Objects
337
%>