Subversion Repositories DevTools

Rev

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

Rev 5964 Rev 5983
Line 1... Line 1...
1
<%
1
<%
2
'=====================================================
2
'=====================================================
3
'            Package Action Buttons
3
'            Package Action Buttons
4
'=====================================================
4
'=====================================================
5
%>
5
%>
6
 
-
 
7
<%
6
<%
8
Sub ActivateButtonAccordingToReleaseModeAndPermissions( NNbutton, NNpermission)
7
Sub ActivateButtonAccordingToReleaseModeAndPermissions(NNbutton, NNpermission)
9
   If canActionInProject() Then
8
    If canActionInProject() Then
10
      If ( ReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE) OR ( ReleaseMode = enumDB_RELEASE_IN_CCB_MODE ) Then
9
        If (ReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE) OR(ReleaseMode = enumDB_RELEASE_IN_CCB_MODE) Then
11
         If canActionControlInProject(NNpermission) Then
10
            If canActionControlInProject(NNpermission) Then
12
            Call objBtnControl.Active ( NNbutton, "Y" )
11
                Call objBtnControl.Active(NNbutton, "Y")
13
         Else
12
            Else
14
            Call objBtnControl.Active ( NNbutton, "N" )
13
                Call objBtnControl.Active(NNbutton, "N")
15
         End If
14
            End If
16
      ElseIf ( ReleaseMode = enumDB_RELEASE_IN_OPEN_MODE ) Then
15
        ElseIf (ReleaseMode = enumDB_RELEASE_IN_OPEN_MODE) Then
17
         Call objBtnControl.Active ( NNbutton, "Y" )
16
            Call objBtnControl.Active(NNbutton, "Y")
18
      Else
17
        Else
19
         Call objBtnControl.Active ( NNbutton, "N" )
18
            Call objBtnControl.Active(NNbutton, "N")
20
      End If
19
        End If
21
   Else
20
    Else
22
      Call objBtnControl.Active ( NNbutton, "N" )
21
        Call objBtnControl.Active(NNbutton, "N")
23
   End If
22
    End If
24
End Sub
23
End Sub
25
 
24
 
26
Sub RenderActionButtons
25
Sub RenderActionButtons
27
'--Determine whether the release has an associated MASS_REF
26
    '--Determine whether the release has an associated MASS_REF
28
Dim rsAssoc, AssocMASSREF, AssocMASSREFValue, StatesUsed
27
    Dim rsAssoc, AssocMASSREF, AssocMASSREFValue, StatesUsed
29
If parRtag_id > 0 Then
28
    If parRtag_id > 0 Then
30
   Set rsAssoc = OraDatabase.DbCreateDynaset( "SELECT ASSOC_MASS_REF, PRODUCT_STATE_USED FROM RELEASE_TAGS WHERE RTAG_ID="&parRtag_id, cint(0))
29
        Set rsAssoc = OraDatabase.DbCreateDynaset("SELECT ASSOC_MASS_REF, PRODUCT_STATE_USED FROM RELEASE_TAGS WHERE RTAG_ID="&parRtag_id, cint(0))
31
   AssocMASSREFValue = rsAssoc("ASSOC_MASS_REF")
30
        AssocMASSREFValue = rsAssoc("ASSOC_MASS_REF")
32
   StatesUsed = rsAssoc("PRODUCT_STATE_USED")
31
        StatesUsed = rsAssoc("PRODUCT_STATE_USED")
33
      If NOT IsNull(rsAssoc("ASSOC_MASS_REF")) Then
32
          If NOT IsNull(rsAssoc("ASSOC_MASS_REF")) Then
34
         AssocMASSREF = True
33
             AssocMASSREF = True
35
      Else
34
          Else
36
         AssocMASSREF = False
35
             AssocMASSREF = False
37
      End If
36
          End If
38
   rsAssoc.Close()
37
        rsAssoc.Close()
39
   Set rsAssoc = nothing
38
        Set rsAssoc = nothing
40
End If
39
    End If
41
 
-
 
42
'-- Define Action buttons on this tab
-
 
43
If IsNull(pkgInfoHash.Item("is_patch")) Then
-
 
44
   If parRtag_id > 0 Then
-
 
45
      If (pkgInfoHash.Item("can_edit_in_project") = "1" OR  _
-
 
46
         canShowControlInProject("AlterReleaseContentsInRestrictiveMode")) OR (pkgInfoHash.Item("v_ext") = ".mas" AND pkgInfoHash.Item("v_ext") = ".cr" OR NOT AssocMASSREF OR NOT IsNull(pkgInfoHash.Item("v_ext"))  ) _
-
 
47
 
-
 
48
      Then
-
 
49
         If pkgInfoHash.Item("is_deployable") = "Y" AND pkgInfoHash.Item("dlocked") = "Y" AND StatesUsed = "Y" Then
-
 
50
            If pkgInfoHash.Item("product_state") = 1 Then
-
 
51
 
-
 
52
            'Response.Write("Pressed")
-
 
53
               ' For Products that have been approved for Pending Integration
-
 
54
               aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingTest", "btnRejectProduct", "width=20", _
-
 
55
                             "width=20", "btnMoveToView", "btnStickyNotes")
-
 
56
 
-
 
57
            ElseIf pkgInfoHash.Item("product_state") = 2 Then
-
 
58
               ' For Products that have been approved for Pending Test
-
 
59
               aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingIntegration", "btnPendingDeployment","btnRejectProduct", "width=20", _
-
 
60
                             "width=20", "btnMoveToView", "btnStickyNotes")
-
 
61
 
-
 
62
            ElseIf pkgInfoHash.Item("product_state") = 3 or pkgInfoHash.Item("product_state") = 4 Then
-
 
63
         '      'For Products that have been approved for Pending Deployment
-
 
64
               aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnRemovePackage", "width=20", "btnRejectPackage", "width=20", _
-
 
65
                             "btnMoveToView", "btnReversionPackage", "width=20", "btnMoveToView", "btnStickyNotes")
-
 
66
 
-
 
67
            ElseIf pkgInfoHash.Item("product_state") = 5 Then
-
 
68
         '      'For Products that have been approved for Pending Integration and Deployment
-
 
69
               aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingDeployment", "width=20", _
-
 
70
                             "width=20", "btnMoveToView", "btnStickyNotes")
-
 
71
 
-
 
72
            ElseIf IsNull(pkgInfoHash.Item("product_state")) Then
-
 
73
               If canShowControlInProject("ApprovePendingIntegrateAndDeploy") Then
-
 
74
                  'For Products that have have not yet been approved for Pending Integration
-
 
75
                  aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingIntegration", "btnPendingIntegrateAndDeploy", "btnRejectProduct", "width=20", "btnRemovePackage", _
-
 
76
                                "btnMoveToView", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
-
 
77
               Else
-
 
78
                  'For Products that have have not yet been approved for Pending Integration
-
 
79
                  aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingIntegration","btnRemovePackage", "width=20", "btnRejectProduct", "width=20", _
-
 
80
                                "width=20", "btnMoveToView", "btnStickyNotes")
-
 
81
               End If
-
 
82
            Else
-
 
83
               ' For Packages Not In Release(Bug Fix From Deployment Manager)
-
 
84
               aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnRemovePackage", "width=20", "btnMakePending", "btnApprovePackage", "btnMakeRelease", "btnRejectPackage", "width=20", _
-
 
85
                             "btnMoveToView", "btnReversionPackage", "width=20", "btnMoveToView", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
-
 
86
 
-
 
87
            End If
-
 
88
 
40
 
-
 
41
    '-- Define Action buttons on this tab
-
 
42
    If IsNull(pkgInfoHash.Item("is_patch")) Then
