Subversion Repositories DevTools

Rev

Rev 5338 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5338 Rev 5357
Line 1... Line 1...
1
<%@LANGUAGE="VBSCRIPT"%>
1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
2
<%
3
'=====================================================
3
'=====================================================
4
'|                                                   |
4
'|                                                   |
5
'|         Eidt Release Licencing Details            |
5
'|         Eidt Release Licencing Details            |
6
'|                                                   |
6
'|                                                   |
7
'=====================================================
7
'=====================================================
8
Option explicit
8
Option explicit
9
' Good idea to set when using redirect
9
' Good idea to set when using redirect
10
Response.Expires = 0  ' always load the page, dont store
10
Response.Expires = 0  ' always load the page, dont store
11
%>
11
%>
12
<!--#include file="common/conf.asp"-->
12
<!--#include file="common/conf.asp"-->
13
<!--#include file="common/globals.asp"-->
13
<!--#include file="common/globals.asp"-->
14
<!--#include file="common/formating.asp"-->
14
<!--#include file="common/formating.asp"-->
15
<!--#include file="common/qstr.asp"-->
15
<!--#include file="common/qstr.asp"-->
16
<!--#include file="common/common_subs.asp"-->
16
<!--#include file="common/common_subs.asp"-->
17
<!--#include file="common/common_dbedit.asp"-->
17
<!--#include file="common/common_dbedit.asp"-->
18
<!--#include file="common/_form_window_common.asp"-->
18
<!--#include file="common/_form_window_common.asp"-->
19
<%
19
<%
20
' Make sure rtag_id is always present
20
' Make sure rtag_id is always present
21
If Request("rtag_id") = "" Then
21
If Request("rtag_id") = "" Then
22
	Response.Redirect("index.asp")
22
	Response.Redirect("index.asp")
23
End If
23
End If
24
 
24
 
25
' Set rfile parameter. This is a return page after Login
25
' Set rfile parameter. This is a return page after Login
26
Call objPMod.StoreParameter ( "rfile", "dependencies.asp" )
26
Call objPMod.StoreParameter ( "rfile", "dependencies.asp" )
27
'------------ ACCESS CONTROL ------------------
27
'------------ ACCESS CONTROL ------------------
28
%>
28
%>
29
<!--#include file="_access_control_login.asp"-->
29
<!--#include file="_access_control_login.asp"-->
30
<!--#include file="_access_control_general.asp"-->
30
<!--#include file="_access_control_general.asp"-->
31
<!--#include file="_access_control_project.asp"-->
31
<!--#include file="_access_control_project.asp"-->
32
<%
32
<%
33
'------------ Variable Definition -------------
33
'------------ Variable Definition -------------
34
Dim selectedLicence
34
Dim selectedLicence
35
Dim httpReferer
35
Dim httpReferer
36
Dim licenceList
36
Dim licenceList
37
 
37
 
38
 
38
 
39
'------------ Constants Declaration -----------
39
'------------ Constants Declaration -----------
40
 
40
 
41
Const available_licences_query_string = " SELECT * from licences ORDER BY UPPER(name) "
41
Const available_licences_query_string = " SELECT * from licences ORDER BY UPPER(name) "
42
 
42
 
43
'------------ Variable Init -------------------
43
'------------ Variable Init -------------------
44
 
44
 
45
httpReferer = "dependencies.asp?rtag_id="& CStr(parRtag_Id)
45
httpReferer = "dependencies.asp?rtag_id="& CStr(parRtag_Id)
46
 
46
 
47
' Obtain selected licence from parameter list in the URL. If none given, set the default initial
47
' Obtain selected licence from parameter list in the URL. If none given, set the default initial
48
' value to -1 to initiate its selection during html page rendering
48
' value to -1 to initiate its selection during html page rendering
49
selectedLicence = Request("selected_licence")
49
selectedLicence = Request("selected_licence")
50
If (IsNull(selectedLicence) OR selectedLicence = "") Then
50
If (IsNull(selectedLicence) OR selectedLicence = "") Then
51
   selectedLicence = -1
51
   selectedLicence = -1
52
End If
52
End If
53
 
53
 
54
'--------------------------------------------------------------------------------------------------------------------------
54
'--------------------------------------------------------------------------------------------------------------------------
55
'  release_licencing_query_string
55
'  release_licencing_query_string
56
'
56
'
57
'  DESCRIPTION
57
'  DESCRIPTION
58
'     Constructs a query string using the provided release tag, designed to elicit
58
'     Constructs a query string using the provided release tag, designed to elicit
59
'     a list of PV_ID's, thier package names, versions and extensions, from the
59
'     a list of PV_ID's, thier package names, versions and extensions, from the
60
'     release
60
'     release
61
'
61
'
62
'  INPUTS
62
'  INPUTS
63
'     NNrtag_id : The release tag to be used in the query string
63
'     NNrtag_id : The release tag to be used in the query string
64
'
64
'
65
Function release_licencing_query_string(NNrtag_id)
65
Function release_licencing_query_string(NNrtag_id)
66
 
66
 
67
   release_licencing_query_string = "SELECT * FROM ("&_
67
   release_licencing_query_string = "SELECT * FROM ("&_
68
                                    "      SELECT pv.pv_id, pkg.pkg_name, pv.pkg_version, pv.v_ext"&_
68
                                    "      SELECT pv.pv_id, pkg.pkg_name, pv.pkg_version, pv.v_ext"&_
69
                                    "        FROM release_content rc, package_versions pv, packages pkg "&_
69
                                    "        FROM release_content rc, package_versions pv, packages pkg "&_
70
                                    "       WHERE rc.rtag_id = "& CStr(NNrtag_id) &_
70
                                    "       WHERE rc.rtag_id = "& CStr(NNrtag_id) &_
71
                                    "         AND pv.pv_id = rc.pv_id "&_
71
                                    "         AND pv.pv_id = rc.pv_id "&_
72
                                    "         AND pkg.pkg_id = pv.pkg_id "&_
72
                                    "         AND pkg.pkg_id = pv.pkg_id "&_
73
                                    "      UNION "&_
73
                                    "      UNION "&_
74
                                    "      SELECT pv.pv_id, pkg.pkg_name, pv.pkg_version, pv.v_ext"&_
74
                                    "      SELECT pv.pv_id, pkg.pkg_name, pv.pkg_version, pv.v_ext"&_
75
                                    "        FROM work_in_progress wip, package_versions pv, packages pkg "&_
