Subversion Repositories DevTools

Rev

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

Rev 5177 Rev 5178
Line 2012... Line 2012...
2012
       RequestDefault = Request(stag)
2012
       RequestDefault = Request(stag)
2013
   Else 
2013
   Else 
2014
       RequestDefault = sdefault
2014
       RequestDefault = sdefault
2015
   End If
2015
   End If
2016
End Function
2016
End Function
-
 
2017
'--------------------------------------------------------------------------------------------------------------------------
-
 
2018
'   Data structure to assist in the Release Mode Transition Check
-
 
2019
'   Tuples (FromCondition, ToCondition)  '-' == Always
-
 
2020
'   Order matches ReleaseModeAccessCheck
-
 
2021
'
-
 
2022
Dim RMTD_Data
-
 
2023
RMTD_Data = Array(Array("-"                        ,"-"), _
-
 
2024
                  Array("ChangeModeFromRestrictive","-"), _
-
 
2025
                  Array("ChangeModeFromRestrictive","-"), _
-
 
2026
                  Array("ChangeModeFromClosed"     ,"ChangeModeToClosed"), _
-
 
2027
                  Array("ChangeModeFromClosed"     ,"ChangeModeToPreserved"), _
-
 
2028
                  Array("ChangeModeFromArchived"   ,"ChangeModeToArchived") _
-
 
2029
                  )
-
 
2030
'-------------------------------------------------
-
 
2031
' Function: ReleaseMode2Index    
-
 
2032
' Description: Convert a enumDB_RELEASE_IN_*** into an index into the above array
-
 
2033
'
-
 
2034
Function ReleaseMode2Index( eReleaseMode )
-
 
2035
    If eReleaseMode = enumDB_RELEASE_IN_OPEN_MODE Then
-
 
2036
        ReleaseMode2Index = 0
-
 
2037
    ElseIf eReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE Then
-
 
2038
        ReleaseMode2Index = 1
-
 
2039
    ElseIf eReleaseMode = enumDB_RELEASE_IN_CCB_MODE Then
-
 
2040
        ReleaseMode2Index = 2
-
 
2041
    ElseIf eReleaseMode = enumDB_RELEASE_IN_CLOSED_MODE Then
-
 
2042
        ReleaseMode2Index = 3
-
 
2043
    ElseIf eReleaseMode = enumDB_RELEASE_IN_PRESERVE_MODE Then
-
 
2044
        ReleaseMode2Index = 4
-
 
2045
    ElseIf eReleaseMode = enumDB_RELEASE_IN_ARCHIVE_MODE Then
-
 
2046
        ReleaseMode2Index = 5
-
 
2047
    Else
-
 
2048
        ReleaseMode2Index = -1
-
 
2049
    End If
-
 
2050
End Function
-
 
2051
 
-
 
2052
'-------------------------------------------------
-
 
2053
' Function:     ReleaseModeAccessCheck    
-
 
2054
' Description:  Determine if the user can change the Release Mode
-
 
2055
'               from - Start at this Release Mode
-
 
2056
'               to   - Can the user transition to this mode
-
 
2057
' Returns:      True - yes they can
-
 
2058
'
-
 
2059
Function ReleaseModeAccessCheck( from, toMode )
-
 
2060
    Dim fromIndex : fromIndex = ReleaseMode2Index(from)
-
 
2061
    Dim toIndex   : toIndex = ReleaseMode2Index(toMode)
-
 
2062
    ReleaseModeAccessCheck = False
-
 
2063
 
-
 
2064
    ' Can't Change to same mode
-
 
2065
    If from = toMode Then
-
 
2066
        Exit Function
-
 
2067
    End If
-
 
2068
 
-
 
2069
    On Error Resume Next
-
 
2070
    Dim fromAccess : fromAccess = ""
-
 
2071
    Dim toAccess   : toAccess = ""
-
 
2072
 
-
 
2073
    ' Get access type from table
-
 
2074
    '   ""      - No access (internal error)
-
 
2075
    '   "-"     - All Access allowed (if user is logged in )
-
 
2076
    '   Else    - Name of a canActionControlInProject
-
 
2077
    fromAccess = RMTD_Data(fromIndex)(0)
-
 
2078
    toAccess = RMTD_Data(toIndex)(1)
-
 
2079
 
-
 
2080
    ' Check From Condition
-
 
2081
    If fromAccess = "-" Then
-
 
2082
        ReleaseModeAccessCheck = canActionInProject()
-
 
2083
    ElseIf fromAccess <> "" Then
-
 
2084
        ReleaseModeAccessCheck = canActionControlInProject(fromAccess)
-
 
2085
    End If
-
 
2086
 
-
 
2087
    If NOT ReleaseModeAccessCheck  Then
