Subversion Repositories DevTools

Rev

Rev 3887 | Rev 3891 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3887 Rev 3889
Line 36... Line 36...
36
Dim parNewPackage
36
Dim parNewPackage
37
Dim parPackageName
37
Dim parPackageName
38
Dim parChangeType
38
Dim parChangeType
39
Dim parBase_view_id
39
Dim parBase_view_id
40
Dim parPersonal_view_id
40
Dim parPersonal_view_id
-
 
41
Dim parBuildType
-
 
42
Dim newPkgPv_id
-
 
43
Dim errMessage
41
 
44
 
42
'------------ Constants Declaration -----------
45
'------------ Constants Declaration -----------
43
'------------ Variable Init -------------------
46
'------------ Variable Init -------------------
44
parOLDpv_id = QStrPar("OLDpv_id")
47
parOLDpv_id = QStrPar("OLDpv_id")
45
parFRnewver = QStrPar("FRnewver")
48
parFRnewver = QStrPar("FRnewver")
46
parSetToPv_id = QStrPar("pv_id")
49
parSetToPv_id = QStrPar("pv_id")
47
parSync_rtags = Request("sync_rtags")
50
parSync_rtags = Request("sync_rtags")
48
 
51
 
49
parNewPackage = Request("newPackage")
52
parNewPackage = Request("newPackage")
50
parPackageName = Request("inputPackageName")
53
parPackageName = Request("FRpkgName")
51
parChangeType = Request("change_type")
54
parChangeType = Request("change_type")
52
parBase_view_id = Request("base_view_id")
55
parBase_view_id = Request("base_view_id")
53
parPersonal_view_id = Request("personal_view_id")
56
parPersonal_view_id = Request("personal_view_id")
-
 
57
parBuildType = Request("build_type")
54
 
58
 
55
'----------------------------------------------
59
'----------------------------------------------
56
%>
60
%>
57
<%
61
<%
58
Sub New_Version ( SSnewver, NNorig_pv_id, NNSetToPv_id, NNrtag_id, sSyncRtags, retNEWpv_id )
62
Sub New_Version ( SSnewver, NNorig_pv_id, NNSetToPv_id, NNrtag_id, sSyncRtags, retNEWpv_id )
Line 61... Line 65...
61
   Original_SSnewver = SSnewver
65
   Original_SSnewver = SSnewver
62
 
66
 
63
   On Error Resume Next
67
   On Error Resume Next
64
   objEH.ErrorRedirect = TRUE
68
   objEH.ErrorRedirect = TRUE
65
 
69
 
66
   If Request("build_type") = "A" Then
70
   If parBuildType = "A" Then
67
      SSnewver = ""
71
      SSnewver = ""
68
   End If
72
   End If
69
 
73
 
70
   OraDatabase.Parameters.Add "ORIG_PV_ID", NNorig_pv_id, ORAPARM_INPUT, ORATYPE_NUMBER
74
   OraDatabase.Parameters.Add "ORIG_PV_ID", NNorig_pv_id, ORAPARM_INPUT, ORATYPE_NUMBER
71
 
75
 
72
   If Request("build_type") = "M" Then
76
   If parBuildType = "M" Then
73
      ' Manual build
77
      ' Manual build
74
      OraDatabase.Parameters.Add "PKG_VERSION", SSnewver, ORAPARM_INPUT, ORATYPE_VARCHAR2
78
      OraDatabase.Parameters.Add "PKG_VERSION", SSnewver, ORAPARM_INPUT, ORATYPE_VARCHAR2
75
      parChangeType = "F"
79
      parChangeType = "F"
76
   Else
80
   Else
77
      ' Automated Build
81
      ' Automated Build
Line 80... Line 84...
80
 
84
 
81
   ' Access Control - Allow release change while release is in restrictive mode
85
   ' Access Control - Allow release change while release is in restrictive mode
82
   cAlterReleaseWhileRestrictive = "N"
86
   cAlterReleaseWhileRestrictive = "N"
83
   If objAccessControl.IsActive("AlterReleaseContentsInRestrictiveMode") Then cAlterReleaseWhileRestrictive = "Y"
