Subversion Repositories DevTools

Rev

Rev 6688 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6688 dpurdie 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'   gotoLatestInRelease.asp
5
'   
6
'   This page will redirect the user the current version of a package within a release
7
'   It may be used to provide a dynamic link to a user
8
'
6695 dpurdie 9
'   Can also provide text output for the purposes of scripting
10
'
11
'   Requires one of
12
'             rtag_id=nnn               ' Release Tag
13
'             pname=aaaa&rname=aaaa     ' Project Name and Release Name
14
'
15
'   Requires one of:
6688 dpurdie 16
'             pv_id=nnn
6695 dpurdie 17
'             pkg_id=nn
18
'             pkgName=aaaa
6688 dpurdie 19
'   Optional: page=name
6695 dpurdie 20
'             If page is 'show' then the version of the package will be retuened as a single line of text
6688 dpurdie 21
'=====================================================
22
%>
23
<!--#include file="common/conf.asp"-->
24
<!--#include file="common/globals.asp"-->
25
<!--#include file="common/qstr.asp"-->
26
<!--#include file="common/common_subs.asp"-->
27
<%
28
Dim Query_String
29
Dim pvId
6695 dpurdie 30
Dim pkgVersion
6688 dpurdie 31
Dim parPage
6695 dpurdie 32
Dim parPkgId
33
Dim parPkgName
34
Dim parProjName
35
Dim parRelName
6688 dpurdie 36
Dim url
37
 
38
parPage = RequestDefault("page", "dependencies.asp")
6695 dpurdie 39
parPkgId = Request("pkg_id")
40
parPkgName = Request("pkgName")
41
parProjName = Request("pname")
42
parRelName = Request("rname")
6688 dpurdie 43
 
6695 dpurdie 44
'
45
'   Determine the release (rtag_id)
46
'   If we have an rtg_id, then ist simple, otherwise we need to locate it
47
'
48
If DB_RTAG_ID = -1 Then
49
    OraDatabase.Parameters.Add "PROJ_NAME",  parProjName, ORAPARM_INPUT, ORATYPE_NUMBER
50
    OraDatabase.Parameters.Add "REL_NAME",   parRelName, ORAPARM_INPUT, ORATYPE_NUMBER
51
    Query_String = "select rt.rtag_id from release_tags rt, projects p" &_
52
                   " where p.PROJ_ID = rt.PROJ_ID" &_
53
                   " and Upper(p.PROJ_NAME) = Upper(:PROJ_NAME)" &_
54
                   " and Upper(rt.RTAG_NAME) = Upper(:REL_NAME)"
55
 
56
    Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
57
    If rsTemp.RecordCount > 0 Then
58
        DB_RTAG_ID = (rsTemp.Fields("rtag_id"))
59
    End If
60
    OraDatabase.Parameters.Remove "REL_NAME"
61
    OraDatabase.Parameters.Remove "PROJ_NAME"
62
End If
63
 
64
 
65
OraDatabase.Parameters.Add "PKG_NAME",  parPkgName, ORAPARM_INPUT, ORATYPE_NUMBER
66
OraDatabase.Parameters.Add "PKG_ID",    parPkgId,   ORAPARM_INPUT, ORATYPE_NUMBER
6688 dpurdie 67
OraDatabase.Parameters.Add "PV_ID",     DB_PV_ID,   ORAPARM_INPUT, ORATYPE_NUMBER
68
OraDatabase.Parameters.Add "RTAG_ID",   DB_RTAG_ID, ORAPARM_INPUT, ORATYPE_NUMBER
69
 
6695 dpurdie 70
If parPkgName <> "" Then
71
    Query_String = "select rc.pv_id, pv.pkg_version from" &_
72
                   " release_content rc, PACKAGE_VERSIONS pv, PACKAGES p" &_
73
                   " WHERE rc.rtag_id = :RTAG_ID" &_
74
                   " and rc.PV_ID = pv.pv_id" &_
75
                   " and pv.pkg_id = p.pkg_id" &_
76
                   " and ( p.pkg_name = :PKG_NAME or p.pkg_name || NVL(pv.V_EXT,'') = :PKG_NAME)"
6688 dpurdie 77
 
6695 dpurdie 78
ElseIf DB_PV_ID <> -1 Then
79
    Query_String = "select rc.pv_id, pv.pkg_version from" &_
80
                   " release_content rc, PACKAGE_VERSIONS pv" &_
81
                   " WHERE rc.rtag_id = :RTAG_ID" &_
82
                   " and rc.PV_ID = pv.pv_id" &_
83
                   " and pv.pkg_id = ( select pkg_id from PACKAGE_VERSIONS where pv_id = :PV_ID)" &_
84
                   " and NVL(pv.V_EXT,'.NULL') = ( select NVL(v_ext,'.NULL') from PACKAGE_VERSIONS where pv_id = :PV_ID)"
85
Else
86
    Query_String = "select rc.pv_id, pv.PKG_VERSION from" &_
87
                   " release_content rc, PACKAGE_VERSIONS pv" &_
88
                   " WHERE rc.rtag_id = :RTAG_ID" &_
89
                   " and rc.PV_ID = pv.pv_id" &_
90
                   " and pv.pkg_id = :PKG_ID"
91
End If
92
 
6688 dpurdie 93
Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
94
If rsTemp.RecordCount > 0 Then
95
    pvId = (rsTemp.Fields("pv_id"))
6695 dpurdie 96
    pkgVersion = (rsTemp.Fields("pkg_version"))
6688 dpurdie 97
End If
98
 
6695 dpurdie 99
OraDatabase.Parameters.Remove "PKG_NAME"
100
OraDatabase.Parameters.Remove "PKG_ID"
6688 dpurdie 101
OraDatabase.Parameters.Remove "PV_ID"
102
OraDatabase.Parameters.Remove "RTAG_ID"
103
 
6695 dpurdie 104
' Determine output mode
105
'   show or redirectuion
106
 
107
If parPage = "show" Then
108
    Response.Write pkgVersion & vbCrLf
109
    Response.End
110
End If
111
 
6688 dpurdie 112
url = parPage & "?rtag_id=" & DB_RTAG_ID & "&pv_id=" & pvId
113
Response.Redirect url
114
%>