-
 
2088
        Exit Function
-
 
2089
    End If
-
 
2090
 
-
 
2091
    ' Check to Condition
-
 
2092
    If toAccess = "-" Then
-
 
2093
        ReleaseModeAccessCheck = canActionInProject()
-
 
2094
    ElseIf toAccess <> "" Then 
-
 
2095
        ReleaseModeAccessCheck = canActionControlInProject(toAccess)
-
 
2096
    End If
-
 
2097
 
-
 
2098
End Function
-
 
2099
 
-
 
2100
'-------------------------------------------------
-
 
2101
' Function:    releaseIsClosed
-
 
2102
' Description: Determine if a release can be modified at all
-
 
2103
' Returns:     True: Release cannot be modified
-
 
2104
'                    ie: it is NOT in a state that allows modification
-
 
2105
'
-
 
2106
Function releaseIsClosed(eReleaseMode)
-
 
2107
    If eReleaseMode = enumDB_RELEASE_IN_OPEN_MODE Then
-
 
2108
        releaseIsClosed = False
-
 
2109
    ElseIf eReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE Then
-
 
2110
        releaseIsClosed = False
-
 
2111
    ElseIf eReleaseMode = enumDB_RELEASE_IN_CCB_MODE Then
-
 
2112
        releaseIsClosed = False
-
 
2113
    ElseIf eReleaseMode = enumDB_RELEASE_IN_CLOSED_MODE Then
-
 
2114
        releaseIsClosed = True
-
 
2115
    ElseIf eReleaseMode = enumDB_RELEASE_IN_PRESERVE_MODE Then
-
 
2116
        releaseIsClosed = True
-
 
2117
    ElseIf eReleaseMode = enumDB_RELEASE_IN_ARCHIVE_MODE Then
-
 
2118
        releaseIsClosed = True
-
 
2119
    Else
-
 
2120
        releaseIsClosed = True
-
 
2121
    End If
-
 
2122
End Function
-
 
2123
 
-
 
2124
'-------------------------------------------------
-
 
2125
' Function:    releaseIsWritable
-
 
2126
' Description: Determine if a release can be modified
-
 
2127
' Returns:     True: Release can be modified
-
 
2128
'                    ie: it is in a state that allows modification
-
 
2129
'
-
 
2130
Function releaseIsWritable(eReleaseMode)
-
 
2131
    If eReleaseMode = enumDB_RELEASE_IN_OPEN_MODE AND canActionInProject() Then
-
 
2132
        releaseIsWritable = True
-
 
2133
    ElseIf eReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE AND canActionControlInProject("AlterReleaseContentsInRestrictiveMode") Then
-
 
2134
        releaseIsWritable = True
-
 
2135
    ElseIf eReleaseMode = enumDB_RELEASE_IN_CCB_MODE AND canActionControlInProject("AlterReleaseContentsInRestrictiveMode")Then
-
 
2136
        releaseIsWritable = True
-
 
2137
    ElseIf eReleaseMode = enumDB_RELEASE_IN_CLOSED_MODE Then
-
 
2138
        releaseIsWritable = False
-
 
2139
    ElseIf eReleaseMode = enumDB_RELEASE_IN_PRESERVE_MODE Then
-
 
2140
        releaseIsWritable = False
-
 
2141
    ElseIf eReleaseMode = enumDB_RELEASE_IN_ARCHIVE_MODE Then
-
 
2142
        releaseIsWritable = False
-
 
2143
    Else
-
 
2144
        releaseIsWritable = False
-
 
2145
    End If
-
 
2146
End Function
-
 
2147
 
-
 
2148
'-------------------------------------------------
-
 
2149
' Function:    releaseIsMergable
-
 
2150
' Description: Determine if the user can 'Merge' into the release
-
 
2151
' Returns:     True: Release can be modified
-
 
2152
'                    ie: it is in a state that allows modification
-
 
2153
'
-
 
2154
Function releaseIsMergable(eReleaseMode)
-
 
2155
    If eReleaseMode = enumDB_RELEASE_IN_OPEN_MODE AND canActionControlInProject("MergeRelease") Then
-
 
2156
        releaseIsMergable = True
-
 
2157
    ElseIf eReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE AND canActionControlInProject("MergeRelease")  Then
-
 
2158
        releaseIsMergable = True
-
 
2159
    ElseIf eReleaseMode = enumDB_RELEASE_IN_CCB_MODE AND canActionControlInProject("MergeReleaseForCCB") Then
-
 
2160
        releaseIsMergable = True
-
 
2161
    Else
-
 
2162
        releaseIsMergable = False
-
 
2163
    End If
-
 
2164
End Function
-
 
2165
 
2017
%>
2166
%>