87
   If objAccessControl.IsActive("AlterReleaseContentsInRestrictiveMode") Then cAlterReleaseWhileRestrictive = "Y"
84
 
88
 
85
   OraDatabase.Parameters.Add "BUILD_TYPE",                Request("build_type"),         ORAPARM_INPUT, ORATYPE_CHAR
89
   OraDatabase.Parameters.Add "BUILD_TYPE",                parBuildType,         ORAPARM_INPUT, ORATYPE_CHAR
86
   OraDatabase.Parameters.Add "ALTER_RELEASE",             cAlterReleaseWhileRestrictive, ORAPARM_INPUT, ORATYPE_CHAR
90
   OraDatabase.Parameters.Add "ALTER_RELEASE",             cAlterReleaseWhileRestrictive, ORAPARM_INPUT, ORATYPE_CHAR
87
   OraDatabase.Parameters.Add "SET_TO_PV_ID",              NNSetToPv_id,                  ORAPARM_INPUT, ORATYPE_NUMBER
91
   OraDatabase.Parameters.Add "SET_TO_PV_ID",              NNSetToPv_id,                  ORAPARM_INPUT, ORATYPE_NUMBER
88
   OraDatabase.Parameters.Add "RTAG_ID",                   NNrtag_id,                     ORAPARM_INPUT, ORATYPE_NUMBER
92
   OraDatabase.Parameters.Add "RTAG_ID",                   NNrtag_id,                     ORAPARM_INPUT, ORATYPE_NUMBER
89
   OraDatabase.Parameters.Add "USER_ID",                   objAccessControl.UserId,       ORAPARM_INPUT, ORATYPE_NUMBER
93
   OraDatabase.Parameters.Add "USER_ID",                   objAccessControl.UserId,       ORAPARM_INPUT, ORATYPE_NUMBER
90
   OraDatabase.Parameters.Add "enumISSUES_STATE_IMPORTED", enumISSUES_STATE_IMPORTED,     ORAPARM_INPUT, ORATYPE_NUMBER
94
   OraDatabase.Parameters.Add "enumISSUES_STATE_IMPORTED", enumISSUES_STATE_IMPORTED,     ORAPARM_INPUT, ORATYPE_NUMBER
Line 110... Line 114...
110
         retNEWpv_id = NNSetToPv_id
114
         retNEWpv_id = NNSetToPv_id
111
      End If
115
      End If
112
      If NOT IsNull(retNewpv_id) Then
116
      If NOT IsNull(retNewpv_id) Then
113
         OraDatabase.ExecuteSQL _
117
         OraDatabase.ExecuteSQL _
114
         "BEGIN "&_
118
         "BEGIN "&_
115
         " UPDATE RELEASE_CONTENT SET PV_ID ="& retNEWpv_id &" WHERE RTAG_ID ="& Request("rtag_id") &" AND PV_ID ="& Request("OLDpv_id")&"; "&_
119
         " UPDATE RELEASE_CONTENT SET PV_ID ="& retNEWpv_id &" WHERE RTAG_ID ="& Request("rtag_id") &" AND PV_ID ="& parOLDpv_id &"; "&_
116
         "END;"
120
         "END;"
117
      Else
121
      Else
118
         OraDatabase.ExecuteSQL _
122
         OraDatabase.ExecuteSQL _
119
         "BEGIN "&_
123
         "BEGIN "&_
120
         " PK_PACKAGE.NEW_VERSION ( :ORIG_PV_ID, "&_
124
         " PK_PACKAGE.NEW_VERSION ( :ORIG_PV_ID, "&_
Line 187... Line 191...
187
      If objRegEx.Test( newVersion ) OR objRegEx2.Test( newVersion ) Then
191
      If objRegEx.Test( newVersion ) OR objRegEx2.Test( newVersion ) Then
188
         SanityCheck = True
192
         SanityCheck = True
189
      End If
193
      End If
190
   End If
194
   End If
191
 
195
 
192
   If Request("build_type") = "A" Then
196
   If parBuildType = "A" Then
193
      SanityCheck = True
197
      SanityCheck = True