-
 
43
        If parRtag_id > 0 Then
-
 
44
          If (pkgInfoHash.Item("can_edit_in_project") = "1" OR  _
89
         ElseIf canActionControlInProject("EditCriticalInfoForLockedPackage") Then
45
             canShowControlInProject("AlterReleaseContentsInRestrictiveMode")) OR _
-
 
46
             (pkgInfoHash.Item("v_ext") = ".mas" AND pkgInfoHash.Item("v_ext") = ".cr" OR _
90
            ' For Packages in Release
47
              NOT AssocMASSREF OR NOT IsNull(pkgInfoHash.Item("v_ext")) ) Then
-
 
48
 
91
            aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "width=20", "btnDestroyWip" ,"btnRemovePackage", "btnMoveWIPToRelease",  "width=20", _
49
             If pkgInfoHash.Item("is_deployable") = "Y" AND pkgInfoHash.Item("dlocked") = "Y" AND StatesUsed = "Y" Then
-
 
50
                If pkgInfoHash.Item("product_state") = 1 Then
-
 
51
 
-
 
52
                   ' For Products that have been approved for Pending Integration
92
                                "btnAddDaemonInstTestBuildPackage", "btnMakePending", "btnApprovePackage", "btnApproveMerge", "btnMakeRelease", "btnRejectPackage", "btnRejectAutobuildPackage", "btnMakeUnrelease", "width=20", _
53
                   aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingTest", "btnRejectProduct", "width=20", _
93
                                "btnMoveToView", "btnReversionPackage","btnLockPackage","btnUnLockPackage", "width=20", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation", "btnAddDaemonInstRipplePackage" )
54
                                 "width=20", "btnMoveToView", "btnStickyNotes")
-
 
55
 
94
         Else
56
                ElseIf pkgInfoHash.Item("product_state") = 2 Then
95
            ' For Packages in Release
57
                   ' For Products that have been approved for Pending Test
96
            aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "width=20", "btnDestroyWip","btnRemovePackage", "btnMoveWIPToRelease", "width=20", _
58
                   aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingIntegration", "btnPendingDeployment","btnRejectProduct", "width=20", _
-
 
59
                                 "width=20", "btnMoveToView", "btnStickyNotes")
-
 
60
 
-
 
61
                ElseIf pkgInfoHash.Item("product_state") = 3 or pkgInfoHash.Item("product_state") = 4 Then
-
 
62
             '      'For Products that have been approved for Pending Deployment
97
                                "btnAddDaemonInstTestBuildPackage", "btnMakePending", "btnApprovePackage", "btnApproveMerge", "btnMakeRelease", "btnRejectPackage", "btnRejectAutobuildPackage", "width=20", _
63
                   aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnRemovePackage", "width=20", "btnRejectPackage", "width=20", _
98
                                "btnMoveToView", "btnReversionPackage", "width=20", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation", "btnAddDaemonInstRipplePackage")
64
                                 "btnMoveToView", "btnReversionPackage", "width=20", "btnMoveToView", "btnStickyNotes")
-
 
65
 
99
         End If
66
                ElseIf pkgInfoHash.Item("product_state") = 5 Then
-
 
67
             '      'For Products that have been approved for Pending Integration and Deployment
-
 
68
                   aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingDeployment", "width=20", _
-
 
69
                                 "width=20", "btnMoveToView", "btnStickyNotes")
100
      Else
70
 
101
         ' Non-Editable Packages in Release
71
                ElseIf IsNull(pkgInfoHash.Item("product_state")) Then
102
         If AssocMASSREF Then
72
                   If canShowControlInProject("ApprovePendingIntegrateAndDeploy") Then
-
 
73
                      'For Products that have have not yet been approved for Pending Integration
-
 
74
                      aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingIntegration", "btnPendingIntegrateAndDeploy", "btnRejectProduct", "width=20", "btnRemovePackage", _