75
                                    "        FROM work_in_progress wip, package_versions pv, packages pkg "&_
76
                                    "       WHERE wip.rtag_id = "& CStr(NNrtag_id) &_
76
                                    "       WHERE wip.rtag_id = "& CStr(NNrtag_id) &_
77
                                    "         AND pv.pv_id = wip.pv_id "&_
77
                                    "         AND pv.pv_id = wip.pv_id "&_
78
                                    "         AND pkg.pkg_id = pv.pkg_id "&_
78
                                    "         AND pkg.pkg_id = pv.pkg_id "&_
79
                                    "      UNION "&_
79
                                    "      UNION "&_
80
                                    "      SELECT pv.pv_id, pkg.pkg_name, pv.pkg_version, pv.v_ext"&_
80
                                    "      SELECT pv.pv_id, pkg.pkg_name, pv.pkg_version, pv.v_ext"&_
81
                                    "        FROM planned pl, package_versions pv, packages pkg"&_
81
                                    "        FROM planned pl, package_versions pv, packages pkg"&_
82
                                    "       WHERE pl.rtag_id = "& CStr(NNrtag_id) &_
82
                                    "       WHERE pl.rtag_id = "& CStr(NNrtag_id) &_
83
                                    "         AND pv.pv_id = pl.pv_id "&_
83
                                    "         AND pv.pv_id = pl.pv_id "&_
84
                                    "         AND pkg.pkg_id = pv.pkg_id "&_
84
                                    "         AND pkg.pkg_id = pv.pkg_id "&_
85
                                    "         AND (pl.operation IS NULL OR pl.operation = 'R') "&_
85
                                    "         AND (pl.operation IS NULL OR pl.operation = 'R') "&_
86
                                    ") ORDER BY UPPER(pkg_name), UPPER(v_ext), pv_id DESC"
86
                                    ") ORDER BY UPPER(pkg_name), UPPER(v_ext), pv_id DESC"
87
End Function
87
End Function
88
 
88
 
89
'--------------------------------------------------------------------------------------------------------------------------
89
'--------------------------------------------------------------------------------------------------------------------------
90
'  IsLicenced
90
'  IsLicenced
91
'
91
'
92
'  DESCRIPTION
92
'  DESCRIPTION
93
'     Queries the database to determine if a supplied PV_ID is associated with
93
'     Queries the database to determine if a supplied PV_ID is associated with
94
'     the provided licence
94
'     the provided licence
95
'
95
'
96
'  INPUTS
96
'  INPUTS
97
'     NNpv_id    : The PV_ID of the package version being examined
97
'     NNpv_id    : The PV_ID of the package version being examined
98
'     NNlicence  : The licence to be examined
98
'     NNlicence  : The licence to be examined
99
'
99
'
100
'  OUTPUTS
100
'  OUTPUTS
101
'     TRUE if the PV_ID is associated with the licence, else FALSE
101
'     TRUE if the PV_ID is associated with the licence, else FALSE
102
'
102
'
103
Function IsLicenced(NNpv_id, NNlicence)
103
Function IsLicenced(NNpv_id, NNlicence)
104
 
104
 
105
   Dim IsLicencedQuery
105
   Dim IsLicencedQuery
106
   Dim IsLicencedQueryResults
106
   Dim IsLicencedQueryResults
107
 
107
 
108
   IsLicencedQuery = "SELECT * FROM licencing WHERE pv_id=" & CStr(NNpv_id) & " AND licence=" & CStr(NNlicence)
108
   IsLicencedQuery = "SELECT * FROM licencing WHERE pv_id=" & CStr(NNpv_id) & " AND licence=" & CStr(NNlicence)
109
 
109
 
110
   Set IsLicencedQueryResults = OraDatabase.DbCreateDynaset( IsLicencedQuery, cint(0))
110
   Set IsLicencedQueryResults = OraDatabase.DbCreateDynaset( IsLicencedQuery, cint(0))
111
 
111
 
112
   If IsLicencedQueryResults.RecordCount = 0 Then
112
   If IsLicencedQueryResults.RecordCount = 0 Then
113
      IsLicenced = FALSE
113
      IsLicenced = FALSE
114
   Else
114
   Else
115
      IsLicenced = TRUE
115
      IsLicenced = TRUE
116
   End If
116
   End If
117
   IsLicencedQueryResults.Close()
117
   IsLicencedQueryResults.Close()
118
   Set IsLicencedQueryResults = nothing
118
   Set IsLicencedQueryResults = nothing
119
 
119
 
120
End Function
120
End Function
121
 
121
 
122
'--------------------------------------------------------------------------------------------------------------------------
122
'--------------------------------------------------------------------------------------------------------------------------
123
'  AddLicencing
123
'  AddLicencing
124
'
124
'
125
'  DESCRIPTION
125
'  DESCRIPTION
126
'     Adds a licencing relationship to the database for the supplied PV_ID, and the
126
'     Adds a licencing relationship to the database for the supplied PV_ID, and the
127
'     supplied Licence
127
'     supplied Licence
128
'
128
'
129
'  INPUTS
129
'  INPUTS
130
'     NNpv_id    : The PV_ID of the package version to be used
130
'     NNpv_id    : The PV_ID of the package version to be used
131
'     NNlicence  : The licence to be used
131
'     NNlicence  : The licence to be used
132
'
132
'
133
Sub AddLicencing(NNpv_id, NNlicence)
133
Sub AddLicencing(NNpv_id, NNlicence)
134
   OraDatabase.Parameters.Add "PV_ID",   NNpv_id,   ORAPARM_INPUT, ORATYPE_NUMBER
134
   OraDatabase.Parameters.Add "PV_ID",   NNpv_id,   ORAPARM_INPUT, ORATYPE_NUMBER
135
   OraDatabase.Parameters.Add "LICENCE", NNlicence, ORAPARM_INPUT, ORATYPE_NUMBER
135
   OraDatabase.Parameters.Add "LICENCE", NNlicence, ORAPARM_INPUT, ORATYPE_NUMBER
136
 
136
 
137
   On Error Resume Next
137
   On Error Resume Next
138
   objEH.TryORA( OraSession )
138
   objEH.TryORA( OraSession )
139
   OraDatabase.ExecuteSQL ("begin INSERT INTO licencing (pv_id, licence) VALUES (:PV_ID, :LICENCE); end;")
139
   OraDatabase.ExecuteSQL ("begin INSERT INTO licencing (pv_id, licence) VALUES (:PV_ID, :LICENCE); end;")