194
   End If
198
   End If
195
 
199
 
196
   Set objRegEx = Nothing
200
   Set objRegEx = Nothing
197
   Set objRegEx2 = Nothing
201
   Set objRegEx2 = Nothing
198
End Function
202
End Function
199
 
203
 
200
'-----------------------------------------------------------------------------------
204
'-----------------------------------------------------------------------------------
-
 
205
'   Seed the Database
-
 
206
'   Create proto package-version to be used later
-
 
207
'
-
 
208
Sub Seed_DB ( retPV_ID )
-
 
209
   Dim QueryString
-
 
210
   On Error Resume Next
-
 
211
 
-
 
212
    OraDatabase.Parameters.Add "retPV_ID", 0, ORAPARM_OUTPUT, ORATYPE_NUMBER
-
 
213
    QueryString = "BEGIN Seed_Package_Names_Versions ("&_
-
 
214
                " '" & parPackageName & "'"&_
-
 
215
                ",'" & parFRnewver & "'" &_
-
 
216
                ",:USER_ID" &_
-
 
217
                ",:retPV_ID" &_
-
 
218
                ",NULL" &_
-
 
219
                ",'"& parBuildType & "'" &_
-
 
220
                ",'"& parChangeType & "'" &_
-
 
221
                "); END;"
-
 
222
    OraDatabase.ExecuteSQL QueryString
-
 
223
    retPV_ID = OraDatabase.Parameters("retPV_ID").Value
-
 
224
 
-
 
225
    OraDatabase.Parameters.Remove "retPV_ID"
-
 
226
End Sub
-
 
227
 
-
 
228
'-----------------------------------------------------------------------------------
-
 
229
' Add Package to a Release
-
 
230
Sub AddPackage ( sPvId )
-
 
231
 
-
 
232
   Dim rsQry, AssocMASS
-
 
233
 
-
 
234
   On Error Resume Next
-
 
235
   Set rsQry = OraDatabase.DbCreateDynaset( "SELECT * FROM RELEASE_TAGS RT, PACKAGE_VERSIONS PV WHERE RT.RTAG_ID ="&parRtag_id&" AND PV.PV_ID IN ("&sPvId&")", cint(0))
-
 
236
   AssocMASS = rsQry("ASSOC_MASS_REF")
-
 
237
 
-
 
238
   If ( IsNull(AssocMASS) ) OR (AssocMASS <> "" AND (rsQry("v_ext") <> ".cr" AND rsQry("v_ext") <> ".mas" )) Then
-
 
239
      OraDatabase.Parameters.Add "PV_ID_LIST", sPvId, ORAPARM_OUTPUT, ORATYPE_VARCHAR2
-
 
240
      OraDatabase.ExecuteSQL "BEGIN PK_ENVIRONMENT.ADD_PACKAGE ( :PV_ID_LIST, :BASE_VIEW_ID, :RTAG_ID, :USER_ID ); END;"
-
 
241
      OraDatabase.Parameters.Remove "PV_ID_LIST"
-
 
242
   Else
-
 
243
      Err.Raise 8, "Cannot ADD a CORE/MASS package into a MASS_REF Reference Release!"
-
 
244
   End If
-
 
245
 
-
 
246
End Sub
-
 
247
 
-
 
248
'-----------------------------------------------------------------------------------
-
 
249
Sub Add_Packages_To_View_Definition ( NNpkg_list )
-
 
250
   If OraDatabase.Parameters("PERSONAL_VIEW_ID").Value = "" Then Exit Sub
-
 
251
   OraDatabase.ExecuteSQL _
-
 
252
   " INSERT INTO view_def"&_
-
 
253
   "   SELECT TO_NUMBER( :PERSONAL_VIEW_ID ) AS view_id, pkg.pkg_id"&_
-
 
254
   "     FROM packages pkg"&_
-
 
255
   "    WHERE pkg.pkg_id IN ( "& NNpkg_list &" )"&_
-
 
256
   "   MINUS "&_
-
 
257
   "   SELECT vd.view_id, vd.pkg_id"&_
-
 
258
   "     FROM view_def vd"&_
