Subversion Repositories DevTools

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
119 ghuddy 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'		 	   		Update Issues State
5
'               --- PROCESS FORM ---
6
'=====================================================
7
%>
8
<%
9
Option explicit
10
' Good idea to set when using redirect
11
Response.Expires = 0	' always load the page, dont store
12
%>
13
<!--#include file="common/conf.asp"-->
14
<!--#include file="common/globals.asp"-->
15
<!--#include file="common/formating.asp"-->
16
<!--#include file="common/qstr.asp"-->
17
<!--#include file="common/common_subs.asp"-->
18
<!--#include file="common/common_dbedit.asp"-->
19
<%
20
' Set rfile parameter. This is a return page after Login
21
Call objPMod.StoreParameter ( "rfile", "fixed_issues.asp" )
22
'------------ ACCESS CONTROL ------------------
23
%>
24
<!--#include file="_access_control_login.asp"-->
25
<!--#include file="_access_control_general.asp"-->
26
<!--#include file="_access_control_project.asp"-->
27
<%
28
'------------ Variable Definition -------------
29
Dim parPv_id
30
Dim parFRfixed
31
'------------ Constants Declaration -----------
32
'------------ Variable Init -------------------
33
parPv_id = QStrPar("pv_id")
34
parRtag_id = QStrPar("rtag_id")
35
parFRfixed = Request("FRfixed")
36
'----------------------------------------------
37
%>
38
<%
39
'-----------------------------------------------------------------------------------------------------------------------------
40
Sub GetOldIssueStates ( nPvId, ByRef outobjOldIssStates )
41
	Dim rsQry, query
42
 
43
	query = _
44
	" SELECT cqi.ISS_DB ||'.'|| cqi.ISS_ID AS iss_db_id,"&_
45
	"        cqi.ISS_STATE"&_
46
	"   FROM CQ_ISSUES cqi"&_
47
	"  WHERE cqi.PV_ID = :PV_ID"
48
 
49
	OraDatabase.Parameters.Add "PV_ID", nPvId, 	ORAPARM_INPUT, ORATYPE_NUMBER 
50
 
51
	Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
52
	While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
53
		outobjOldIssStates.Item ( CStr(rsQry("iss_db_id")) ) = Cstr(rsQry("iss_state")) 
54
 
55
		rsQry.MoveNext()
56
	WEnd
57
 
58
	rsQry.Close
59
	Set rsQry = Nothing
60
 
61
	OraDatabase.Parameters.Remove "PV_ID"
62
End Sub
63
'-----------------------------------------------------------------------------------------------------------------------------
64
Sub Update_Issues ( NNpv_id, NNfixed_iss_list )
65
	Dim fixedIssArr, isspkArr, isspk, objOldIssStates, iss_num, outstandingIssArr
66
 
67
	Set objOldIssStates = CreateObject("Scripting.Dictionary")
68
 
69
	Call GetOldIssueStates ( NNpv_id, objOldIssStates )
70
 
71
	OraDatabase.BeginTrans
72
 
73
 
74
	'-- Set all issues to "imported" i.e. "not fixed"
75
	'OraDatabase.ExecuteSQL _
76
	'	" UPDATE cq_issues "&_
77
    '	" SET iss_state = "& enumISSUES_STATE_IMPORTED &_
78
    '	" WHERE pv_id = "& NNpv_id
79
 
80
 
81
 
82
	'-- Now set "fixed" for selected issues
83
	If NNfixed_iss_list <> "" Then 
84
		fixedIssArr = Split( Replace( NNfixed_iss_list, " ", "" ) , ",")
85
 
86
		For Each isspk In fixedIssArr
87
			isspkArr = Split(isspk, ".")
88
			iss_num = GetIssueNumber ( isspkArr(0), isspkArr(1) )
89
 
90
			OraDatabase.ExecuteSQL _
91
				" UPDATE cq_issues "&_
92
		    	" SET iss_state = "& enumISSUES_STATE_FIXED &_
93
		    	" WHERE pv_id = "& NNpv_id &_
94
				"   AND iss_db = "& isspkArr(0) &_
95
				"   AND iss_id = "& isspkArr(1)
96
 
97
 
98
			'/* Log Action */
99
			If CStr( objOldIssStates.Item ( isspk ) ) = CStr(enumISSUES_STATE_IMPORTED) Then
100
 
101
				OraDatabase.ExecuteSQL _
102
					"BEGIN  Log_Action ( "& NNpv_id &", 'issue_fixed', "& objAccessControl.UserId &", 'Issue number: "& iss_num &"' );  END;"
103
 
104
			End If
105
 
106
			'-- Remove this element from objOldIssStates
107
			objOldIssStates.Remove ( isspk )
108
 
109
		Next
110
 
111
 
112
	End If
113
 
114
 
115
 
116
	'/* Log Action */
117
	'-- Log Set to Outstanding
118
	outstandingIssArr = objOldIssStates.Keys
119
 
120
	For Each isspk In outstandingIssArr
121
 
122
		If CStr( objOldIssStates.Item ( isspk ) ) = CStr(enumISSUES_STATE_FIXED) Then
123
			isspkArr = Split(isspk, ".")
124
			iss_num = GetIssueNumber ( isspkArr(0), isspkArr(1) )
125
 
126
			OraDatabase.ExecuteSQL _
127
				"BEGIN  Log_Action ( "& NNpv_id &", 'issue_outstanding', "& objAccessControl.UserId &", 'Issue number: "& iss_num &"' );  END;"
128
 
129
		End If
130
 
131
	Next
132
 
133
 
134
	OraDatabase.CommitTrans
135
 
136
End Sub
137
'-----------------------------------------------------------------------------------------------------------------------------
138
%>
139
<%
140
'-----------------------  MAIN LINE  ---------------------------
141
'--- Process submition ---
142
If (parPv_id <> "") Then
143
	' All mendatory parameters FOUND
144
 
145
	Call Update_Issues ( parPv_id, parFRfixed )
146
 
147
	Response.Redirect("fixed_issues.asp?hidenv=true&pv_id="& Request("pv_id") &"&rtag_id="& Request("rtag_id"))
148
Else
149
	Response.write "Some mendatory parameters are missing!" & "<br>" 'TODO
150
	Response.write QSTR_All 
151
End If
152
%>
153
 
154
<!-- DESTRUCTOR ------->
155
<!--#include file="common/destructor.asp"-->