140
   objEH.CatchORA( OraSession )
140
   objEH.CatchORA( OraSession )
141
 
141
 
142
   OraDatabase.Parameters.Remove "PV_ID"
142
   OraDatabase.Parameters.Remove "PV_ID"
143
   OraDatabase.Parameters.Remove "LICENCE"
143
   OraDatabase.Parameters.Remove "LICENCE"
144
   On Error Goto 0
144
   On Error Goto 0
145
 
145
 
146
   ' Log Action
146
   ' Log Action
147
   Call Log_Action ( NNpv_id, "software_licence", "Added: " & licenceList.Item(Cint(NNlicence)))
147
   Call Log_Action ( NNpv_id, "software_licence", "Added: " & licenceList.Item(Cint(NNlicence)))
148
 
148
 
149
End Sub
149
End Sub
150
 
150
 
151
'--------------------------------------------------------------------------------------------------------------------------
151
'--------------------------------------------------------------------------------------------------------------------------
152
'  RemoveLicencing
152
'  RemoveLicencing
153
'
153
'
154
'  DESCRIPTION
154
'  DESCRIPTION
155
'     Removes a licencing relationship from the database for the supplied PV_ID, and the
155
'     Removes a licencing relationship from the database for the supplied PV_ID, and the
156
'     supplied Licence
156
'     supplied Licence
157
'
157
'
158
'  INPUTS
158
'  INPUTS
159
'     NNpv_id    : The PV_ID of the package version to be used
159
'     NNpv_id    : The PV_ID of the package version to be used
160
'     NNlicence  : The licence to be used
160
'     NNlicence  : The licence to be used
161
'
161
'
162
Sub RemoveLicencing(NNpv_id, NNlicence)
162
Sub RemoveLicencing(NNpv_id, NNlicence)
163
   OraDatabase.Parameters.Add "PV_ID",   NNpv_id,   ORAPARM_INPUT, ORATYPE_NUMBER
163
   OraDatabase.Parameters.Add "PV_ID",   NNpv_id,   ORAPARM_INPUT, ORATYPE_NUMBER
164
   OraDatabase.Parameters.Add "LICENCE", NNlicence, ORAPARM_INPUT, ORATYPE_NUMBER
164
   OraDatabase.Parameters.Add "LICENCE", NNlicence, ORAPARM_INPUT, ORATYPE_NUMBER
165
 
165
 
166
   On Error Resume Next
166
   On Error Resume Next
167
   objEH.TryORA( OraSession )
167
   objEH.TryORA( OraSession )
168
   OraDatabase.ExecuteSQL ("begin DELETE FROM licencing WHERE pv_id=:PV_ID AND licence=:LICENCE; end;")
168
   OraDatabase.ExecuteSQL ("begin DELETE FROM licencing WHERE pv_id=:PV_ID AND licence=:LICENCE; end;")
169
   objEH.CatchORA( OraSession )
169
   objEH.CatchORA( OraSession )
170
 
170
 
171
   OraDatabase.Parameters.Remove "PV_ID"
171
   OraDatabase.Parameters.Remove "PV_ID"
172
   OraDatabase.Parameters.Remove "LICENCE"
172
   OraDatabase.Parameters.Remove "LICENCE"
173
   On Error Goto 0
173
   On Error Goto 0
174
 
174
 
175
   ' Log Action
175
   ' Log Action
176
   Call Log_Action ( NNpv_id, "software_licence", "Removed: " & licenceList.Item(Cint(NNlicence)))
176
   Call Log_Action ( NNpv_id, "software_licence", "Removed: " & licenceList.Item(Cint(NNlicence)))
177
 
177
 
178
End Sub
178
End Sub
179
 
179
 
180
'--------------------------------------------------------------------------------------------------------------------------
180
'--------------------------------------------------------------------------------------------------------------------------
181
'  initialLicence
181
'  initialLicence
182
'
182
'
183
'  DESCRIPTION
183
'  DESCRIPTION
184
'     Queries the database for a list of licences, and returns the first one in the list
184
'     Queries the database for a list of licences, and returns the first one in the list
185
'     which will be used as the default licence prior to a user making a specific alternative
185
'     which will be used as the default licence prior to a user making a specific alternative
186
'     selection via the drop down list
186
'     selection via the drop down list
187
'
187
'
188
'  OUTPUTS
188
'  OUTPUTS
189
'     The first licence from the list, else -1 if list is empty
189
'     The first licence from the list, else -1 if list is empty
190
'
190
'
191
Function initialLicence
191
Function initialLicence
192
 
192
 
193
   Dim initialLicenceQuery
193
   Dim initialLicenceQuery
194
 
194
 
195
   Set initialLicenceQuery = OraDatabase.DbCreateDynaset( available_licences_query_string, cint(0) )
195
   Set initialLicenceQuery = OraDatabase.DbCreateDynaset( available_licences_query_string, cint(0) )
196
 
196
 
197
   If ((initialLicenceQuery.RecordCount  > 0) AND (NOT initialLicenceQuery.BOF) AND (NOT initialLicenceQuery.EOF)) Then
197
   If ((initialLicenceQuery.RecordCount  > 0) AND (NOT initialLicenceQuery.BOF) AND (NOT initialLicenceQuery.EOF)) Then
198
      initialLicence = CDbl(initialLicenceQuery("licence"))
198
      initialLicence = CDbl(initialLicenceQuery("licence"))
199
   Else
199
   Else
200
      initialLicence = -1
200
      initialLicence = -1
201
   End If
201
   End If
202
 
202
 
203
   initialLicenceQuery.Close()
203
   initialLicenceQuery.Close()
204
   Set initialLicenceQuery = nothing
204
   Set initialLicenceQuery = nothing
205
End Function
205
End Function
206
 
206
 
207
'--------------------------------------------------------------------------------------------------------------------------
207
'--------------------------------------------------------------------------------------------------------------------------
208
'  CheckFormEntryConditions
208
'  CheckFormEntryConditions
209
'
209
'
210
'  DESCRIPTION
210
'  DESCRIPTION
211
'     Checks some conditions of entry to the form and takes action when conditions are not met
211
'     Checks some conditions of entry to the form and takes action when conditions are not met
212
'
212
'
213
Sub CheckFormEntryConditions
213
Sub CheckFormEntryConditions
214
 
214
 
215
   Dim CheckFormEntryConditionsQuery
215
   Dim CheckFormEntryConditionsQuery
216
 
216
 