-
 
259
   "    WHERE vd.view_id = :PERSONAL_VIEW_ID "
-
 
260
End Sub
-
 
261
'-----------------------------------------------------------------------------------
-
 
262
 
201
%>
263
%>
202
<%
264
<%
203
'-----------------------  MAIN LINE  ---------------------------
265
'-----------------------  MAIN LINE  ---------------------------
204
Dim rsQry, Query_String, Record_Count
266
Dim rsQry, Query_String, Record_Count
205
Dim versionToSanityCheck
267
Dim versionToSanityCheck
206
 
268
 
-
 
269
'Response.Write "<pre>------------<br>"
-
 
270
'Dim Item
-
 
271
'For Each Item In form_Request.Form
-
 
272
'    Response.Write "User Data: " &Item & ": " & Request.Form(Item) & "<br>"
-
 
273
'Next
-
 
274
'Response.Write "------------<br></pre>"
-
 
275
 
207
'--- Process submission ---
276
'--- Process submission ---
208
' DPurdie: Late June 2013. Play with new package creation
277
If ((parNewPackage <> "") AND parNewPackage) Then
-
 
278
    '
209
'    If parNewPackage <> "" Then
279
    ' Creating a new package and its first version
-
 
280
    ' Appears to work for others too
210
'      Dim reResult
281
    Dim reResult
211
'      Dim pkgFound
282
    Dim pkgFound
212
'
-
 
213
'      Response.write "Processing new package" & "<br>"
-
 
214
'      Response.write "Called:" & parPackageName & "<br>"
-
 
215
'
283
 
216
'      ' Ensure that the named package does not exist
284
    ' Ensure that the named package does not exist
217
'      ' Can't create it if it already exists
285
    ' Can't create it if it already exists
218
'      '
286
    '
219
'      pkgFound = ""
287
    pkgFound = ""
220
'      Query_String = "SELECT pkg.*" &_
288
    Query_String = "SELECT pkg.*" &_
221
'         "  FROM packages pkg"&_
289
         "  FROM packages pkg"&_
222
'         " WHERE pkg.pkg_id != 0"&_
290
         " WHERE pkg.pkg_id != 0"&_
223
'         "   AND UPPER(pkg.pkg_name) = UPPER('"& Trim(parPackageName) & "')"
291
         "   AND UPPER(pkg.pkg_name) = UPPER('"& Trim(parPackageName) & "')"
224
'
292
 
225
'       Set rsQry = OraDatabase.DbCreateDynaset( Query_String, ORADYN_DEFAULT )
293
    Set rsQry = OraDatabase.DbCreateDynaset( Query_String, ORADYN_DEFAULT )
226
'       If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
294
    If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
227
'            pkgFound = rsQry("pkg_id")
295
        pkgFound = rsQry("pkg_id")
228
'       End If
296
    End If
229
'       rsQry.Close
297
    rsQry.Close
230
'       Set rsQry = Nothing
298
    Set rsQry = Nothing
-
 
299
 
-
 
300
    '
-
 
301
    ' Don't need to create the package
-
 
302
    ' It will spring into existance if it does not exist
-
 
303
    '
-
 
304
 
-
 
305
    On Error Resume Next
-
 
306
    Dim bAdded: bAdded = False
-
 
307
 
231
'      Response.write "Search:" & pkgFound & "<br>"
308
    'Response.Write "<pre>------------<br>"
-
 
309
    'Dim Item
-
 
310
    'For Each Item In Request.Form
-
 
311
    '    Response.Write "User Data: " &Item & ": " & Request.Form(Item) & "<br>"
-
 
312
    'Next
-
 
313
    'Response.Write "------------<br></pre>"
-
 
314
 
-
 
315
    If ( parPackageName <> "" and parFRnewver  <> "") Then
-
 
316
 
-
 
317
        ' Determine the state of the Release
-
 
318
        ' Can only add packages to a release that is in Open Mode(N) or Restricted Mode(R)
-
 
319
        Set rsQry = OraDatabase.DbCreateDynaset( "SELECT OFFICIAL FROM RELEASE_TAGS WHERE RTAG_ID ="&parRtag_id, cint(0))