103
            aTabBtnsDef = Array( "btnNewVersion-MASSREF", "btnVersionHistory", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
75
                                    "btnMoveToView", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
104
         Else
76
                   Else
-
 
77
                      'For Products that have have not yet been approved for Pending Integration
105
            aTabBtnsDef = Array( "btnVersionHistory", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
78
                      aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingIntegration","btnRemovePackage", "width=20", "btnRejectProduct", "width=20", _
-
 
79
                                    "width=20", "btnMoveToView", "btnStickyNotes")
106
         End If
80
                   End If
107
      End If
81
                Else
-
 
82
                   ' For Packages Not In Release(Bug Fix From Deployment Manager)
-
 
83
                   aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnRemovePackage", "width=20", "btnMakePending", "btnApprovePackage", "btnMakeRelease", "btnRejectPackage", "width=20", _
-
 
84
                                 "btnMoveToView", "btnReversionPackage", "width=20", "btnMoveToView", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
108
 
85
 
109
   Else
-
 
110
      ' For standalone Packages (Not viewed in project release)
-
 
111
      aTabBtnsDef = Array("btnVersionHistory", "btnRecycleBin", "btnReversionPackage", "width=20", "btnStickyNotes")
-
 
112
   End If
-
 
113
 
-
 
114
Else
-
 
115
   ' For Patches
-
 
116
   'aTabBtnsDef = Array("btnMakePending", "btnApprovePackage", "btnMakeRelease", "btnMakeUnrelease", "btnRejectPackage", "width=20", _
-
 
117
   '                 "btnReversionPackage", "width=20", "btnObsoletePatch", "btnUnobsoletePatch", "width=20","btnStickyNotes")
-
 
118
   aTabBtnsDef = Array("btnMakeRelease", "btnMakeUnrelease", "width=20", _
-
 
119
                    "btnReversionPackage", "width=20", "btnObsoletePatch", "btnUnobsoletePatch", "width=20","btnStickyNotes")
-
 
120
 
-
 
121
 
-
 
122
End If
-
 
123
 
-
 
124
' Load action buttons from database
-
 
125
Call objBtnControl.LoadActionButtons ( aTabBtnsDef, OraDatabase )
-
 
126
 
-
 
127
' Set spacing to minimum between buttons
-
 
128
objBtnControl.ButtonSpacer = 0
-
 
129
objBtnControl.ImageHspace = 2
-
 
130
 
-
 
131
 
-
 
132
'--- Set button conditions ---
-
 
133
objBtnControl.IsReadonlyAction = releaseIsClosed(ReleaseMode)
-
 
134
objBtnControl.setClosed        = releaseIsClosed(ReleaseMode)
-
 
135
 
-
 
136
 
-
 
137
' NOTE: At this point, all buttons are Active and Visible and must now be configured
-
 
138
'       as appropriate by statements that follow.
-
 
139
 
-
 
140
 
-
 
141
'--- Set default button settings ---
-
 
142
Call objBtnControl.Visible ( "btnNewVersion", "N" )
-
 
143
Call objBtnControl.Visible ( "btnNewVersion-MASSREF", "N")
-
 
144
Call objBtnControl.Visible ( "btnMakePending", "N" )
-
 
145
Call objBtnControl.Active  ( "btnMakePending", "N" )
-
 
146
Call objBtnControl.Visible ( "btnApprovePackage", "N" )
-
 
147
Call objBtnControl.Visible ( "btnMakeRelease", "N" )
-
 
148
'Call objBtnControl.Active ( "btnMakeRelease", "N" )
-
 
149
Call objBtnControl.Active  ( "btnRejectPackage", "N" )
-
 
150
Call objBtnControl.Visible ( "btnRejectPackage", "N" )
-
 
151
Call objBtnControl.Active  ( "btnRejectAutobuildPackage", "N" )
-
 
152
Call objBtnControl.Visible ( "btnRejectAutobuildPackage", "N" )
-
 
153
Call objBtnControl.Active  ( "btnMakeUnrelease", "N" )
-
 
154
Call objBtnControl.Active  ( "btnReversionPackage", "N" )
-
 
155
Call objBtnControl.Visible ( "btnObsoletePatch", "N" )
-
 
156
Call objBtnControl.Visible ( "btnUnobsoletePatch", "N" )
-
 
157
Call objBtnControl.Visible ( "btnDeprecation", "N" )
-
 
158
Call objBtnControl.Visible ( "btnUnDeprecation", "N" )
-
 
159
Call objBtnControl.Active  ( "btnApproveMerge", "N" )
-
 
160
Call objBtnControl.Visible ( "btnApproveMerge", "N" )
-
 
161
Call objBtnControl.Active  ( "btnAddDaemonInstRipplePackage", "N" )
-
 
162
Call objBtnControl.Visible ( "btnAddDaemonInstRipplePackage", "N" )
-
 
163
Call objBtnControl.Active  ( "btnAddDaemonInstTestBuildPackage", "N" )
-
 
164
Call objBtnControl.Visible ( "btnAddDaemonInstTestBuildPackage", "N" )
-
 
165
Call objBtnControl.Active  ( "btnMoveWIPToRelease", "N" )
-
 
166
Call objBtnControl.Visible ( "btnMoveWIPToRelease", "N" )
-
 
167
 
-
 
168
Call objBtnControl.Active  ( "btnDestroyWip", "N" )
-
 
169
Call objBtnControl.Visible ( "btnDestroyWip", "N" )
-
 
170
 
-
 
171
If (pkgInfoHash.Item("can_edit_in_project") = "1") Then
-
 
172
   '-- Change button setting on conditions ---
-
 
173
    If ( pkgInfoHash.Item ("build_type") <> "M" ) Then
-
 
174
      ' For automatic build
86
                End If
175
      Call objBtnControl.Visible ( "btnMakePending", "Y" )
-
 
176
 
87
 
177
      Call objBtnControl.Visible ( "btnApprovePackage", "Y" )
88
             ElseIf canActionControlInProject("EditCriticalInfoForLockedPackage") Then
-
 
89
                ' For Packages in Release
-
 
90
                aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "width=20", "btnDestroyWip" ,"btnRemovePackage", "btnMoveWIPToRelease",  "width=20", _
-
 
91
                                    "btnAddDaemonInstTestBuildPackage", "btnMakePending", "btnApprovePackage", "btnApproveMerge", "btnMakeRelease", "btnRejectPackage", "btnRejectAutobuildPackage", "btnMakeUnrelease", "width=20", _
-
 
92
                                    "btnMoveToView", "btnReversionPackage","btnLockPackage","btnUnLockPackage", "width=20", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation", "btnAddDaemonInstRipplePackage")
-
 
93
             Else
-
 
94
                ' For Packages in Release
-
 
95
                aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "width=20", "btnDestroyWip","btnRemovePackage", "btnMoveWIPToRelease", "width=20", _
-
 
96
                                    "btnAddDaemonInstTestBuildPackage", "btnMakePending", "btnApprovePackage", "btnApproveMerge", "btnMakeRelease", "btnRejectPackage", "btnRejectAutobuildPackage", "width=20", _
-
 
97
                                    "btnMoveToView", "btnReversionPackage", "width=20", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation", "btnAddDaemonInstRipplePackage")
-
 
98
             End If
-
 
99
          Else
-
 
100
             ' Non-Editable Packages in Release
-
 
101
             If AssocMASSREF Then
-
 
102
                aTabBtnsDef = Array("btnNewVersion-MASSREF", "btnVersionHistory", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
-
 
103
             Else
-
 
104
                aTabBtnsDef = Array("btnVersionHistory", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
-
 
105
             End If
-
 
106
          End If
-
 
107
 
-
 
108
        Else
178
      Call objBtnControl.Active  ( "btnApprovePackage", "N" )
109
          ' For standalone Packages(Not viewed in project release)
-
 
110
          aTabBtnsDef = Array("btnVersionHistory", "btnRecycleBin", "btnReversionPackage", "width=20", "btnStickyNotes")
-
 
111
        End If
179
 
112
 
180
      Call objBtnControl.Visible ( "btnMakeUnrelease", "N" )
-
 
181
      Call objBtnControl.Visible ( "btnRejectPackage", "Y" )
-
 
182
    Else
113
    Else
183
      ' For Manual Build
114
       ' For Patches
184
      If ( ReleaseMode = enumDB_RELEASE_IN_CCB_MODE ) Then
-
 
185
          If Not canShowControlInProject("ApproveForManualBuild") Then
-
 
186
         Call objBtnControl.Visible ( "btnMakeRelease", "N" )
-
 
187
      Else
-
 
188
         Call objBtnControl.Visible ( "btnMakeRelease", "Y" )
115
        aTabBtnsDef = Array("btnMakeRelease", "btnMakeUnrelease", "width=20", _
189
         Call objBtnControl.Visible ( "btnMakeUnrelease", "N" )
116
                        "btnReversionPackage", "width=20", "btnObsoletePatch", "btnUnobsoletePatch", "width=20","btnStickyNotes")
190
      End If
117
 
191
    End If
118
    End If
192
 
119
 
193
  If (pkgInfoHash.Item("is_patch")) <> "" Then
-
 
194
     If canShowControlInProject ("ReleasePatch") Then
120
    ' Load action buttons from database
195
        Call objBtnControl.Visible ( "btnMakeRelease", "Y" )
121
    Call objBtnControl.LoadActionButtons(aTabBtnsDef, OraDatabase)
196
     Else
-
 
197
        Call objBtnControl.Visible ( "btnMakeRelease", "N" )
-
 
198
     End If
-
 
199
  End If
-
 
200
 
-
 
201
      If ( ReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE) OR ( ReleaseMode = enumDB_RELEASE_IN_CCB_MODE ) Then
-
 
202
 
-
 
203
         Call objBtnControl.Visible ( "btnMakePending", "Y" )
-
 
204
 
-
 
205
         If ( ( pkgInfoHash.Item ("dlocked") = "N" ) OR ( pkgInfoHash.Item ("dlocked") = "R" ) ) _
-
 
206
            AND ( IsNull(pkgInfoHash.Item("is_patch")) ) Then
-
 
207
            Call objBtnControl.Active  ( "btnMakeRelease", "N" )
-
 
208
            Call objBtnControl.Visible ( "btnMakeRelease", "N" )
-
 
209
         End If
-
 
210
 
122
 
-
 
123
    ' Set spacing to minimum between buttons
-
 
124
    objBtnControl.ButtonSpacer = 0
-
 
125
    objBtnControl.ImageHspace = 2
-
 
126
 
-
 
127
    '--- Set button conditions ---
-
 
128
    objBtnControl.IsReadonlyAction = releaseIsClosed(ReleaseMode)
-
 
129
    objBtnControl.setClosed        = releaseIsClosed(ReleaseMode)
-
 
130
 
-
 
131
    ' NOTE: At this point, all buttons are Active and Visible and must now be configured
-
 
132
    '       as appropriate by statements that follow.
-
 
133
 
-
 
134
    '--- Set default button settings ---
-
 
135
    Call objBtnControl.Visible("btnNewVersion", "N")
-
 
136
    Call objBtnControl.Visible("btnNewVersion-MASSREF", "N")
-
 
137
    Call objBtnControl.Visible("btnMakePending", "N")
-
 
138
    Call objBtnControl.Active ("btnMakePending", "N")
-
 
139
    Call objBtnControl.Visible("btnApprovePackage", "N")
-
 
140
    Call objBtnControl.Visible("btnMakeRelease", "N")
-
 
141
    'Call objBtnControl.Active("btnMakeRelease", "N")
-
 
142
    Call objBtnControl.Active ("btnRejectPackage", "N")
-
 
143
    Call objBtnControl.Visible("btnRejectPackage", "N")
-
 
144
    Call objBtnControl.Active ("btnRejectAutobuildPackage", "N")
-
 
145
    Call objBtnControl.Visible("btnRejectAutobuildPackage", "N")
-
 
146
    Call objBtnControl.Active ("btnMakeUnrelease", "N")
-
 
147
    Call objBtnControl.Active ("btnReversionPackage", "N")
-
 
148
    Call objBtnControl.Visible("btnObsoletePatch", "N")
-
 
149
    Call objBtnControl.Visible("btnUnobsoletePatch", "N")
-
 
150
    Call objBtnControl.Visible("btnDeprecation", "N")
-
 
151
    Call objBtnControl.Visible("btnUnDeprecation", "N")
-
 
152
    Call objBtnControl.Active ("btnApproveMerge", "N")
-
 
153
    Call objBtnControl.Visible("btnApproveMerge", "N")
-
 
154
    Call objBtnControl.Active ("btnAddDaemonInstRipplePackage", "N")
-
 
155
    Call objBtnControl.Visible("btnAddDaemonInstRipplePackage", "N")
-
 
156
    Call objBtnControl.Active ("btnAddDaemonInstTestBuildPackage", "N")
-
 
157
    Call objBtnControl.Visible("btnAddDaemonInstTestBuildPackage", "N")
-
 
158
    Call objBtnControl.Active ("btnMoveWIPToRelease", "N")
-
 
159
    Call objBtnControl.Visible("btnMoveWIPToRelease", "N")
-
 
160
    Call objBtnControl.Active ("btnDestroyWip", "N")
-
 
161
    Call objBtnControl.Visible("btnDestroyWip", "N")
-
 
162
 
-
 
163
    If (pkgInfoHash.Item("can_edit_in_project") = "1") Then
-
 
164
       '-- Change button setting on conditions ---
-
 
165
        If (pkgInfoHash.Item("build_type") <> "M") Then
-
 
166
          ' For automatic build
-
 
167
          Call objBtnControl.Visible("btnMakePending", "Y")
-
 
168
 
-
 
169
          Call objBtnControl.Visible("btnApprovePackage", "Y")
-
 
170
          Call objBtnControl.Active ("btnApprovePackage", "N")
-
 
171
 
-
 
172
          Call objBtnControl.Visible("btnMakeUnrelease", "N")
211
         Call objBtnControl.Visible ( "btnRejectPackage", "Y" )
173
          Call objBtnControl.Visible("btnRejectPackage", "Y")
-
 
174
        Else
-
 
175
          ' For Manual Build
-
 
176
          If (ReleaseMode = enumDB_RELEASE_IN_CCB_MODE) Then
-
 
177
              If Not canShowControlInProject("ApproveForManualBuild") Then
-
 
178
             Call objBtnControl.Visible("btnMakeRelease", "N")
-
 
179
          Else
-
 
180
             Call objBtnControl.Visible("btnMakeRelease", "Y")
-
 
181
             Call objBtnControl.Visible("btnMakeUnrelease", "N")
-
 
182
          End If
-
 
183
        End If
212
 
184
 
-
 
185
      If (pkgInfoHash.Item("is_patch")) <> "" Then
213
         If (ReleaseMode = enumDB_RELEASE_IN_CCB_MODE) OR (NOT canShowControlInProject("AlterReleaseContentsInRestrictiveMode")) Then
186
         If canShowControlInProject("ReleasePatch") Then
214
            Call objBtnControl.Visible ( "btnMakeUnrelease", "N" )
187
            Call objBtnControl.Visible("btnMakeRelease", "Y")
-
 
188
         Else
215
            Call objBtnControl.Visible ( "btnRemovePackage", "N" )
189
            Call objBtnControl.Visible("btnMakeRelease", "N")
216
         End If
190
         End If
217
      End If
191
      End If
218
 
192
 
-
 
193
          If (ReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE) OR(ReleaseMode = enumDB_RELEASE_IN_CCB_MODE) Then
-
 
194
 
-
 
195
             Call objBtnControl.Visible("btnMakePending", "Y")
-
 
196
 
-
 
197
             If ((pkgInfoHash.Item("dlocked") = "N") OR(pkgInfoHash.Item("dlocked") = "R")) _
-
 
198
                AND(IsNull(pkgInfoHash.Item("is_patch"))) Then
-
 
199
                Call objBtnControl.Active ("btnMakeRelease", "N")
-
 
200
                Call objBtnControl.Visible("btnMakeRelease", "N")
-
 
201
             End If
-
 
202
 
-
 
203
             Call objBtnControl.Visible("btnRejectPackage", "Y")
-
 
204
 
-
 
205
             If (ReleaseMode = enumDB_RELEASE_IN_CCB_MODE) OR(NOT canShowControlInProject("AlterReleaseContentsInRestrictiveMode")) Then
-
 
206
                Call objBtnControl.Visible("btnMakeUnrelease", "N")
-
 
207
                Call objBtnControl.Visible("btnRemovePackage", "N")
-
 
208
             End If
-
 
209
          End If
-
 
210
 
219
    If ( ReleaseMode = enumDB_RELEASE_IN_OPEN_MODE) Then
211
        If (ReleaseMode = enumDB_RELEASE_IN_OPEN_MODE) Then
220
         Call objBtnControl.Active ( "btnMakeRelease", "Y" )
212
             Call objBtnControl.Active("btnMakeRelease", "Y")
221
         Call objBtnControl.Visible ( "btnMakeRelease", "Y" )
213
             Call objBtnControl.Visible("btnMakeRelease", "Y")
-
 
214
        End If
-
 
215
 
-
 
216
        End If
222
    End If
217
    End If
223
 
218
 
224
   End If
-
 
225
End If
-
 
226
 
219
 
-
 
220
    '-- Change button setting on conditions ---
-
 
221
    If pkgInfoHash.Item("dlocked") = "Y" Then
-
 
222
       ' Package is Released and Locked
-
 
223
        Call objBtnControl.Visible("btnNewVersion", "Y")
-
 
224
        If Not canActionControlInProject("CreateNewVersion") Then
-
 
225
            Call objBtnControl.Active("btnNewVersion", "N")
-
 
226
        End If
227
 
227
 
-
 
228
        If AssocMASSREF Then
-
 
229
          Call objBtnControl.Visible("btnNewVersion-MASSREF", "Y")
-
 
230
        End If
228
 
231
 
229
'-- Change button setting on conditions ---
232
        If (parRtag_id > 0) AND canShowControlInProject("DeprecatePackage") Then
230
If pkgInfoHash.Item ("dlocked") = "Y" Then
233
          If (pkgInfoHash.Item("is_deprecated")) Then
-
 
234
             Call objBtnControl.Visible("btnDeprecation", "Y")
231
   ' Package is Released and Locked
235
          Else
232
   Call objBtnControl.Visible ( "btnNewVersion", "Y" )
236
             Call objBtnControl.Visible("btnUnDeprecation", "Y")
-
 
237
          End If
-
 
238
        Else
233
   If Not canActionControlInProject("CreateNewVersion") Then
239
        Call objBtnControl.Active("btnDeprecation",  "N")
234
        Call objBtnControl.Active ( "btnNewVersion", "N" )
240
        Call objBtnControl.Visible("btnDeprecation",  "Y")
235
   End If
241
        End If
236
 
242
 
237
   If AssocMASSREF Then
243
        Call objBtnControl.Active("btnApprovePackage", "N")
238
      Call objBtnControl.Visible ( "btnNewVersion-MASSREF", "Y" )
244
        Call objBtnControl.Active("btnMakeRelease", "N")
239
   End If
-
 
240
 
245
 
241
   If (parRtag_id > 0) AND canShowControlInProject("DeprecatePackage") Then
-
 
242
      If (pkgInfoHash.Item("is_deprecated")) Then
-
 
243
         Call objBtnControl.Visible ( "btnDeprecation", "Y" )
-
 
244
      Else
-
 
245
         Call objBtnControl.Visible ( "btnUnDeprecation", "Y" )
-
 
246
      End If
-
 
247
   Else
-
 
248
    Call objBtnControl.Active ( "btnDeprecation",  "N")
-
 
249
    Call objBtnControl.Visible ( "btnDeprecation",  "Y")
-
 
250
   End If
-
 
251
 
-
 
252
   Call objBtnControl.Active ( "btnApprovePackage", "N" )
-
 
253
   Call objBtnControl.Active ( "btnMakeRelease", "N" )
-
 
254
 
-
 
255
   If pkgInfoHash.Item("can_unofficial") = "true" OR canActionControlInProject("EditCriticalInfoForLockedPackage") Then
246
        If pkgInfoHash.Item("can_unofficial") = "true" OR canActionControlInProject("EditCriticalInfoForLockedPackage") Then
256
      Call objBtnControl.Visible ( "btnMakeUnrelease", "Y" )
247
          Call objBtnControl.Visible("btnMakeUnrelease", "Y")
257
      Call objBtnControl.Active ( "btnMakeUnrelease", "Y" )
-
 
258
   End If
-
 
259
 
-
 
260
   ' DEVI-45275 - We can now merge existing (locked) versions to planned (pending) whilst assigning an operation to them
-
 
261
   ' to either (A)dd or (S)ubtract the version from the release. Such items must be "rejectable" so we need to enable the
-
 
262
   ' reject package button.
-
 
263
   If pkgInfoHash.Item("planned_operation") <> " " Then
-
 
264
      Call objBtnControl.Visible ( "btnRejectPackage", "Y" )
-
 
265
      Call objBtnControl.Active ( "btnRejectPackage", "Y" )
-
 
266
   Else
-
 
267
      Call objBtnControl.Visible ( "btnRejectPackage", "N" )
-
 
268
   End If
-
 
269
 
-
 
270
   Call objBtnControl.Visible ( "btnMakePending", "N" )
-
 
271
   Call objBtnControl.Visible ( "btnMakeRelease", "N" )
-
 
272
   Call objBtnControl.Visible ( "btnApprovePackage", "N" )
-
 
273
   Call objBtnControl.Visible ( "btnAddDaemonInstRipplePackage", "Y" )
-
 
274
   Call ActivateButtonAccordingToReleaseModeAndPermissions("btnAddDaemonInstRipplePackage", "ApproveForAutoBuild")
-
 
275
 
-
 
276
 
-
 
277
ElseIf pkgInfoHash.Item ("dlocked") = "P" Then
-
 
278
   ' In Pending
-
 
279
   Call objBtnControl.Visible ( "btnMakePending", "N" )
-
 
280
   Call ActivateButtonAccordingToReleaseModeAndPermissions("btnApprovePackage", "ApproveForAutoBuild")
-
 
281
   Call ActivateButtonAccordingToReleaseModeAndPermissions("btnRejectPackage", "RejectPackageFromPending")
-
 
282
 
-
 
283
ElseIf pkgInfoHash.Item ("dlocked") = "A" Then
-
 
284
   ' In Pending, Approved For Autobuild
-
 
285
   Call objBtnControl.Visible ( "btnMakePending", "N" )
-
 
286
   Call objBtnControl.Active ( "btnMakePending", "N" )
-
 
287
 
-
 
288
   Call objBtnControl.Visible ( "btnApprovePackage", "N" )
-
 
289
   Call objBtnControl.Active ( "btnApprovePackage", "N" )
-
 
290
 
-
 
291
   Call objBtnControl.Visible ( "btnRejectPackage", "N" )
-
 
292
   Call objBtnControl.Active ( "btnRejectPackage", "N" )
-
 
293
 
-
 
294
   Call objBtnControl.Visible ( "btnMakeUnrelease", "Y" )
-
 
295
   If pkgInfoHash.Item("can_unofficial") = "true" OR canActionControlInProject("EditCriticalInfoForLockedPackage") Then
-
 
296
      Call objBtnControl.Active ( "btnMakeUnrelease", "Y" )
248
          Call objBtnControl.Active("btnMakeUnrelease", "Y")
297
   Else
-
 
298
      Call objBtnControl.Active ( "btnMakeUnrelease", "N" )
-
 
299
   End If
-
 
300
 
-
 
301
   '--- Allow failed auto-builds to be rejected back to WIP, conditions allowing.
-
 
302
   If pkgInfoHash.Item("build_type") = "A" AND parRtag_id > 0 Then
-
 
303
      If isInDoNotRippleTable( parRtag_id, pkgInfoHash.Item("pv_id") ) = TRUE Then
-
 
304
         Call objBtnControl.Visible ( "btnRejectAutobuildPackage", "Y" )
-
 
305
         Call ActivateButtonAccordingToReleaseModeAndPermissions("btnRejectAutobuildPackage", "RejectPackageFromPending")
-
 
306
      End If
249
        End If
307
   End If
-
 
308
 
250
 
-
 
251
       ' DEVI-45275 - We can now merge existing(locked) versions to planned(pending) whilst assigning an operation to them
-
 
252
       ' to either(A)dd or(S)ubtract the version from the release. Such items must be "rejectable" so we need to enable the
-
 
253
       ' reject package button.
-
 
254
        If pkgInfoHash.Item("planned_operation") <> " " Then
-
 
255
          Call objBtnControl.Visible("btnRejectPackage", "Y")
-
 
256
          Call objBtnControl.Active("btnRejectPackage", "Y")
-
 
257
        Else
-
 
258
          Call objBtnControl.Visible("btnRejectPackage", "N")
-
 
259
        End If
-
 
260
 
-
 
261
        Call objBtnControl.Visible("btnMakePending", "N")
-
 
262
        Call objBtnControl.Visible("btnMakeRelease", "N")
-
 
263
        Call objBtnControl.Visible("btnApprovePackage", "N")
-
 
264
        Call objBtnControl.Visible("btnAddDaemonInstRipplePackage", "Y")
-
 
265
        Call ActivateButtonAccordingToReleaseModeAndPermissions("btnAddDaemonInstRipplePackage", "ApproveForAutoBuild")
-
 
266
 
-
 
267
 
-
 
268
    ElseIf pkgInfoHash.Item("dlocked") = "P" Then
-
 
269
        ' In Pending
-
 
270
        Call objBtnControl.Visible("btnMakePending", "N")
-
 
271
        Call ActivateButtonAccordingToReleaseModeAndPermissions("btnApprovePackage", "ApproveForAutoBuild")
-
 
272
        Call ActivateButtonAccordingToReleaseModeAndPermissions("btnRejectPackage", "RejectPackageFromPending")
-
 
273
 
-
 
274
        Call objBtnControl.Active ("btnRemovePackage", "N")
-
 
275
        Call objBtnControl.Visible("btnRemovePackage", "N")
-
 
276
 
-
 
277
    ElseIf pkgInfoHash.Item("dlocked") = "A" Then
-
 
278
       ' In Pending, Approved For Autobuild
-
 
279
        Call objBtnControl.Visible("btnMakePending", "N")
-
 
280
        Call objBtnControl.Active("btnMakePending", "N")
-
 
281
 
-
 
282
        Call objBtnControl.Visible("btnApprovePackage", "N")
-
 
283
        Call objBtnControl.Active("btnApprovePackage", "N")
-
 
284
 
-
 
285
        Call objBtnControl.Visible("btnRejectPackage", "N")
-
 
286
        Call objBtnControl.Active("btnRejectPackage", "N")
-
 
287
 
-
 
288
        Call objBtnControl.Visible("btnMakeUnrelease", "Y")
-
 
289
        If pkgInfoHash.Item("can_unofficial") = "true" OR canActionControlInProject("EditCriticalInfoForLockedPackage") Then
-
 
290
          Call objBtnControl.Active("btnMakeUnrelease", "Y")
-
 
291
        Else
-
 
292
          Call objBtnControl.Active("btnMakeUnrelease", "N")
-
 
293
        End If
-
 
294
 
-
 
295
       '--- Allow failed auto-builds to be rejected back to WIP, conditions allowing.
-
 
296
        If pkgInfoHash.Item("build_type") = "A" AND parRtag_id > 0 Then
-
 
297
          If isInDoNotRippleTable(parRtag_id, pkgInfoHash.Item("pv_id")) = TRUE Then
-
 
298
             Call objBtnControl.Visible("btnRejectAutobuildPackage", "Y")
-
 
299
             Call ActivateButtonAccordingToReleaseModeAndPermissions("btnRejectAutobuildPackage", "RejectPackageFromPending")
-
 
300
          End If
-
 
301
        End If
-
 
302
 
-
 
303
        Call objBtnControl.Active ("btnRemovePackage", "N")
-
 
304
        Call objBtnControl.Visible("btnRemovePackage", "N")
-
 
305
 
309
Else
306
    Else
310
   ' Unlocked or rejected packages (dlocked = N or R)
307
       ' Unlocked or rejected packages(dlocked = N or R)
311
   Call objBtnControl.Active ( "btnReversionPackage", "Y" )
308
        Call objBtnControl.Active("btnReversionPackage", "Y")
312
   Call objBtnControl.Active ( "btnMakePending", "Y" )
309
        Call objBtnControl.Active("btnMakePending", "Y")
313
 
310
 
314
   Call objBtnControl.Visible ( "btnApprovePackage", "N" )
311
        Call objBtnControl.Visible("btnApprovePackage", "N")
315
   Call objBtnControl.Visible ( "btnRejectPackage", "N" )
312
        Call objBtnControl.Visible("btnRejectPackage", "N")
316
 
313
 
317
   Call objBtnControl.Visible ( "btnMoveWIPToRelease", "Y" )
314
        Call objBtnControl.Visible("btnMoveWIPToRelease", "Y")
318
   Call objBtnControl.Visible ( "btnAddDaemonInstTestBuildPackage", "Y" )
315
        Call objBtnControl.Visible("btnAddDaemonInstTestBuildPackage", "Y")
319
   If (pkgInfoHash.Item("can_edit_in_project") = "1") Then
316
        If (pkgInfoHash.Item("can_edit_in_project") = "1") Then
320
      Call objBtnControl.Active  ( "btnAddDaemonInstTestBuildPackage", "Y" )
317
          Call objBtnControl.Active ("btnAddDaemonInstTestBuildPackage", "Y")
321
      Call objBtnControl.Active  ( "btnMoveWIPToRelease", "Y" )
318
          Call objBtnControl.Active ("btnMoveWIPToRelease", "Y")
322
   End If
319
        End If
323
 
320
 
324
   Call objBtnControl.Visible ( "btnDestroyWip", "Y" )
321
        Call objBtnControl.Visible("btnDestroyWip", "Y")
325
   If (objAccessControl.UserLogedIn) Then
322
        If (objAccessControl.UserLogedIn) Then
326
        If ( (objAccessControl.UserName = pkgInfoHash.Item("creator")) OR (canActionControlInProject("DestroyPackageFromRelease")) ) Then
323
            If ((objAccessControl.UserName = pkgInfoHash.Item("creator")) OR(canActionControlInProject("DestroyPackageFromRelease"))) Then
327
            Call objBtnControl.Active  ( "btnDestroyWip", "Y" )
324
                Call objBtnControl.Active ("btnDestroyWip", "Y")
328
        End If
325
            End If
329
   End If
326
        End If
330
 
327
 
331
   If pkgInfoHash.Item("is_wip")  Then
328
        If pkgInfoHash.Item("is_wip")  Then
332
        Call objBtnControl.Active  ( "btnRemovePackage", "N" )
329
            Call objBtnControl.Active ("btnRemovePackage", "N")
333
        Call objBtnControl.Visible ( "btnRemovePackage", "N" )
330
            Call objBtnControl.Visible("btnRemovePackage", "N")
334
   End If
331
        End If
335
 
332
 
336
End If
333
    End If
337
 
334
 
338
 
335
 
339
If IsNull(pkgInfoHash.Item ("is_obsolete")) Then
336
    If IsNull(pkgInfoHash.Item("is_obsolete")) Then
340
   Call objBtnControl.Visible ( "btnObsoletePatch", "Y" )
337
        Call objBtnControl.Visible("btnObsoletePatch", "Y")
341
Else
338
    Else
342
   Call objBtnControl.Visible ( "btnUnobsoletePatch", "Y" )
339
        Call objBtnControl.Visible("btnUnobsoletePatch", "Y")
343
End If
340
    End If
344
 
341
 
345
If NOT (parRtag_id > 0) Then
342
    If NOT(parRtag_id > 0) Then
346
    ' Not shown in the context of a Release
343
        ' Not shown in the context of a Release
347
    ' Determine if the package can be reversioned or destroyed
344
        ' Determine if the package can be reversioned or destroyed
348
 
345
 
349
    Call objBtnControl.Visible ( "btnRecycleBin", "Y" )
346
        Call objBtnControl.Visible("btnRecycleBin", "Y")
350
    Call objBtnControl.Visible ( "btnReversionPackage" , "Y")
347
        Call objBtnControl.Visible("btnReversionPackage" , "Y")
351
    Call objBtnControl.ReadOnly ( "btnReversionPackage" , "Y")
348
        Call objBtnControl.ReadOnly("btnReversionPackage" , "Y")
352
 
349
 
353
    If canShowControlInProject("DestroyPackage") Then
350
        If canShowControlInProject("DestroyPackage") Then
354
       Call objBtnControl.Visible ( "btnRecycleBin", "Y" )
351
           Call objBtnControl.Visible("btnRecycleBin", "Y")
355
    ElseIf (objAccessControl.UserId = pkgInfoHash.Item("creator_id") ) OR (objAccessControl.UserId = pkgInfoHash.Item("owner_id")) Then
352
        ElseIf (objAccessControl.UserId = pkgInfoHash.Item("creator_id")) OR(objAccessControl.UserId = pkgInfoHash.Item("owner_id")) Then
356
        'If aVersions( rsVB.FieldIndex("inuse"), i ) = 0 Then
353
            'If aVersions(rsVB.FieldIndex("inuse"), i) = 0 Then
357
            'If aVersions( rsVB.FieldIndex("age") , i ) < 1000 Then
354
                'If aVersions(rsVB.FieldIndex("age") , i) < 1000 Then
358
                If pkgInfoHash.Item ("dlocked") <> "Y" Then
355
                    If pkgInfoHash.Item("dlocked") <> "Y" Then
359
                    'If pkgInfoHash.Item ("dlocked") <> "A" Then
356
                        'If pkgInfoHash.Item("dlocked") <> "A" Then
360
                        Call objBtnControl.Active ( "btnRecycleBin", "Y" )
357
                            Call objBtnControl.Active("btnRecycleBin", "Y")
-
 
358
                        'End If
361
                    'End If
359
                    End If
362
                End If
360
                'End If
363
            'End If
361
            'End If
364
        'End If
362
        End If
-
 
363
 
-
 
364
        ' Only if Unlocked or Rejected
-
 
365
        If pkgInfoHash.Item("dlocked") = "N" OR pkgInfoHash.Item("dlocked") = "R" Then 
-
 
366
            Call objBtnControl.Active("btnReversionPackage" , "Y")
-
 
367
        End If
365
    End If
368
    End If
366
 
369
 
367
    ' Only if Unlocked or Rejected
370
    '--- Access Control Action Relationships ---
368
    If pkgInfoHash.Item ("dlocked") = "N" OR pkgInfoHash.Item ("dlocked") = "R" Then 
371
 
369
        Call objBtnControl.Active ( "btnReversionPackage" , "Y")
372
    ' DEVI-45275 - Merges now occur via the Pending tab. Merge candidates are marked with a(planned) operation
370
    End If
373
    ' of "A" for add, or "S" for subtract. If the package version is one of these(within the context of the
371
End If
374
    ' release of coarse), manipulate the MakeRelease button(of which there are now 3 types) accordingly.
372
 
375
    If (pkgInfoHash.Item("planned_operation") = "A" OR pkgInfoHash.Item("planned_operation") = "S") Then
373
'--- Access Control Action Relationships ---
376
 
374
 
377
       ' always enable the reject button for pending merge operations
375
' DEVI-45275 - Merges now occur via the Pending tab. Merge candidates are marked with a (planned) operation
378
        Call objBtnControl.Visible("btnRejectPackage", "Y")
376
' of "A" for add, or "S" for subtract. If the package version is one of these (within the context of the
379
 
377
' release of coarse), manipulate the MakeRelease button (of which there are now 3 types) accordingly.
380
       ' disable the other two types of MakeRelease button
378
If ( pkgInfoHash.Item ("planned_operation") = "A" OR pkgInfoHash.Item ("planned_operation") = "S") Then
381
        Call objBtnControl.Visible("btnApprovePackage", "N")
379
 
382
        Call objBtnControl.Visible("btnMakeRelease", "N")
380
   ' always enable the reject button for pending merge operations
383
 
381
   Call objBtnControl.Visible ( "btnRejectPackage", "Y" )
384
       ' make the approve merge button variant visible
382
 
385
        Call objBtnControl.Visible("btnApproveMerge", "Y")
383
   ' disable the other two types of MakeRelease button
386
 
384
   Call objBtnControl.Visible ( "btnApprovePackage", "N" )
387
       ' These conditions match those used in Diff.asp that control whether the Merge button is visible or not.
385
   Call objBtnControl.Visible ( "btnMakeRelease", "N" )
388
       ' Use them to enable or disable the approve merge button
386
 
389
        If releaseIsMergable(ReleaseMode) Then
387
   ' make the approve merge button variant visible
390
          Call objBtnControl.Active("btnApproveMerge", "Y")
388
   Call objBtnControl.Visible ( "btnApproveMerge", "Y" )
391
          Call objBtnControl.Active("btnRejectPackage", "Y")
389
 
392
        Else
390
   ' These conditions match those used in Diff.asp that control whether the Merge button is visible or not.
393
          Call objBtnControl.Active("btnApproveMerge", "N")
391
   ' Use them to enable or disable the approve merge button
394
          Call objBtnControl.Active("btnRejectPackage", "N")
392
   If releaseIsMergable(ReleaseMode) Then
395
        End If
393
      Call objBtnControl.Active ( "btnApproveMerge", "Y" )
396
    End If
394
      Call objBtnControl.Active ( "btnRejectPackage", "Y" )
397
 
395
   Else
398
    If (pkgInfoHash.Item("build_type") = "U") Then
396
      Call objBtnControl.Active ( "btnApproveMerge", "N" )
399
      Call objBtnControl.Active("btnMakeRelease", "N")
397
      Call objBtnControl.Active ( "btnRejectPackage", "N" )
400
      Call objBtnControl.Active("btnApprovePackage", "N")
398
   End If
401
      Call objBtnControl.Active("btnMakeUnrelease", "N")
399
End If
402
      Call objBtnControl.Active("btnAddDaemonInstTestBuildPackage", "N")
400
 
403
      Call objBtnControl.Active("btnMakePending", "N")
401
If ( pkgInfoHash.Item ("build_type") = "U" ) Then
404
      Call objBtnControl.Active("btnApproveMerge",  "N")
402
  Call objBtnControl.Active ( "btnMakeRelease", "N" )
405
    End If
403
  Call objBtnControl.Active ( "btnApprovePackage", "N" )
406
 
404
  Call objBtnControl.Active ( "btnMakeUnrelease", "N" )
407
    '--- Disable if the user is not logged in
405
  Call objBtnControl.Active ( "btnAddDaemonInstTestBuildPackage", "N" )
408
    If (NOT objAccessControl.UserLogedIn) Then
406
  Call objBtnControl.Active ( "btnMakePending", "N" )
409
        Call objBtnControl.Active("btnRemovePackage", "N")
407
  Call objBtnControl.Active ( "btnApproveMerge",  "N")
410
        Call objBtnControl.Active("btnMakeRelease", "N")
408
End If
411
        Call objBtnControl.Active("btnMoveToView", "N")
409
 
412
        Call objBtnControl.Active("btnReversionPackage", "N")
410
'--- Disable if the user is not logged in
413
        Call objBtnControl.Active("btnMoveWIPToRelease", "N")
411
If (NOT objAccessControl.UserLogedIn) Then
414
        Call objBtnControl.Active("btnAddDaemonInstTestBuildPackage", "N")
412
    Call objBtnControl.Active ( "btnRemovePackage", "N" )
415
        Call objBtnControl.Active("btnMakeUnrelease", "N")
413
    Call objBtnControl.Active ( "btnMakeRelease", "N" )
416
        Call objBtnControl.Active("btnMakePending", "N")
414
    Call objBtnControl.Active ( "btnMoveToView", "N" )
417
        Call objBtnControl.Active("btnNewVersion", "N")
415
    Call objBtnControl.Active ( "btnReversionPackage", "N" )
418
        Call objBtnControl.Active("btnRecycleBin", "N")
416
    Call objBtnControl.Active ( "btnMoveWIPToRelease", "N" )
419
    End If
417
    Call objBtnControl.Active ( "btnAddDaemonInstTestBuildPackage", "N" )
420
 
418
    Call objBtnControl.Active ( "btnMakeUnrelease", "N" )
421
    '-- Disable if the Package is imported as a part of an SDK
419
    Call objBtnControl.Active ( "btnMakePending", "N" )
422
    '   Or as part of a linked Release
420
    Call objBtnControl.Active ( "btnNewVersion", "N" )
423
    If (pkgInfoHash.Item("can_edit_in_project") <> "1") Then
421
    Call objBtnControl.Active ( "btnRecycleBin", "N")
424
        Call objBtnControl.Active("btnNewVersion", "N")
422
End If
425
        Call objBtnControl.Active("btnDestroyWip" , "N")
423
 
426
        Call objBtnControl.Active("btnRemovePackage",  "N")
424
'-- Disable if the Package is imported as a part of an SDK
427
        Call objBtnControl.Active("btnAddDaemonInstTestBuildPackage",  "N")
425
'   Or as part of a linked Release
428
        Call objBtnControl.Active("btnMakePending",  "N")
426
If (pkgInfoHash.Item("can_edit_in_project") <> "1") Then
429
        Call objBtnControl.Active("btnApprovePackage",  "N")
427
    Call objBtnControl.Active ( "btnNewVersion", "N" )
430
        Call objBtnControl.Active("btnApproveMerge",  "N")
428
    Call objBtnControl.Active ( "btnDestroyWip" , "N")
431
        Call objBtnControl.Active("btnMakeRelease",  "N")
429
    Call objBtnControl.Active ( "btnRemovePackage",  "N")
432
        Call objBtnControl.Active("btnRejectPackage",  "N")
430
    Call objBtnControl.Active ( "btnAddDaemonInstTestBuildPackage",  "N")
433
        Call objBtnControl.Active("btnRejectAutobuildPackage",  "N")
431
    Call objBtnControl.Active ( "btnMakePending",  "N")
434
        Call objBtnControl.Active("btnMakeUnrelease", "N")
432
    Call objBtnControl.Active ( "btnApprovePackage",  "N")
435
        Call objBtnControl.Active("btnMoveToView",  "N")
433
    Call objBtnControl.Active ( "btnApproveMerge",  "N")
436
        Call objBtnControl.Active("btnMoveWIPToRelease",  "N")
434
    Call objBtnControl.Active ( "btnMakeRelease",  "N")
437
        Call objBtnControl.Active("btnDeprecation",  "N")
435
    Call objBtnControl.Active ( "btnRejectPackage",  "N")
438
        Call objBtnControl.Active("btnUnDeprecation",  "N")
436
    Call objBtnControl.Active ( "btnRejectAutobuildPackage",  "N")
439
        Call objBtnControl.Active("btnAddDaemonInstRipplePackage", "N")
437
    Call objBtnControl.Active ( "btnMakeUnrelease", "N")
440
    End If
438
    Call objBtnControl.Active ( "btnMoveToView",  "N")
441
 
439
    Call objBtnControl.Active ( "btnMoveWIPToRelease",  "N")
442
    If (pkgInfoHash.Item("base_view_id") = "") Then
440
    Call objBtnControl.Active ( "btnDeprecation",  "N")
443
        Call objBtnControl.Active("btnMoveToView",  "N")
441
    Call objBtnControl.Active ( "btnUnDeprecation",  "N")
444
    End IF
442
    Call objBtnControl.Active ( "btnAddDaemonInstRipplePackage", "N")
445
 
443
End If
446
    '--- Other Access Control Action Relationships ---
444
 
447
    If (ReleaseMode = enumDB_RELEASE_IN_CCB_MODE)  Then Call objBtnControl.SetRelationship("btnMakeRelease", "ApprovePackageReleaseForRestrictiveMode")
445
If (pkgInfoHash.Item("base_view_id") = "") Then
448
 
446
    Call objBtnControl.Active ( "btnMoveToView",  "N")
449
    Call objBtnControl.SetRelationship("btnPendingIntegration", "ApproveForPendingIntegration")
447
End IF
450
    Call objBtnControl.SetRelationship("btnPendingTest", "ApproveForPendingTest")
448
 
451
    Call objBtnControl.SetRelationship("btnPendingDeployment", "ApproveForPendingDeployment")
449
'--- Other Access Control Action Relationships ---
452
    Call objBtnControl.SetRelationship("btnRejectProduct", "RejectProduct")
450
If ( ReleaseMode = enumDB_RELEASE_IN_CCB_MODE )  Then Call objBtnControl.SetRelationship ( "btnMakeRelease", "ApprovePackageReleaseForRestrictiveMode" )
453
    Call objBtnControl.SetRelationship("btnPendingIntegrateAndDeploy", "ApprovePendingIntegrateAndDeploy")
451
 
454
 
452
Call objBtnControl.SetRelationship ( "btnPendingIntegration", "ApproveForPendingIntegration" )
455
    '---------------------------------------------------------------------------
453
Call objBtnControl.SetRelationship ( "btnPendingTest", "ApproveForPendingTest" )
456
    ' Unlock Package
454
Call objBtnControl.SetRelationship ( "btnPendingDeployment", "ApproveForPendingDeployment" )
457
    ' Note: Unlocking of a Package or Patch is intended for the administrators
455
Call objBtnControl.SetRelationship ( "btnRejectProduct", "RejectProduct" )
458
 
456
Call objBtnControl.SetRelationship ( "btnPendingIntegrateAndDeploy", "ApprovePendingIntegrateAndDeploy" )
459
    Call objBtnControl.Visible("btnUnLockPackage", "N")
457
 
460
    Call objBtnControl.Visible("btnLockPackage", "N")
458
'---------------------------------------------------------------------------
461
    Call objBtnControl.Active("btnLockPackage", "N")
459
' Unlock Package
462
    Call objBtnControl.Active("btnUnLockPackage", "N")
460
' Note: Unlocking of a Package or Patch is intended for the administrators
463
 
461
 
464
    If (pkgInfoHash.Item("can_edit_in_project") = "1") Then
462
Call objBtnControl.Visible ( "btnUnLockPackage", "N" )
465
        Dim bucan_unlock
463
Call objBtnControl.Visible ( "btnLockPackage", "N" )
466
        bucan_unlock = pkgInfoHash("is_released") AND canActionControlInProject("EditCriticalInfoForLockedPackage")
464
Call objBtnControl.Active ( "btnLockPackage", "N" )
467
 
465
Call objBtnControl.Active ( "btnUnLockPackage", "N" )
468
        If bucan_unlock  Then
466
 
469
          If (pkgInfoHash.Item("dlocked") = "Y") Then
467
If (pkgInfoHash.Item("can_edit_in_project") = "1") Then
470
           ' Unlock patch or package.
468
    Dim bucan_unlock
471
            Call objBtnControl.Visible("btnUnLockPackage", "Y")
469
    bucan_unlock = pkgInfoHash("is_released") AND canActionControlInProject("EditCriticalInfoForLockedPackage")
472
            Call objBtnControl.Active("btnUnLockPackage", "Y")
470
 
473
          ElseIf (pkgInfoHash.Item("dlocked") = "N") Then
471
    If bucan_unlock  Then
474
            ' lock patch or package.
472
      If (pkgInfoHash.Item ("dlocked") = "Y") Then
475
            Call objBtnControl.Visible("btnLockPackage", "Y")
473
       ' Unlock patch or package.
476
            Call objBtnControl.Active("btnLockPackage", "Y")
474
        Call objBtnControl.Visible ( "btnUnLockPackage", "Y" )
477
          End If
475
        Call objBtnControl.Active ( "btnUnLockPackage", "Y" )
478
        End if
476
      ElseIf (pkgInfoHash.Item ("dlocked") = "N") Then
479
    Else
477
        ' lock patch or package.
480
        Call objBtnControl.Visible("btnUnLockPackage", "Y")
478
        Call objBtnControl.Visible ( "btnLockPackage", "Y" )
-
 
479
        Call objBtnControl.Active ( "btnLockPackage", "Y" )
-
 
480
      End If
-
 
481
    End if
481
    End if
482
Else
-
 
483
    Call objBtnControl.Visible ( "btnUnLockPackage", "Y" )
-
 
484
End if
-
 
485
 
-
 
486
'---------------------------------------------------------------------------
-
 
487
' -- Render Buttons
-
 
488
Call objBtnControl.Render  ( aTabBtnsDef, objAccessControl )
-
 
489
End Sub
-
 
490
 
482
 
-
 
483
    '---------------------------------------------------------------------------
-
 
484
    ' -- Render Buttons
-
 
485
    Call objBtnControl.Render (aTabBtnsDef, objAccessControl)
-
 
486
End Sub
491
%>
487
%>