217
   ' Check that at least one licence exists that can be associated with specific package versions. If there are no
217
   ' Check that at least one licence exists that can be associated with specific package versions. If there are no
218
   ' licences, then the form cannot be used.
218
   ' licences, then the form cannot be used.
219
   Set CheckFormEntryConditionsQuery = OraDatabase.DbCreateDynaset( available_licences_query_string, cint(0) )
219
   Set CheckFormEntryConditionsQuery = OraDatabase.DbCreateDynaset( available_licences_query_string, cint(0) )
220
   If CheckFormEntryConditionsQuery.RecordCount = 0 Then
220
   If CheckFormEntryConditionsQuery.RecordCount = 0 Then
221
      CheckFormEntryConditionsQuery.Close()
221
      CheckFormEntryConditionsQuery.Close()
222
      Set CheckFormEntryConditionsQuery = nothing
222
      Set CheckFormEntryConditionsQuery = nothing
223
      Call RaiseMsg( enum_MSG_NO_LICENCES_EXIST & "?rtag_id=" & CStr(parRtag_Id), 0 )
223
      Call RaiseMsg( enum_MSG_NO_LICENCES_EXIST & "?rtag_id=" & CStr(parRtag_Id), 0 )
224
   End If
224
   End If
225
 
225
 
226
   CheckFormEntryConditionsQuery.Close()
226
   CheckFormEntryConditionsQuery.Close()
227
   Set CheckFormEntryConditionsQuery = nothing
227
   Set CheckFormEntryConditionsQuery = nothing
228
 
228
 
229
End Sub
229
End Sub
230
 
230
 
231
'--------------------------------------------------------------------------------------------------------------------------
231
'--------------------------------------------------------------------------------------------------------------------------
232
'  CheckFormSubmitActions
232
'  CheckFormSubmitActions
233
'
233
'
234
'  DESCRIPTION
234
'  DESCRIPTION
235
'     Checks for any form submit actions and processes them accordingly
235
'     Checks for any form submit actions and processes them accordingly
236
'
236
'
237
'     The form has a number of submit buttons (OK, APPLY, CANCEL)
237
'     The form has a number of submit buttons (OK, APPLY, CANCEL)
238
'
238
'
239
'     The OK and APPLY buttons lead to the checkbox states being used to update the database.
239
'     The OK and APPLY buttons lead to the checkbox states being used to update the database.
240
'     The database updates are not performed when the CANCEL button is pressed.
240
'     The database updates are not performed when the CANCEL button is pressed.
241
'
241
'
242
'     Pressing OK or CANCEL takes the user out of the form and back to the original referer page.
242
'     Pressing OK or CANCEL takes the user out of the form and back to the original referer page.
243
'     Pressing APPLY leaves the user in the form so that they may make further licencing changes.
243
'     Pressing APPLY leaves the user in the form so that they may make further licencing changes.
244
'
244
'
245
Sub CheckFormSubmitActions
245
Sub CheckFormSubmitActions
246
 
246
 
247
   If Request("action") <> "" Then
247
   If Request("action") <> "" Then
248
      If objForm.IsValidOnPostBack Then
248
      If objForm.IsValidOnPostBack Then
249
 
249
 
250
         If Request("btn_submit") = "Apply" OR Request("btn_submit") = "OK" Then
250
         If Request("btn_submit") = "Apply" OR Request("btn_submit") = "OK" Then
251
            Dim checkedItemsFromForm
251
            Dim checkedItemsFromForm
252
            Dim checkedItemsArray
252
            Dim checkedItemsArray
253
            Dim item
253
            Dim item
254
            Dim parSelectedLicence
254
            Dim parSelectedLicence
255
            Dim checkedItemsDict
255
            Dim checkedItemsDict
256
            Dim rsQry
256
            Dim rsQry
257
 
257
 
258
            ' Get the selected licence - and cater for situation where user has not changed the selected licence in
258
            ' Get the selected licence - and cater for situation where user has not changed the selected licence in
259
            ' the drop down list since first opening the form
259
            ' the drop down list since first opening the form
260
            parSelectedLicence = Request("selected_licence")
260
            parSelectedLicence = Request("selected_licence")
261
            If (IsNull(parSelectedLicence) OR parSelectedLicence = "") Then
261
            If (IsNull(parSelectedLicence) OR parSelectedLicence = "") Then
262
               parSelectedLicence = initialLicence()
262
               parSelectedLicence = initialLicence()
263
            End If
263
            End If
264
 
264
 
265
            ' Get the list of checked items from the form. They will be in a CSV format.
265
            ' Get the list of checked items from the form. They will be in a CSV format.
266
            ' Split the list at the commas and read each item into a dictionary so we can use it for testing against the
266
            ' Split the list at the commas and read each item into a dictionary so we can use it for testing against the
267
            ' full set of PV_IDs we get later.
267
            ' full set of PV_IDs we get later.
268
            Set checkedItemsDict = CreateObject("Scripting.Dictionary")
268
            Set checkedItemsDict = CreateObject("Scripting.Dictionary")
269
            checkedItemsFromForm = Request("checked_pv_id_list")
269
            checkedItemsFromForm = Request("checked_pv_id_list")
270
            checkedItemsArray = Split(checkedItemsFromForm,",")
270
            checkedItemsArray = Split(checkedItemsFromForm,",")
271
            For Each item in checkedItemsArray
271
            For Each item in checkedItemsArray
272
               checkedItemsDict.Add Trim(CStr( item )), ""
272
               checkedItemsDict.Add Trim(CStr( item )), ""
273
            Next
273
            Next
274
 
274
 
275
            ' Populate the licence name diction - for logging
275
            ' Populate the licence name diction - for logging
276
            Call getLicenceNames
276
            Call getLicenceNames
277
 
277
 
278
            ' Get the record set for the entire set of PV_IDs in the release
278
            ' Get the record set for the entire set of PV_IDs in the release
279
            Set rsQry = OraDatabase.DbCreateDynaset( release_licencing_query_string(parRtag_Id), cint(0) )
279
            Set rsQry = OraDatabase.DbCreateDynaset( release_licencing_query_string(parRtag_Id), cint(0) )
280
 
280
 
281
            Do While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
281
            Do While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
282
 
282
 
283
               ' If the user has checked the item, and it does not already exist in the licencing table associated to the selected licence,
283
               ' If the user has checked the item, and it does not already exist in the licencing table associated to the selected licence,
284
               ' then add a new row to the table to create that associatation