-
 
320
        objEH.Try
-
 
321
        If rsQry("official") = "N" OR rsQry("official") = "R" Then
-
 
322
 
-
 
323
          OraSession.BeginTrans
-
 
324
 
-
 
325
          '---- SQL parameters ----
-
 
326
          OraDatabase.Parameters.Add "RTAG_ID", parRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
-
 
327
          OraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER
-
 
328
          OraDatabase.Parameters.Add "BASE_VIEW_ID", parBase_view_id, ORAPARM_INPUT, ORATYPE_NUMBER
-
 
329
          OraDatabase.Parameters.Add "PERSONAL_VIEW_ID", parPersonal_view_id, ORAPARM_INPUT, ORATYPE_NUMBER
-
 
330
 
-
 
331
          '---- Create Version and Add to Release ----
-
 
332
          Call Seed_DB ( newPkgPv_id )
-
 
333
          If Err.Number = 0 Then
-
 
334
            Call AddPackage ( newPkgPv_id )
-
 
335
            If Err.Number = 0 Then
-
 
336
                If NOT IsNull(parPersonal_view_id) Then
-
 
337
                    Call Add_Packages_To_View_Definition ( newPkgPv_id )
-
 
338
                End If
-
 
339
            End If
-
 
340
          End If
232
'
341
 
-
 
342
          OraDatabase.Parameters.Remove "RTAG_ID"
-
 
343
          OraDatabase.Parameters.Remove "USER_ID"
-
 
344
          OraDatabase.Parameters.Remove "BASE_VIEW_ID"
-
 
345
          OraDatabase.Parameters.Remove "PERSONAL_VIEW_ID"
233
'       '
346
      
-
 
347
          '---- Insert additional information
-
 
348
          If Err.Number = 0 Then
-
 
349
            Call UpdateReasonForVersion (newPkgPv_id, Request("FRreason"))
-
 
350
          End If
-
 
351
 
-
 
352
          '---- Commit or Rollback the transaction
-
 
353
          If Err.number <> 0 Then
-
 
354
             OraSession.RollBack
-
 
355
             Call RaiseMsg ( enum_MSG_ERROR, Err.description )
-
 
356
          Else
-
 
357
            OraSession.CommitTrans
-
 
358
            bAdded = True
-
 
359
          End If
-
 
360
 
-
 
361
          '---- Run Release Changed scripts on archive server
234
'       ' Create the package if it does not exist
362
          '---- This is a new package so it should not be needed
235
'       '
363
          '
236
'       if not pkgFound <> "" Then
364
          'If bAdded Then
237
'            Response.write "Creating new package<br>"
365
          '  Dim objRC: Set objRC = New ReleaseChanged
-
 
366
          '  Call objRC.Run_ReleaseChanged_List(parRtag_id,newPkgPv_id,enumRELEASE_CHANGE_MODE_PKG_ADDED)
-
 
367
          '  Set objRC = Nothing
238
'       End If
368
          'End If
239
'
369
 
-
 
370
          '--- Direct user the package-version that we have just added
-
 
371
          '--- Goto the page with the release notes as more info will need to be added
-
 
372
          Response.Redirect("fixed_issues.asp?rtag_id="& parRtag_id & "&pv_id=" & newPkgPv_id )
240
'
373
 
-
 
374
        Else
-
 
375
          Err.Raise 8, "Cannot ADD a package in a CLOSED or CCB Release Mode"
-
 
376
        End If
-
 
377
        rsQry.Close
-
 
378
        Set rsQry = nothing
-
 
379
        objEH.Catch
-
 
380
    Else
-
 
381
       Response.write "Some mandatory parameters are missing!. Need parNewPackage and parFRnewver" & "<br>" 'TODO
-
 
382
       Response.write QSTR_All
241
'    End If
383
    End If
242
 
384
 
-
 
385
' Not Creating a new package
243
   If (parOLDpv_id <> "") AND ( (parFRnewver <> "") OR (parSetToPv_id <> "") ) AND (parRtag_id <> "") Then
