Subversion Repositories DevTools

Rev

Rev 5177 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'                  Change release Mode
'               --- PROCESS FORM ---
'=====================================================
%>
<%
Option explicit
' Good idea to set when using redirect
Response.Expires = 0   ' always load the page, dont store
%>
<!--#include file="common/conf.asp"-->
<!--#include file="common/globals.asp"-->
<!--#include file="common/formating.asp"-->
<!--#include file="common/qstr.asp"-->
<!--#include file="common/common_subs.asp"-->
<!--#include file="common/common_dbedit.asp"-->
<%
' Set rfile parameter. This is a return page after Login
Call objPMod.StoreParameter ( "rfile", RequestDefault("rfile","dependencies.asp") )
objPMod.PersistInQryString("proj_id")
objPMod.PersistInQryString("rtag_id")

'------------ ACCESS CONTROL ------------------
%>
<!--#include file="_access_control_login.asp"-->
<!--#include file="_access_control_general.asp"-->
<!--#include file="_access_control_project.asp"-->
<%
'------------ Variable Definition -------------
Dim rsQry
'------------ Constants Declaration -----------
'------------ Variable Init -------------------
'----------------------------------------------
%>
<%
Sub CheckWIPS ()

   OraDatabase.Parameters.Add "RTAG_ID",  Request("rtag_id"), ORAPARM_INPUT, ORATYPE_NUMBER

   Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("CheckWIPS.sql"), cint(0))

   OraDatabase.Parameters.Remove "RTAG_ID"

   If rsQry.RecordCount > 0 Then
      Call OpenInWindow( "form_check_closed_mode.asp?mode_code=" & Request("mode_code") & "&" & objPMod.ComposeURL() )
   Else
      'COMPLETE THE REQUEST...
      Call ChangeReleaseMode ()
   End If

   rsQry.Close()
   Set rsQry = Nothing

End Sub
'----------------------------------------------------------------------------------------------------------
Sub ChangeReleaseMode ( )

   OraDatabase.Parameters.Add "RTAG_ID",  Request("rtag_id"),      ORAPARM_INPUT, ORATYPE_NUMBER
   OraDatabase.Parameters.Add "MODECODE", Request("mode_code"),    ORAPARM_INPUT, ORATYPE_NUMBER
   OraDatabase.Parameters.Add "USER_ID",  objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER

   objEH.TryORA ( OraSession )
   On Error Resume Next

   OraDatabase.ExecuteSQL _
      " BEGIN   CHANGE_RELEASE_MODE ( :MODECODE, :RTAG_ID, :USER_ID );  END;"

   objEH.CatchORA ( OraSession )

   OraDatabase.Parameters.Remove "RTAG_ID"
   OraDatabase.Parameters.Remove "MODECODE"
   OraDatabase.Parameters.Remove "USER_ID"

End Sub
%>
<%
'-----------------------  MAIN LINE  ---------------------------
On Error Resume Next

objEH.Try()
'--- Process submission ---
If (Request("rtag_id") <> "")  AND  (Request("mode_code") <> "") Then

   ' mode_code values are:
   '    1   Open
   '    2   Restrictive
   '    3   Closed
   '    4   CCB
   '    5   Archive
   '    6   Preserved

   If Request("mode_code") = 3  OR Request("mode_code") = 5 OR Request("mode_code") = 6 Then
      ' only allow change to closed or archived mode if release has no wips or planned items.
      Call CheckWIPS ()
   Else
      'COMPLETE THE REQUEST...
      Call ChangeReleaseMode ()
   End If

   Dim rfile 
   rfile = Request("rfile")
   If rfile = "" Then rfile = "dependencies.asp"
   Call OpenInWindow( rfile & "?rtag_id="& Request("rtag_id") )

Else
   Err.Raise 8, "Request not accepted here."
   'Response.write "Some mandatory parameters are missing!" & "<br>" 'TODO
   'Response.write QSTR_FullQuery
End If
objEH.Catch()
%>

<!-- DESTRUCTOR ------->
<!--#include file="common/destructor.asp"-->