284
               ' then add a new row to the table to create that associatation
285
               If checkedItemsDict.Exists(CStr(rsQry("pv_id"))) Then
285
               If checkedItemsDict.Exists(CStr(rsQry("pv_id"))) Then
286
 
286
 
287
                  If (NOT IsLicenced(rsQry("pv_id"), parSelectedLicence)) Then
287
                  If (NOT IsLicenced(rsQry("pv_id"), parSelectedLicence)) Then
288
                     Call AddLicencing(rsQry("pv_id"), parSelectedLicence)
288
                     Call AddLicencing(rsQry("pv_id"), parSelectedLicence)
289
                  End If
289
                  End If
290
               Else
290
               Else
291
                  ' Item is not checked, so we need to ensure that any association to the selected licence is removed
291
                  ' Item is not checked, so we need to ensure that any association to the selected licence is removed
292
                  ' from the licencing table.
292
                  ' from the licencing table.
293
                  If (IsLicenced(rsQry("pv_id"), parSelectedLicence)) Then
293
                  If (IsLicenced(rsQry("pv_id"), parSelectedLicence)) Then
294
                     Call RemoveLicencing(rsQry("pv_id"), parSelectedLicence)
294
                     Call RemoveLicencing(rsQry("pv_id"), parSelectedLicence)
295
                  End If
295
                  End If
296
               End If
296
               End If
297
 
297
 
298
               rsQry.MoveNext
298
               rsQry.MoveNext
299
            Loop
299
            Loop
300
 
300
 
301
            ' destroy objects
301
            ' destroy objects
302
            rsQry.Close()
302
            rsQry.Close()
303
            Set rsQry = nothing
303
            Set rsQry = nothing
304
 
304
 
305
            checkedItemsDict.RemoveAll
305
            checkedItemsDict.RemoveAll
306
            Set checkedItemsDict = nothing
306
            Set checkedItemsDict = nothing
307
 
307
 
308
            ' figure out where to go next
308
            ' figure out where to go next
309
            If Request("btn_submit") = "OK" Then
309
            If Request("btn_submit") = "OK" Then
310
               ' User has finished making licencing changes so go back to the referer page
310
               ' User has finished making licencing changes so go back to the referer page
311
               Call OpenInWindow ( httpReferer )
311
               Call OpenInWindow ( httpReferer )
312
            Else
312
            Else
313
               ' else user pressed Apply, so stay in the form to let user make further licencing changes
313
               ' else user pressed Apply, so stay in the form to let user make further licencing changes
314
               Call OpenInWindow ( "form_edit_release_licencing.asp?rtag_id=" & Request("rtag_id") & "&selected_licence=" & parSelectedLicence )
314
               Call OpenInWindow ( "form_edit_release_licencing.asp?rtag_id=" & Request("rtag_id") & "&selected_licence=" & parSelectedLicence )
315
            End If
315
            End If
316
         Else
316
         Else
317
            ' User has cancelled so go back to the referer page
317
            ' User has cancelled so go back to the referer page
318
            Call OpenInWindow ( httpReferer )
318
            Call OpenInWindow ( httpReferer )
319
         End If
319
         End If
320
      End If
320
      End If
321
   End If
321
   End If
322
End Sub
322
End Sub
323
 
323
 
324
'--------------------------------------------------------------------------------------------------------------------------
324
'--------------------------------------------------------------------------------------------------------------------------
325
'  LicenceDropDownHTML
325
'  LicenceDropDownHTML
326
'
326
'
327
'  DESCRIPTION
327
'  DESCRIPTION
328
'     Constructs the HTML to render the drop down list and whilst doing so, updates the global selectedLicence variable
328
'     Constructs the HTML to render the drop down list and whilst doing so, updates the global selectedLicence variable
329
'
329
'
330
Function LicenceDropDownHTML
330
Function LicenceDropDownHTML
331
 
331
 
332
   Dim rsQry
332
   Dim rsQry
333
   Dim html_string
333
   Dim html_string
334
 
334
 
335
   ' Get the full list of licences availabel from the database
335
   ' Get the full list of licences availabel from the database
336
   Set rsQry = OraDatabase.DbCreateDynaset( available_licences_query_string, cint(0) )
336
   Set rsQry = OraDatabase.DbCreateDynaset( available_licences_query_string, cint(0) )
337
 
337
 
338
   ' Start of select tag
338
   ' Start of select tag
339
   ' This is designed such that when the user changes the selection, the page is re-rendered with the selected licence value passed
339
   ' This is designed such that when the user changes the selection, the page is re-rendered with the selected licence value passed
340
   ' in as a paramter as part of the URL along with the release tage
340
   ' in as a paramter as part of the URL along with the release tage
341
   html_string               = "<select name='selected_licence'"
341
   html_string               = "<select name='selected_licence'"
342
   html_string = html_string & " onChange=""Cascaded_Menu('parent','"& scriptName &"?rtag_id="& parRtag_Id &"&selected_licence=',this,0)"""
342
   html_string = html_string & " onChange=""Cascaded_Menu('parent','"& scriptName &"?rtag_id="& parRtag_Id &"&selected_licence=',this,0)"""
343
   html_string = html_string & " class='form_item'>"
343
   html_string = html_string & " class='form_item'>"
344
 
344
 
345
   ' Add each licence to the select, using the option tag, and set the initially selected option
345
   ' Add each licence to the select, using the option tag, and set the initially selected option
346
   While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
346
   While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
347
 
347
 
348
      If CDbl(Request("selected_licence")) = CDbl(rsQry.Fields("licence")) or selectedLicence = -1 Then
348
      If CDbl(Request("selected_licence")) = CDbl(rsQry.Fields("licence")) or selectedLicence = -1 Then
349
         html_string = html_string & "<option value='"& rsQry.Fields("licence") &"' selected>"& rsQry.Fields("name") &"</option>"
349
         html_string = html_string & "<option value='"& rsQry.Fields("licence") &"' selected>"& rsQry.Fields("name") &"</option>"
350
         selectedLicence = CDbl(rsQry("licence"))
350
         selectedLicence = CDbl(rsQry("licence"))
351
      Else
351
      Else
352
         html_string = html_string & "<option value='"& rsQry.Fields("licence") &"'>"& rsQry.Fields("name") &"</option>"
352
         html_string = html_string & "<option value='"& rsQry.Fields("licence") &"'>"& rsQry.Fields("name") &"</option>"
353
      End If
353
      End If
354
      rsQry.MoveNext