386
ElseIf (parOLDpv_id <> "") AND ( (parFRnewver <> "") OR (parSetToPv_id <> "") ) AND (parRtag_id <> "") Then
244
      ' All mandatory parameters FOUND
387
      ' All mandatory parameters FOUND
245
 
388
 
246
      If ( (parSetToPv_id <> "") OR SanityCheck(parFRnewver) ) Then
389
      If ( (parSetToPv_id <> "") OR SanityCheck(parFRnewver) ) Then
247
 
390
 
248
         Record_Count = 0
391
         Record_Count = 0
249
 
392
 
250
         If Request("build_type") = "M" Then
393
         If parBuildType = "M" Then
251
            Query_string = " SELECT pv.pv_id, pv.is_patch, pv.dlocked"&_
394
            Query_string = " SELECT pv.pv_id, pv.is_patch, pv.dlocked"&_
252
                           " FROM package_versions pv"&_
395
                           " FROM package_versions pv"&_
253
                           " WHERE pv.pkg_version = '"& parFRnewver &"'"&_
396
                           " WHERE pv.pkg_version = '"& parFRnewver &"'"&_
254
                           " AND pv.pkg_id IN (SELECT DISTINCT origpv.pkg_id"&_
397
                           " AND pv.pkg_id IN (SELECT DISTINCT origpv.pkg_id"&_
255
                           "  FROM package_versions origpv"&_
398
                           "  FROM package_versions origpv"&_
Line 259... Line 402...
259
            Record_Count = rsQry.RecordCount
402
            Record_Count = rsQry.RecordCount
260
            rsQry.Close()
403
            rsQry.Close()
261
            Set rsQry = Nothing
404
            Set rsQry = Nothing
262
         End If
405
         End If
263
 
406
 
264
         If Record_Count > 0 And Request("build_type") = "M" Then
407
         If Record_Count > 0 And parBuildType = "M" Then
265
            Call RaiseMsg ( enum_MSG_PACKAGE_VERSION_EXISTS&"?rtag_id="& parRtag_id &"&pv_id="& parOLDpv_id &"", parFRnewver )
408
            Call RaiseMsg ( enum_MSG_PACKAGE_VERSION_EXISTS&"?rtag_id="& parRtag_id &"&pv_id="& parOLDpv_id &"", parFRnewver )
266
         Else
409
         Else
267
            Call New_Version ( parFRnewver, parOLDpv_id, parSetToPv_id, parRtag_id, parSync_rtags, NEWpv_id )
410
            Call New_Version ( parFRnewver, parOLDpv_id, parSetToPv_id, parRtag_id, parSync_rtags, NEWpv_id )
268
 
411
 
269
            If objEH.Finally Then
412
            If objEH.Finally Then
Line 272... Line 415...
272
         End If
415
         End If
273
      Else
416
      Else
274
         Call RaiseMsg( enum_MSG_PACKAGE_VERSION_INVALID&"?rtag_id="& parRtag_id &"&pv_id="& parOLDpv_id &"", parFRnewver )
417
         Call RaiseMsg( enum_MSG_PACKAGE_VERSION_INVALID&"?rtag_id="& parRtag_id &"&pv_id="& parOLDpv_id &"", parFRnewver )
275
      End If
418
      End If
276
 
419
 
277
   Else
420
Else
278
      Response.write "Some mandatory parameters are missing!" & "<br>" 'TODO
421
    Response.write "Some mandatory parameters are missing!" & "<br>" 'TODO
279
      Response.write QSTR_All
422
    Response.write QSTR_All
280
   End If ' If (parOLDpv_id <> "") AND ( (parFRnewver <> "") OR (parSetToPv_id <> "") ) AND (parRtag_id <> "") Then
423
End If ' If (parOLDpv_id <> "") AND ( (parFRnewver <> "") OR (parSetToPv_id <> "") ) AND (parRtag_id <> "") Then
281
%>
424
%>
282
 
425
 
283
<!-- DESTRUCTOR ------->
426
<!-- DESTRUCTOR ------->
284
<!--#include file="common/destructor.asp"-->
427
<!--#include file="common/destructor.asp"-->