354
      rsQry.MoveNext
355
   WEnd
355
   WEnd
356
 
356
 
357
   ' destroy objects
357
   ' destroy objects
358
   rsQry.Close()
358
   rsQry.Close()
359
   Set rsQry = nothing
359
   Set rsQry = nothing
360
 
360
 
361
   ' End of select tag
361
   ' End of select tag
362
   html_string = html_string & "</select>"
362
   html_string = html_string & "</select>"
363
 
363
 
364
   ' return result
364
   ' return result
365
   LicenceDropDownHTML = html_string
365
   LicenceDropDownHTML = html_string
366
End Function
366
End Function
367
 
367
 
368
'--------------------------------------------------------------------------------------------------------------------------
368
'--------------------------------------------------------------------------------------------------------------------------
369
'  getLicenceNames
369
'  getLicenceNames
370
'
370
'
371
'  DESCRIPTION
371
'  DESCRIPTION
372
'     Populates a dictionary to simplify conversion of licence data to text
372
'     Populates a dictionary to simplify conversion of licence data to text
373
'     Used in logging changes
373
'     Used in logging changes
374
'
374
'
375
Sub getLicenceNames
375
Sub getLicenceNames
376
 
376
 
377
   Dim rsQry
377
   Dim rsQry
378
   Set licenceList=Server.CreateObject("Scripting.Dictionary") 
378
   Set licenceList=Server.CreateObject("Scripting.Dictionary") 
379
 
379
 
380
   ' Get the full list of licences availabel from the database
380
   ' Get the full list of licences availabel from the database
381
   Set rsQry = OraDatabase.DbCreateDynaset( available_licences_query_string, cint(0) )
381
   Set rsQry = OraDatabase.DbCreateDynaset( available_licences_query_string, cint(0) )
382
 
382
 
383
   ' Add each licence to the select, using the option tag, and set the initially selected option
383
   ' Add each licence to the select, using the option tag, and set the initially selected option
384
   While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
384
   While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
385
      licenceList.Add Cint(rsQry.Fields("licence")), CStr(rsQry.Fields("name"))
385
      licenceList.Add Cint(rsQry.Fields("licence")), CStr(rsQry.Fields("name"))
386
      rsQry.MoveNext
386
      rsQry.MoveNext
387
   WEnd
387
   WEnd
388
 
388
 
389
   ' destroy objects
389
   ' destroy objects
390
   rsQry.Close()
390
   rsQry.Close()
391
   Set rsQry = nothing
391
   Set rsQry = nothing
392
End Sub
392
End Sub
393
 
393
 
394
'--------------------------------------------------------------------------------------------------------------------------
394
'--------------------------------------------------------------------------------------------------------------------------
395
'  PV_ID_ListHTML
395
'  PV_ID_ListHTML
396
'
396
'
397
'  DESCRIPTION
397
'  DESCRIPTION
398
'     Constructs the HTML to render the rows of checkboxes, package names, versions and extensions
398
'     Constructs the HTML to render the rows of checkboxes, package names, versions and extensions
399
'
399
'
400
Function PV_ID_ListHTML
400
Function PV_ID_ListHTML
401
   Dim rsQry
401
   Dim rsQry
402
   Dim html_string
402
   Dim html_string
403
 
403
 
404
   Set rsQry = OraDatabase.DbCreateDynaset( release_licencing_query_string(parRtag_Id), cint(0) )
404
   Set rsQry = OraDatabase.DbCreateDynaset( release_licencing_query_string(parRtag_Id), cint(0) )
405
 
405
 
406
   '--- Render rows ---
406
   '--- Render rows ---
407
   Do While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
407
   Do While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
408
 
408
 
409
      ' BEGIN ROW
409
      ' BEGIN ROW
410
      html_string = html_string & "<tr>"
410
      html_string = html_string & "<tr>"
411
 
411
 
412
      ' CHECKBOX
412
      ' CHECKBOX
413
      If (IsLicenced(rsQry("pv_id"), selectedLicence)) Then
413
      If (IsLicenced(rsQry("pv_id"), selectedLicence)) Then
414
         html_string = html_string & "<td align='center'><input type='checkbox' name='checked_pv_id_list' value=" & rsQry("pv_id") & " checked></td>"
414
         html_string = html_string & "<td align='center'><input type='checkbox' name='checked_pv_id_list' value=" & rsQry("pv_id") & " checked></td>"
415
      Else
415
      Else
416
         html_string = html_string & "<td align='center'><input type='checkbox' name='checked_pv_id_list' value=" & rsQry("pv_id") & "></td>"
416
         html_string = html_string & "<td align='center'><input type='checkbox' name='checked_pv_id_list' value=" & rsQry("pv_id") & "></td>"
417
      End If
417
      End If
418
 
418
 
419
      ' PACKAGE NAME
419
      ' PACKAGE NAME
420
      html_string = html_string & "<td nowrap class='body_rowg'>" & rsQry("pkg_name") & "</td>"
420
      html_string = html_string & "<td nowrap class='body_rowg'>" & rsQry("pkg_name") & "</td>"
421
 
421
 
422
      ' PACKAGE VERSION
422
      ' PACKAGE VERSION
423
      If IsNull(rsQry("v_ext")) Then
423
      If IsNull(rsQry("v_ext")) Then
424
         html_string = html_string & "<td nowrap class='body_rowg'>" & rsQry("pkg_version") & "</td>"
424
         html_string = html_string & "<td nowrap class='body_rowg'>" & rsQry("pkg_version") & "</td>"
425
      Else
425
      Else
426
         html_string = html_string & "<td nowrap class='body_rowg'>" & Left(rsQry("pkg_version"), Len(rsQry("pkg_version")) - Len(rsQry("v_ext")) ) & "</td>"
426
         html_string = html_string & "<td nowrap class='body_rowg'>" & Left(rsQry("pkg_version"), Len(rsQry("pkg_version")) - Len(rsQry("v_ext")) ) & "</td>"
427
      End If
427
      End If
428
 
428
 
429
      ' PACKAGE EXTENSION
429
      ' PACKAGE EXTENSION
430
      html_string = html_string & "<td nowrap class='body_rowg'>" & rsQry("v_ext") & "</td>"
430
      html_string = html_string & "<td nowrap class='body_rowg'>" & rsQry("v_ext") & "</td>"
431
 
431
 
432
      ' END ROW
432
      ' END ROW
433
      html_string = html_string & "</tr>"
433
      html_string = html_string & "</tr>"
434
 
434
 
435
      rsQry.MoveNext
435
      rsQry.MoveNext
436
 
436
 
437
      ' ROW SEPERATOR
437
      ' ROW SEPERATOR
438
      If (NOT rsQry.BOF) AND (NOT rsQry.EOF) Then
438
      If (NOT rsQry.BOF) AND (NOT rsQry.EOF) Then
439
         html_string = html_string & "<tr><td colspan='8' background='images/bg_table_border.gif'><img src='images/spacer.gif' width='1' height='1'></td></tr>"
439
         html_string = html_string & "<tr><td colspan='8' background='images/bg_table_border.gif'><img src='images/spacer.gif' width='1' height='1'></td></tr>"
440
      End If
440
      End If
441
   Loop
441
   Loop
442
 
442
 
443
   ' destroy objects
443
   ' destroy objects
444
   rsQry.Close()
444
   rsQry.Close()
445
   Set rsQry = nothing
445
   Set rsQry = nothing
446
 
446
 
447
   ' return result
447
   ' return result
448
   PV_ID_ListHTML = html_string
448
   PV_ID_ListHTML = html_string
449
End Function
449
End Function
450
 
450
 
451
'--------------------------------------------------------------------------------------------------------------------------
451
'--------------------------------------------------------------------------------------------------------------------------
452
'--------------------------------------------------------------------------------------------------------------------------
452
'--------------------------------------------------------------------------------------------------------------------------
453
'------------ RUN BEFORE PAGE RENDER ----------
453
'------------ RUN BEFORE PAGE RENDER ----------
454
 
454
 
455
Call CheckFormEntryConditions()
455
Call CheckFormEntryConditions()
456
 
456
 
457
Call CheckFormSubmitActions()
457
Call CheckFormSubmitActions()
458
 
458
 
459
'----------------------------------------------
459
'----------------------------------------------
460
%>
460
%>
461
 
461
 
462
<html>
462
<html>
463
<head>
463
<head>
464
<title>Release Manager</title>
464
<title>Release Manager</title>
465
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
465
<link rel="shortcut icon" href="<%=FavIcon%>"/>
466
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
466
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
467
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
467
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
468
<link rel="stylesheet" href="images/navigation.css" type="text/css">
468
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
469
<script language="JavaScript" src="images/common.js"></script>
469
<link rel="stylesheet" href="images/navigation.css" type="text/css">
470
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
470
<script language="JavaScript" src="images/common.js"></script>
471
 
471
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
472
<!-- DROPDOWN MENUS -->
472
 
473
 
473
<!-- DROPDOWN MENUS -->
474
 
474
 
475
<!--#include file="_menu_def.asp"-->
475
 
476
<script language="JavaScript1.2" src="images/popup_menu.js"></script>
476
<!--#include file="_menu_def.asp"-->
477
 
477
<script language="JavaScript1.2" src="images/popup_menu.js"></script>
478
</head>
478
 
479
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
479
</head>
480
<!-- MENU LAYERS -------------------------------------->
480
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
481
<div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,'on')" onMouseout="highlightmenu(event,'off');dynamichide(event)">
481
<!-- MENU LAYERS -------------------------------------->
482
</div>
482
<div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,'on')" onMouseout="highlightmenu(event,'off');dynamichide(event)">
483
<!-- TIPS LAYERS -------------------------------------->
483
</div>
484
<div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
484
<!-- TIPS LAYERS -------------------------------------->
485
<!----------------------------------------------------->
485
<div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
486
<!-- HEADER -->
486
<!----------------------------------------------------->
487
<!--#include file="_header.asp"-->
487
<!-- HEADER -->
488
<!-- BODY ---->
488
<!--#include file="_header.asp"-->
489
 
489
<!-- BODY ---->
490
<table width="100%" border="0" cellspacing="0" cellpadding="0">
490
 
491
   <%
491
<table width="100%" border="0" cellspacing="0" cellpadding="0">
492
   '-- FROM START ---------------------------------------------------------------------------------------------------------
492
   <%
493
 
493
   '-- FROM START ---------------------------------------------------------------------------------------------------------
494
   objFormComponent.FormName = "FormName"
494
 
495
   objFormComponent.Method = "post"
495
   objFormComponent.FormName = "FormName"
496
   objFormComponent.Action = ScriptName & "?rtag_id=" & parRtag_Id & "&selected_licence=" & Request("selected_licence")
496
   objFormComponent.Method = "post"
497
   Call objFormComponent.FormStart()
497
   objFormComponent.Action = ScriptName & "?rtag_id=" & parRtag_Id & "&selected_licence=" & Request("selected_licence")
498
   %>
498
   Call objFormComponent.FormStart()
499
   <tr>
499
   %>
500
      <td width="1" background="images/bg_home_orange.gif" valign="top"></td>
500
   <tr>
501
      <td width="100%" rowspan="2" align="center" valign="top" bgcolor="#EEEFEF">
501
      <td width="1" background="images/bg_home_orange.gif" valign="top"></td>
502
         <table width="10" border="0" cellspacing="0" cellpadding="0">
502
      <td width="100%" rowspan="2" align="center" valign="top" bgcolor="#EEEFEF">
503
            <tr>
503
         <table width="10" border="0" cellspacing="0" cellpadding="0">
504
               <td width="1%"></td>
504
            <tr>
505
               <td width="100%">
505
               <td width="1%"></td>
506
                  <table width="100%"  border="0" cellspacing="0" cellpadding="0">
506
               <td width="100%">
507
                     <tr>
507
                  <table width="100%"  border="0" cellspacing="0" cellpadding="0">
508
                        <td nowrap class="body_txt"></td>
508
                     <tr>
509
                     </tr>
509
                        <td nowrap class="body_txt"></td>
510
                  </table>
510
                     </tr>
511
                  <table width="100%" border="0" cellspacing="0" cellpadding="0">
511
                  </table>
512
                     <tr>
512
                  <table width="100%" border="0" cellspacing="0" cellpadding="0">
513
                        <td nowrap class="form_ttl"><p>&nbsp;</p>
513
                     <tr>
514
                           <p>EDIT RELEASE LICENCING DETAILS</p>
514
                        <td nowrap class="form_ttl"><p>&nbsp;</p>
515
                        </td>
515
                           <p>EDIT RELEASE LICENCING DETAILS</p>
516
                        <td align="right" valign="bottom"></td>
516
                        </td>
517
                     </tr>
517
                        <td align="right" valign="bottom"></td>
518
                  </table>
518
                     </tr>
519
               </td>
519
                  </table>
520
               <td width="1%"></td>
520
               </td>
521
            </tr>
521
               <td width="1%"></td>
522
            <tr>
522
            </tr>
523
               <td align="left" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td>
523
            <tr>
524
               <td background="images/lbox_bg_blue.gif" class="lbox_ttl_w"><img src="images/h_trsp_dot.gif" width="600" height="15"></td>
524
               <td align="left" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td>
525
               <td align="right" valign="top"  background="images/lbox_bg_blue.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td>
525
               <td background="images/lbox_bg_blue.gif" class="lbox_ttl_w"><img src="images/h_trsp_dot.gif" width="600" height="15"></td>
526
            </tr>
526
               <td align="right" valign="top"  background="images/lbox_bg_blue.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td>
527
            <tr>
527
            </tr>
528
               <td bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
528
            <tr>
529
               <td bgcolor="#FFFFFF" valign="top">
529
               <td bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
530
                  <%
530
               <td bgcolor="#FFFFFF" valign="top">
531
                  %>
531
                  <%
532
                  <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
532
                  %>
533
                  <!--#include file="messages/_msg_inline.asp"-->
533
                  <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
534
                  <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
534
                  <!--#include file="messages/_msg_inline.asp"-->
535
                  <br>
535
                  <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
536
                  <table width="100%"  border="0" cellspacing="2" cellpadding="0">
536
                  <br>
537
                     <tr>
537
                  <table width="100%"  border="0" cellspacing="2" cellpadding="0">
538
                        <td nowrap class="form_iname" valign="top">Select Licence</td>
538
                     <tr>
539
                        <td valign="top" nowrap class="form_iname">
539
                        <td nowrap class="form_iname" valign="top">Select Licence</td>
540
                           <%=LicenceDropDownHTML()%>
540
                        <td valign="top" nowrap class="form_iname">
541
                        </td>
541
                           <%=LicenceDropDownHTML()%>
542
                        <td width="9%" valign="top"></td>
542
                        </td>
543
                        <tr>
543
                        <td width="9%" valign="top"></td>
544
                           <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col"></td>
544
                        <tr>
545
                           <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Package Name</td>
545
                           <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col"></td>
546
                           <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Package Version</td>
546
                           <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Package Name</td>
547
                           <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Package Extension</td>
547
                           <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Package Version</td>
548
                           <td valign="top">
548
                           <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Package Extension</td>
549
                        </tr>
549
                           <td valign="top">
550
                        <%=PV_ID_ListHTML()%>
550
                        </tr>
551
                        <tr>
551
                        <%=PV_ID_ListHTML()%>
552
                           <td class="form_iname">&nbsp;</td>
552
                        <tr>
553
                           <td>&nbsp;</td>
553
                           <td class="form_iname">&nbsp;</td>
554
                           <td class="val_err"></td>
554
                           <td>&nbsp;</td>
555
                        </tr>
555
                           <td class="val_err"></td>
556
                     </tr>
556
                        </tr>
557
                  </table>
557
                     </tr>
558
               </td>
558
                  </table>
559
               <td background="images/lbox_bgside_white.gif">&nbsp;</td>
559
               </td>
560
            </tr>
560
               <td background="images/lbox_bgside_white.gif">&nbsp;</td>
561
            <tr>
561
            </tr>
562
               <td background="images/bg_action_norm.gif" ></td>
562
            <tr>
563
               <td align="right" background="images/bg_action_norm.gif" >
563
               <td background="images/bg_action_norm.gif" ></td>
564
                  <input name="btn_submit" type="submit" class="form_btn" value="OK">
564
               <td align="right" background="images/bg_action_norm.gif" >
565
                  <input name="btn_submit" type="submit" class="form_btn" value="Apply">
565
                  <input name="btn_submit" type="submit" class="form_btn" value="OK">
566
                  <input name="btn_submit" type="submit" class="form_btn" value="Cancel">
566
                  <input name="btn_submit" type="submit" class="form_btn" value="Apply">
567
                  <input type="hidden" name="action" value="true">
567
                  <input name="btn_submit" type="submit" class="form_btn" value="Cancel">
568
               </td>
568
                  <input type="hidden" name="action" value="true">
569
               <td background="images/bg_action_norm.gif" ><img src="images/h_trsp_dot.gif" width="5" height="30"></td>
569
               </td>
570
            </tr>
570
               <td background="images/bg_action_norm.gif" ><img src="images/h_trsp_dot.gif" width="5" height="30"></td>
571
            <tr>
571
            </tr>
572
               <td background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
572
            <tr>
573
               <td background="images/lbox_bg_blue.gif"></td>
573
               <td background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
574
               <td background="images/lbox_bg_blue.gif" valign="bottom" align="right"><img src="images/lbox_br_cnr_b.gif" width="13" height="13"></td>
574
               <td background="images/lbox_bg_blue.gif"></td>
575
            </tr>
575
               <td background="images/lbox_bg_blue.gif" valign="bottom" align="right"><img src="images/lbox_br_cnr_b.gif" width="13" height="13"></td>
576
         </table>
576
            </tr>
577
      </td>
577
         </table>
578
      <td width="1" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="1"></td>
578
      </td>
579
   </tr>
579
      <td width="1" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="1"></td>
580
   <tr>
580
   </tr>
581
      <td valign="bottom" align="center" background="images/bg_home_orange.gif"><img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30"></td>
581
   <tr>
582
      <td background="images/bg_lght_gray.gif" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="500"></td>
582
      <td valign="bottom" align="center" background="images/bg_home_orange.gif"><img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30"></td>
583
   </tr>
583
      <td background="images/bg_lght_gray.gif" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="500"></td>
584
   <%
584
   </tr>
585
   Call objFormComponent.FormEnd()
585
   <%
586
   '-- FROM END ----------------------------------------------------------------------------------------------------------------
586
   Call objFormComponent.FormEnd()
587
   %>
587
   '-- FROM END ----------------------------------------------------------------------------------------------------------------
588
</table>
588
   %>
589
<!-- FOOTER -->
589
</table>
590
<!--#include file="_footer.asp"-->
590
<!-- FOOTER -->
591
</body>
591
<!--#include file="_footer.asp"-->
592
</html>
592
</body>
593
<%
593
</html>
594
Call Destroy_All_Objects
594
<%
595
%>
595
Call Destroy_All_Objects
-
 
596
%>