Subversion Repositories DevTools

Rev

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

Rev 5190 Rev 5357
Line 1... Line 1...
1
<%@LANGUAGE="VBSCRIPT"%>
1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
2
<%
3
'=====================================================
3
'=====================================================
4
'|                                                   |
4
'|                                                   |
5
'|                 ADMIN Page                        |
5
'|                 ADMIN Page                        |
6
'|                 Daemon Instructions               |
6
'|                 Daemon Instructions               |
7
'|                                                   |
7
'|                                                   |
8
'=====================================================
8
'=====================================================
9
%>
9
%>
10
<%
10
<%
11
Option explicit
11
Option explicit
12
' Good idea to set when using redirect
12
' Good idea to set when using redirect
13
Response.Expires = 0   ' always load the page, dont store
13
Response.Expires = 0   ' always load the page, dont store
14
%>
14
%>
15
<!--#include file="common/conf.asp"-->
15
<!--#include file="common/conf.asp"-->
16
<!--#include file="common/globals.asp"-->
16
<!--#include file="common/globals.asp"-->
17
<!--#include file="common/formating.asp"-->
17
<!--#include file="common/formating.asp"-->
18
<!--#include file="common/qstr.asp"-->
18
<!--#include file="common/qstr.asp"-->
19
<!--#include file="common/common_subs.asp"-->
19
<!--#include file="common/common_subs.asp"-->
20
<!--#include file="sec/Crypt.asp"-->
20
<!--#include file="sec/Crypt.asp"-->
21
<!--#include file="common/_form_window_common.asp"-->
21
<!--#include file="common/_form_window_common.asp"-->
22
<!--#include file="_action_buttons.asp"-->
22
<!--#include file="_action_buttons.asp"-->
23
 
23
 
24
<!--#include file="class/classActionButtonControl.asp"-->
24
<!--#include file="class/classActionButtonControl.asp"-->
25
<!--#include file="common/daemon_instructions.asp"-->
25
<!--#include file="common/daemon_instructions.asp"-->
26
 
26
 
27
<%
27
<%
28
'------------ ACCESS CONTROL ------------------
28
'------------ ACCESS CONTROL ------------------
29
%>
29
%>
30
<!--#include file="_access_control_general.asp"-->
30
<!--#include file="_access_control_general.asp"-->
31
<!--#include file="_access_control_login.asp"-->
31
<!--#include file="_access_control_login.asp"-->
32
<%
32
<%
33
'------------ Variable Definition -------------
33
'------------ Variable Definition -------------
34
Dim objBtnControl
34
Dim objBtnControl
35
Dim parSortOrder
35
Dim parSortOrder
36
'------------ Constants Declaration -----------
36
'------------ Constants Declaration -----------
37
'------------ Variable Init -------------------
37
'------------ Variable Init -------------------
38
Set objBtnControl = New ActionButtonControl
38
Set objBtnControl = New ActionButtonControl
39
parSortOrder = Request("sort")
39
parSortOrder = Request("sort")
40
If IsNull(parSortOrder) OR parSortOrder = "" Then
40
If IsNull(parSortOrder) OR parSortOrder = "" Then
41
   parSortOrder = "0"
41
   parSortOrder = "0"
42
End If
42
End If
43
'----------------------------------------------
43
'----------------------------------------------
44
%>
44
%>
45
<%
45
<%
46
'--------------------------------------------------------------------------------------------
46
'--------------------------------------------------------------------------------------------
47
' Cleans up the daemon instructions table to remove old data that might have become stranded
47
' Cleans up the daemon instructions table to remove old data that might have become stranded
48
' due to crashed daemons or failing build machines.
48
' due to crashed daemons or failing build machines.
49
'--------------------------------------------------------------------------------------------
49
'--------------------------------------------------------------------------------------------
50
Sub CleanupOldData()
50
Sub CleanupOldData()
51
   On Error Resume Next
51
   On Error Resume Next
52
   objEH.TryORA ( OraSession )
52
   objEH.TryORA ( OraSession )
53
   OraDatabase.ExecuteSQL _
53
   OraDatabase.ExecuteSQL _
54
   "BEGIN PK_BUILDAPI.cleanup_stranded_daemon_insts; END;"
54
   "BEGIN PK_BUILDAPI.cleanup_stranded_daemon_insts; END;"
55
   objEH.CatchORA ( OraSession )
55
   objEH.CatchORA ( OraSession )
56
End Sub
56
End Sub
57
 
57
 
58
 
58
 
59
%>
59
%>
60
 
60
 
61
<%
61
<%
62
' Clean up old data
62
' Clean up old data
63
CleanupOldData
63
CleanupOldData
64
 
64
 
65
' Page Access Condition
65
' Page Access Condition
66
%>
66
%>
67
<script language="JavaScript" type="text/javascript">
67
<script language="JavaScript" type="text/javascript">
68
<!--
68
<!--
69
 
69
 
70
// This function is designed to be called when a user resets the in-progress value from YES back to NO
70
// This function is designed to be called when a user resets the in-progress value from YES back to NO
71
function reset_in_progress(instId)
71
function reset_in_progress(instId)
72
{
72
{
73
   var proceed = false;
73
   var proceed = false;
74
   var s;
74
   var s;
75
   s  = '_ResetDaemonInstruction.asp';
75
   s  = '_ResetDaemonInstruction.asp';
76
   s += '?inst_id=' + instId;
76
   s += '?inst_id=' + instId;
77
 
77
 
78
   proceed = confirm('Are you sure you want to reset this instructions in-progress flag?\n\n' +
78
   proceed = confirm('Are you sure you want to reset this instructions in-progress flag?\n\n' +
79
                     'You should ensure that the daemons are not operating upon this instruction first.\n\n' +
79
                     'You should ensure that the daemons are not operating upon this instruction first.\n\n' +
80
                     'Check the scheduled date/time. Does it appear so far in the past that it is unlikely\n' +
80
                     'Check the scheduled date/time. Does it appear so far in the past that it is unlikely\n' +
81
                     'a daemon is still undertaking the work for the instruction?\n\n' +
81
                     'a daemon is still undertaking the work for the instruction?\n\n' +
82
                     'Press OK to reset, otherwise press CANCEL\n\n' );
82
                     'Press OK to reset, otherwise press CANCEL\n\n' );
83
 
83
 
84
   if (proceed == true) {
84
   if (proceed == true) {
85
      document.location = s;
85
      document.location = s;
86
   }
86
   }
87
}
87
}
88
//-->
88
//-->
89
</script>
89
</script>
90
 
90
 
91
<html>
91
<html>
92
   <head>
92
   <head>
93
      <title>Daemon Instructions Administration</title>
93
      <title>Daemon Instructions Administration</title>
94
      <meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
94
      <link rel="shortcut icon" href="<%=FavIcon%>"/>
95
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
95
      <meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
96
      <link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
96
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
97
      <link rel="stylesheet" href="images/navigation.css" type="text/css">
97
      <link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
98
      <script language="JavaScript" src="images/common.js"></script>
98
      <link rel="stylesheet" href="images/navigation.css" type="text/css">
99
      <!--#include file="_jquery_includes.asp"-->
99
      <script language="JavaScript" src="images/common.js"></script>
100
      <!-- DROPDOWN MENUS -->
100
      <!--#include file="_jquery_includes.asp"-->
101
      <!--#include file="_menu_def.asp"-->
101
      <!-- DROPDOWN MENUS -->
102
      <script language="JavaScript1.2" src="images/popup_menu.js"></script>
102
      <!--#include file="_menu_def.asp"-->
103
   </head>
103
      <script language="JavaScript1.2" src="images/popup_menu.js"></script>
104
   <body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" >
104
   </head>
105
      <!-- MENU LAYERS -------------------------------------->
105
   <body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" >
106
      <div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,'on')" onMouseout="highlightmenu(event,'off');dynamichide(event)">
106
      <!-- MENU LAYERS -------------------------------------->
107
      </div>
107
      <div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,'on')" onMouseout="highlightmenu(event,'off');dynamichide(event)">
108
      <!-- TIPS LAYERS -------------------------------------->
108
      </div>
109
      <div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
109
      <!-- TIPS LAYERS -------------------------------------->
110
      <!-- HEADER -->
110
      <div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
111
      <!--#include file="_header.asp"-->
111
      <!-- HEADER -->
112
 
112
      <!--#include file="_header.asp"-->
113
      <%
113
 
114
      '-- FROM START ---------------------------------------------------------------------------------------------------------
114
      <%
115
      objFormComponent.FormName = "DAEMON_INSTRUCTIONS"
115
      '-- FROM START ---------------------------------------------------------------------------------------------------------
116
      objFormComponent.Action = ScriptName
116
      objFormComponent.FormName = "DAEMON_INSTRUCTIONS"
117
      objFormComponent.OnSubmit = "ShowProgress();"
117
      objFormComponent.Action = ScriptName
118
      Call objFormComponent.FormStart()
118
      objFormComponent.OnSubmit = "ShowProgress();"
119
      %>
119
      Call objFormComponent.FormStart()
120
      <table width="100%"  border="0" cellspacing="3" cellpadding="0" >
120
      %>
121
 
121
      <table width="100%"  border="0" cellspacing="3" cellpadding="0" >
122
         <div align="left" class=" body_col">
122
 
123
            <br>Current List of DAEMON INSTRUCTIONS
123
         <div align="left" class=" body_col">
124
         </div>
124
            <br>Current List of DAEMON INSTRUCTIONS
125
         <tr></tr>
125
         </div>
126
         <tr>
126
         <tr></tr>
127
            <td></td>
127
         <tr>
128
            <!-- DAEMON INSTRUCTION DETAILS +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
128
            <td></td>
129
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">
129
            <!-- DAEMON INSTRUCTION DETAILS +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
130
               <%If parSortOrder = "1" Then%>
130
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">
131
                  <a href='admin_daemon_instructions.asp?sort=1a'>
131
               <%If parSortOrder = "1" Then%>
132
               <%ElseIf parSortOrder = "1a" Then%>
132
                  <a href='admin_daemon_instructions.asp?sort=1a'>
133
                  <a href='admin_daemon_instructions.asp?sort=1b'>
133
               <%ElseIf parSortOrder = "1a" Then%>
134
               <%ElseIf parSortOrder = "1b" Then%>
134
                  <a href='admin_daemon_instructions.asp?sort=1b'>
135
                  <a href='admin_daemon_instructions.asp?sort=1c'>
135
               <%ElseIf parSortOrder = "1b" Then%>
136
               <%Else%>
136
                  <a href='admin_daemon_instructions.asp?sort=1c'>
137
                  <a href='admin_daemon_instructions.asp?sort=1'>
137
               <%Else%>
138
               <%End If%>
138
                  <a href='admin_daemon_instructions.asp?sort=1'>
139
               OPERATION
139
               <%End If%>
140
            </td>
140
               OPERATION
141
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">
141
            </td>
142
               <%If parSortOrder = "2" Then%>
142
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">
143
                  <a href='admin_daemon_instructions.asp?sort=2a'>
143
               <%If parSortOrder = "2" Then%>
144
               <%ElseIf parSortOrder = "2a" Then%>
144
                  <a href='admin_daemon_instructions.asp?sort=2a'>
145
                  <a href='admin_daemon_instructions.asp?sort=2b'>
145
               <%ElseIf parSortOrder = "2a" Then%>
146
               <%Else%>
146
                  <a href='admin_daemon_instructions.asp?sort=2b'>
147
                  <a href='admin_daemon_instructions.asp?sort=2'>
147
               <%Else%>
148
               <%End If%>
148
                  <a href='admin_daemon_instructions.asp?sort=2'>
149
               PROJECT
149
               <%End If%>
150
            </td>
150
               PROJECT
151
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">
151
            </td>
152
               <%If parSortOrder = "3" Then%>
152
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">
153
                  <a href='admin_daemon_instructions.asp?sort=3a'>
153
               <%If parSortOrder = "3" Then%>
154
               <%Else%>
154
                  <a href='admin_daemon_instructions.asp?sort=3a'>
155
                  <a href='admin_daemon_instructions.asp?sort=3'>
155
               <%Else%>
156
               <%End If%>
156
                  <a href='admin_daemon_instructions.asp?sort=3'>
157
               RELEASE
157
               <%End If%>
158
            </td>
158
               RELEASE
159
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">MODE</td>
159
            </td>
160
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">
160
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">MODE</td>
161
               <a href='admin_daemon_instructions.asp?sort=4'>PACKAGE
161
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">
162
            </td>
162
               <a href='admin_daemon_instructions.asp?sort=4'>PACKAGE
163
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">VERSION</td>
163
            </td>
164
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">
164
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">VERSION</td>
165
               <a href='admin_daemon_instructions.asp?sort=0'>SCHEDULED TIME<br>(<SPAN style=color:Red>Red</SPAN> = overdue)<br>(<SPAN style=color:Green>Green</SPAN> = ready)</td>
165
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">
166
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">REPEAT</td>
166
               <a href='admin_daemon_instructions.asp?sort=0'>SCHEDULED TIME<br>(<SPAN style=color:Red>Red</SPAN> = overdue)<br>(<SPAN style=color:Green>Green</SPAN> = ready)</td>
167
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">
167
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">REPEAT</td>
168
               <a href='admin_daemon_instructions.asp?sort=5'>ADDED BY
168
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">
169
            </td>
169
               <a href='admin_daemon_instructions.asp?sort=5'>ADDED BY
170
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">LAST<br>UPDATED</td>
170
            </td>
171
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">
171
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">LAST<br>UPDATED</td>
172
               <a href='admin_daemon_instructions.asp?sort=6'>IN<br>PROGRESS
172
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">
173
            </td>
173
               <a href='admin_daemon_instructions.asp?sort=6'>IN<br>PROGRESS
174
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">EDIT/DELETE</td>
174
            </td>
175
         </tr>
175
            <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">EDIT/DELETE</td>
176
         <tr>
176
         </tr>
177
            <td colspan="13" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
177
         <tr>
178
         </tr>
178
            <td colspan="13" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
179
 
179
         </tr>
180
         <%
180
 
181
         ' Load some action buttons
181
         <%
182
         Call objBtnControl.LoadActionButtons ( Array("btnEditDaemonInst", "btnDeleteDaemonInst"), OraDatabase )
182
         ' Load some action buttons
183
         objBtnControl.ButtonSpacer = 1
183
         Call objBtnControl.LoadActionButtons ( Array("btnEditDaemonInst", "btnDeleteDaemonInst"), OraDatabase )
184
 
184
         objBtnControl.ButtonSpacer = 1
185
         Dim rsQry
185
 
186
         Dim bInProgress
186
         Dim rsQry
187
         Dim bIsReady
187
         Dim bInProgress
188
         Dim bIsOverdue
188
         Dim bIsReady
189
         Dim daemonInstId  ' This variable is needed to support the action buttons to Edit/Delete
189
         Dim bIsOverdue
190
         Dim bResetInProgressEnabled
190
         Dim daemonInstId  ' This variable is needed to support the action buttons to Edit/Delete
191
         Dim sortClause
191
         Dim bResetInProgressEnabled
192
         Dim sortText
192
         Dim sortClause
193
 
193
         Dim sortText
194
         ' determine if user can reset the in-progress state of a daemon instruction
194
 
195
         bResetInProgressEnabled = UserAllowedToResetInProgress()
195
         ' determine if user can reset the in-progress state of a daemon instruction
196
 
196
         bResetInProgressEnabled = UserAllowedToResetInProgress()
197
         ' query the daemon_instructions table and also create an indication of an overdue instruction,
197
 
198
         ' which is defined as being one that was scheduled for action
198
         ' query the daemon_instructions table and also create an indication of an overdue instruction,
199
         Select Case (parSortOrder)
199
         ' which is defined as being one that was scheduled for action
200
         Case "1"
200
         Select Case (parSortOrder)
201
            sortClause = " ORDER BY op_code, scheduled_datetime"
201
         Case "1"
202
            sortText   = "Data sorted by Operation, Scheduled time"
202
            sortClause = " ORDER BY op_code, scheduled_datetime"
203
         Case "1a"
203
            sortText   = "Data sorted by Operation, Scheduled time"
204
            sortClause = " ORDER BY op_code, proj_name, scheduled_datetime"
204
         Case "1a"
205
            sortText   = "Data sorted by Operation, Project, Scheduled time"
205
            sortClause = " ORDER BY op_code, proj_name, scheduled_datetime"
206
         Case "1b"
206
            sortText   = "Data sorted by Operation, Project, Scheduled time"
207
            sortClause = " ORDER BY op_code, proj_name, rtag_name, scheduled_datetime"
207
         Case "1b"
208
            sortText   = "Data sorted by Operation, Project, Release, Scheduled time"
208
            sortClause = " ORDER BY op_code, proj_name, rtag_name, scheduled_datetime"
209
         Case "1c"
209
            sortText   = "Data sorted by Operation, Project, Release, Scheduled time"
210
            sortClause = " ORDER BY op_code, proj_name, rtag_name, pkg_name, scheduled_datetime"
210
         Case "1c"
211
            sortText   = "Data sorted by Operation, Project, Release, Package, Scheduled time"
211
            sortClause = " ORDER BY op_code, proj_name, rtag_name, pkg_name, scheduled_datetime"
212
         Case "2"
212
            sortText   = "Data sorted by Operation, Project, Release, Package, Scheduled time"
213
            sortClause = " ORDER BY proj_name, scheduled_datetime"
213
         Case "2"
214
            sortText   = "Data sorted by Project, Scheduled time"
214
            sortClause = " ORDER BY proj_name, scheduled_datetime"
215
         Case "2a"
215
            sortText   = "Data sorted by Project, Scheduled time"
216
            sortClause = " ORDER BY proj_name, rtag_name, scheduled_datetime"
216
         Case "2a"
217
            sortText   = "Data sorted by Project, Release, Scheduled time"
217
            sortClause = " ORDER BY proj_name, rtag_name, scheduled_datetime"
218
         Case "2b"
218
            sortText   = "Data sorted by Project, Release, Scheduled time"
219
            sortClause = " ORDER BY proj_name, rtag_name, pkg_name, scheduled_datetime"
219
         Case "2b"
220
            sortText   = "Data sorted by Project, Release, Package, Scheduled time"
220
            sortClause = " ORDER BY proj_name, rtag_name, pkg_name, scheduled_datetime"
221
         Case "3"
221
            sortText   = "Data sorted by Project, Release, Package, Scheduled time"
222
            sortClause = " ORDER BY rtag_name, scheduled_datetime"
222
         Case "3"
223
            sortText   = "Data sorted by Release, Scheduled time"
223
            sortClause = " ORDER BY rtag_name, scheduled_datetime"
224
         Case "3a"
224
            sortText   = "Data sorted by Release, Scheduled time"
225
            sortClause = " ORDER BY rtag_name, pkg_name, scheduled_datetime"
225
         Case "3a"
226
            sortText   = "Data sorted by Release, Package, Scheduled time"
226
            sortClause = " ORDER BY rtag_name, pkg_name, scheduled_datetime"
227
         Case "4"
227
            sortText   = "Data sorted by Release, Package, Scheduled time"
228
            sortClause = " ORDER BY pkg_name, scheduled_datetime"
228
         Case "4"
229
            sortText   = "Data sorted by Package, Scheduled time"
229
            sortClause = " ORDER BY pkg_name, scheduled_datetime"
230
         Case "5"
230
            sortText   = "Data sorted by Package, Scheduled time"
231
            sortClause = " ORDER BY full_name, scheduled_datetime"
231
         Case "5"
232
            sortText   = "Data sorted by Added By, Scheduled time"
232
            sortClause = " ORDER BY full_name, scheduled_datetime"
233
         Case "6"
233
            sortText   = "Data sorted by Added By, Scheduled time"
234
            sortClause = " ORDER BY in_progress, scheduled_datetime"
234
         Case "6"
235
            sortText   = "Data sorted by Progress State, Scheduled time"
235
            sortClause = " ORDER BY in_progress, scheduled_datetime"
236
         Case Else
236
            sortText   = "Data sorted by Progress State, Scheduled time"
237
            sortClause = " ORDER BY scheduled_datetime, proj_name, rtag_name, pkg_name"
237
         Case Else
238
            sortText   = "Data sorted by Scheduled time"
238
            sortClause = " ORDER BY scheduled_datetime, proj_name, rtag_name, pkg_name"
239
         End Select
239
            sortText   = "Data sorted by Scheduled time"
240
 
240
         End Select
241
         Set rsQry = OraDatabase.DbCreateDynaset("SELECT DAEMON_INSTRUCTIONS_ID,"&_
241
 
242
                                                 "       proj_id,"&_
242
         Set rsQry = OraDatabase.DbCreateDynaset("SELECT DAEMON_INSTRUCTIONS_ID,"&_
243
                                                 "       proj_name,"&_
243
                                                 "       proj_id,"&_
244
                                                 "       official,"&_
244
                                                 "       proj_name,"&_
245
                                                 "       rtag_id,"&_
245
                                                 "       official,"&_
246
                                                 "       rtag_name,"&_
246
                                                 "       rtag_id,"&_
247
                                                 "       OP_CODE,"&_
247
                                                 "       rtag_name,"&_
248
                                                 "       pkg_id,"&_
248
                                                 "       OP_CODE,"&_
249
                                                 "       (CASE WHEN NVL2(pv_id,pv_id,0) = 0 THEN 'N/A' ELSE pkg_name END) AS pkg_name,"&_
249
                                                 "       pkg_id,"&_
250
                                                 "       (CASE WHEN NVL2(pv_id,pv_id,0) = 0 THEN 'N/A' ELSE pkg_version END) AS pkg_version,"&_
250
                                                 "       (CASE WHEN NVL2(pv_id,pv_id,0) = 0 THEN 'N/A' ELSE pkg_name END) AS pkg_name,"&_
251
                                                 "       PV_ID,"&_
251
                                                 "       (CASE WHEN NVL2(pv_id,pv_id,0) = 0 THEN 'N/A' ELSE pkg_version END) AS pkg_version,"&_
252
                                                 "       SCHEDULED_DATETIME,"&_
252
                                                 "       PV_ID,"&_
253
                                                 "       REPEAT_SECS,"&_
253
                                                 "       SCHEDULED_DATETIME,"&_
254
                                                 "       ADDED_DATETIME,"&_
254
                                                 "       REPEAT_SECS,"&_
255
                                                 "       USER_ID,"&_
255
                                                 "       ADDED_DATETIME,"&_
256
                                                 "       IN_PROGRESS,"&_
256
                                                 "       USER_ID,"&_
257
                                                 "       (CASE WHEN SCHEDULED_DATETIME <= SYSDATE THEN 1 ELSE 0 END) AS READY,"&_
257
                                                 "       IN_PROGRESS,"&_
258
                                                 "       (CASE WHEN (SCHEDULED_DATETIME + (1/144)) < SYSDATE THEN 1 ELSE 0 END) AS OVERDUE,"&_
258
                                                 "       (CASE WHEN SCHEDULED_DATETIME <= SYSDATE THEN 1 ELSE 0 END) AS READY,"&_
259
                                                 "       full_name,"&_
259
                                                 "       (CASE WHEN (SCHEDULED_DATETIME + (1/144)) < SYSDATE THEN 1 ELSE 0 END) AS OVERDUE,"&_
260
                                                 "       user_email"&_
260
                                                 "       full_name,"&_
261
                                                 " FROM"&_
261
                                                 "       user_email"&_
262
                                                 " daemon_instructions"&_
262
                                                 " FROM"&_
263
                                                 " LEFT JOIN package_versions USING (pv_id)"&_
263
                                                 " daemon_instructions"&_
264
                                                 " LEFT JOIN release_tags USING (rtag_id)"&_
264
                                                 " LEFT JOIN package_versions USING (pv_id)"&_
265
                                                 " LEFT JOIN projects USING (proj_id)"&_
265
                                                 " LEFT JOIN release_tags USING (rtag_id)"&_
266
                                                 " LEFT JOIN packages USING (pkg_id)"&_
266
                                                 " LEFT JOIN projects USING (proj_id)"&_
267
                                                 " LEFT JOIN users USING (user_id)"&_
267
                                                 " LEFT JOIN packages USING (pkg_id)"&_
268
                                                 sortClause, ORADYN_DEFAULT )
268
                                                 " LEFT JOIN users USING (user_id)"&_
269
 
269
                                                 sortClause, ORADYN_DEFAULT )
270
         While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
270
 
271
 
271
         While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
272
            daemonInstId = rsQry("DAEMON_INSTRUCTIONS_ID")
272
 
273
 
273
            daemonInstId = rsQry("DAEMON_INSTRUCTIONS_ID")
274
            If IsNull(rsQry("IN_PROGRESS")) OR rsQry("IN_PROGRESS") = "0" Then
274
 
275
               bInProgress = False
275
            If IsNull(rsQry("IN_PROGRESS")) OR rsQry("IN_PROGRESS") = "0" Then
276
            Else
276
               bInProgress = False
277
               bInProgress = True
277
            Else
278
            End If
278
               bInProgress = True
279
 
279
            End If
280
            ' only flag as overdue if time threshold has been met but the daemon has not marked the instruction as being in progress.
280
 
281
            If rsQry("OVERDUE") AND NOT bInProgress Then
281
            ' only flag as overdue if time threshold has been met but the daemon has not marked the instruction as being in progress.
282
               bIsOverdue = True
282
            If rsQry("OVERDUE") AND NOT bInProgress Then
283
            Else
283
               bIsOverdue = True
284
               bIsOverdue = False
284
            Else
285
            End If
285
               bIsOverdue = False
286
 
286
            End If
287
            If rsQry("READY") Then
287
 
288
               bIsReady = True
288
            If rsQry("READY") Then
289
            Else
289
               bIsReady = True
290
               bIsReady = False
290
            Else
291
            End If
291
               bIsReady = False
292
 
292
            End If
293
 
293
 
294
            %>
294
 
295
            <tr>
295
            %>
296
               <input type="hidden" name="DAEMON_INSTRUCTIONS_ID_" & daemonInstId value=daemonInstId>
296
            <tr>
297
 
297
               <input type="hidden" name="DAEMON_INSTRUCTIONS_ID_" & daemonInstId value=daemonInstId>
298
               <td></td>
298
 
299
 
299
               <td></td>
300
               <td align="left" valign="top" class="body_txt">
300
 
301
                  <%=DaemonInstructionOperationName(rsQry("OP_CODE"))%>
301
               <td align="left" valign="top" class="body_txt">
302
               </td>
302
                  <%=DaemonInstructionOperationName(rsQry("OP_CODE"))%>
303
 
303
               </td>
304
               <td align="left" valign="top" class="body_txt">
304
 
305
                  <%If rsQry("proj_id") <> "" Then%>
305
               <td align="left" valign="top" class="body_txt">
306
                     <a href='rtree.asp?proj_id=<%=rsQry("proj_id")%>'><%=rsQry("proj_name")%>
306
                  <%If rsQry("proj_id") <> "" Then%>
307
                  <%End If%>
307
                     <a href='rtree.asp?proj_id=<%=rsQry("proj_id")%>'><%=rsQry("proj_name")%>
308
               </td>
308
                  <%End If%>
309
 
309
               </td>
310
               <td align="left" valign="top" class="body_txt">
310
 
311
                  <%If rsQry("rtag_name") <> "" Then%>
311
               <td align="left" valign="top" class="body_txt">
312
                     <a href='dependencies.asp?rtag_id=<%=rsQry("RTAG_ID")%>'><%=rsQry("rtag_name")%>
312
                  <%If rsQry("rtag_name") <> "" Then%>
313
                  <%End If%>
313
                     <a href='dependencies.asp?rtag_id=<%=rsQry("RTAG_ID")%>'><%=rsQry("rtag_name")%>
314
               </td>
314
                  <%End If%>
315
 
315
               </td>
316
               <td align="left" valign="top" class="body_txt">
316
 
317
                  <%=Get_Official(rsQry("official"))%>
317
               <td align="left" valign="top" class="body_txt">
318
               </td>
318
                  <%=Get_Official(rsQry("official"))%>
319
 
319
               </td>
320
               <td align="left" valign="top" class="body_txt">
320
 
321
                  <%If (NOT IsNull(rsQry("PV_ID"))) AND (rsQry("PV_ID") <> "") Then%>
321
               <td align="left" valign="top" class="body_txt">
322
                     <a href='fixed_issues.asp?rtag_id=<%=rsQry("RTAG_ID")%>&pv_id=<%=rsQry("PV_ID")%>'><%=rsQry("pkg_name")%>
322
                  <%If (NOT IsNull(rsQry("PV_ID"))) AND (rsQry("PV_ID") <> "") Then%>
323
                  <%Else%>
323
                     <a href='fixed_issues.asp?rtag_id=<%=rsQry("RTAG_ID")%>&pv_id=<%=rsQry("PV_ID")%>'><%=rsQry("pkg_name")%>
324
                     <%=rsQry("pkg_name")%>
324
                  <%Else%>
325
                  <%End If%>
325
                     <%=rsQry("pkg_name")%>
326
               </td>
326
                  <%End If%>
327
 
327
               </td>
328
               <td align="left" valign="top" class="body_txt">
328
 
329
                  <%=rsQry("pkg_version")%>
329
               <td align="left" valign="top" class="body_txt">
330
               </td>
330
                  <%=rsQry("pkg_version")%>
331
 
331
               </td>
332
               <td align="left" valign="top" class="body_txt" <%If bIsOverdue Then%>style=color:Red<%Elseif bIsReady Then%>style=color:Green<%End If%>><%=EuroDateTime(rsQry("SCHEDULED_DATETIME"))%></td>
332
 
333
 
333
               <td align="left" valign="top" class="body_txt" <%If bIsOverdue Then%>style=color:Red<%Elseif bIsReady Then%>style=color:Green<%End If%>><%=EuroDateTime(rsQry("SCHEDULED_DATETIME"))%></td>
334
               <td align="left" valign="top" class="body_txt"><%=DaemonInstructionRepeatString(rsQry("OP_CODE"), rsQry("REPEAT_SECS"))%></td>
334
 
335
 
335
               <td align="left" valign="top" class="body_txt"><%=DaemonInstructionRepeatString(rsQry("OP_CODE"), rsQry("REPEAT_SECS"))%></td>
336
               <td align="left" valign="top" class="body_txt">
336
 
337
                  <%If rsQry("full_name") <> "" AND rsQry("user_email") <> "" Then%>
337
               <td align="left" valign="top" class="body_txt">
338
                     <a href='mailto:<%=rsQry("user_email")%>' title='<%=rsQry("user_email")%>' class="txt_linked"><%=rsQry("full_name")%></a>
338
                  <%If rsQry("full_name") <> "" AND rsQry("user_email") <> "" Then%>
339
                  <%End If%>
339
                     <a href='mailto:<%=rsQry("user_email")%>' title='<%=rsQry("user_email")%>' class="txt_linked"><%=rsQry("full_name")%></a>
340
               </td>
340
                  <%End If%>
341
 
341
               </td>
342
               <td align="left" valign="top" class="body_txt">
342
 
343
                  <%=EuroDateTime(rsQry("ADDED_DATETIME"))%>
343
               <td align="left" valign="top" class="body_txt">
344
               </td>
344
                  <%=EuroDateTime(rsQry("ADDED_DATETIME"))%>
345
 
345
               </td>
346
               <td align="left" valign="top" class="body_txt">
346
 
347
                  <%If bInProgress Then%>
347
               <td align="left" valign="top" class="body_txt">
348
                     <%If bResetInProgressEnabled Then%>
348
                  <%If bInProgress Then%>
349
                        <img src="images/i_reset.gif" onclick="reset_in_progress(<%=daemonInstId%>);"></img>
349
                     <%If bResetInProgressEnabled Then%>
350
                     <%End If%>
350
                        <img src="images/i_reset.gif" onclick="reset_in_progress(<%=daemonInstId%>);"></img>
351
                     YES
351
                     <%End If%>
352
                  <%Else%>
352
                     YES
353
                     NO
353
                  <%Else%>
354
                  <%End If%>
354
                     NO
355
               </td>
355
                  <%End If%>
356
 
356
               </td>
357
               <td align="left" valign="top" class="body_txt">
357
 
358
                  <%If UserCanAddOrEditThisDaemonInst(rsQry("proj_id"), rsQry("official"), rsQry("OP_CODE")) Then%>
358
               <td align="left" valign="top" class="body_txt">
359
                     <%Call objBtnControl.Render ( Array("btnEditDaemonInst", "btnDeleteDaemonInst"), objAccessControl )%>
359
                  <%If UserCanAddOrEditThisDaemonInst(rsQry("proj_id"), rsQry("official"), rsQry("OP_CODE")) Then%>
360
                  <%ElseIf rsQry("USER_ID") = objAccessControl.UserId Then %>
360
                     <%Call objBtnControl.Render ( Array("btnEditDaemonInst", "btnDeleteDaemonInst"), objAccessControl )%>
361
                     <%Call objBtnControl.Render ( Array("btnDeleteDaemonInst"), objAccessControl )%>
361
                  <%ElseIf rsQry("USER_ID") = objAccessControl.UserId Then %>
362
                  <%Else%>
362
                     <%Call objBtnControl.Render ( Array("btnDeleteDaemonInst"), objAccessControl )%>
363
                     No Edit Permission
363
                  <%Else%>
364
                  <%End If%>
364
                     No Edit Permission
365
               </td>
365
                  <%End If%>
366
 
366
               </td>
367
            </tr>
367
 
368
            <%
368
            </tr>
369
            rsQry.MoveNext()
369
            <%
370
            %>
370
            rsQry.MoveNext()
371
            <tr>
371
            %>
372
               <td colspan="13" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
372
            <tr>
373
            </tr>
373
               <td colspan="13" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
374
            <%
374
            </tr>
375
         Wend
375
            <%
376
         rsQry.Close()
376
         Wend
377
         Set rsQry = nothing
377
         rsQry.Close()
378
         %>
378
         Set rsQry = nothing
379
      </table>
379
         %>
380
 
380
      </table>
381
      <table width="50%"  border="0" cellspacing="3" cellpadding="0" >
381
 
382
         <tr>
382
      <table width="50%"  border="0" cellspacing="3" cellpadding="0" >
383
            <td class="form_iname">
383
         <tr>
384
               <%=sortText%>
384
            <td class="form_iname">
385
            </td>
385
               <%=sortText%>
386
         </tr>
386
            </td>
387
      </table>
387
         </tr>
388
 
388
      </table>
389
 
389
 
390
      <table width="50%"  border="0" cellspacing="3" cellpadding="0" >
390
 
391
         <tr>
391
      <table width="50%"  border="0" cellspacing="3" cellpadding="0" >
392
            <td class="form_iname">&nbsp;</td>
392
         <tr>
393
            <td class="val_err"><a href=""><%Call Action_Buttons ( "Add Daemon Instruction" )%> </a>
393
            <td class="form_iname">&nbsp;</td>
394
            <td>&nbsp;</td>
394
            <td class="val_err"><a href=""><%Call Action_Buttons ( "Add Daemon Instruction" )%> </a>
395
         </tr>
395
            <td>&nbsp;</td>
396
      </table>
396
         </tr>
397
 
397
      </table>
398
      <table width="100%"  border="0" cellspacing="3" cellpadding="0" >
398
 
399
         <tr>
399
      <table width="100%"  border="0" cellspacing="3" cellpadding="0" >
400
            <td>NOTE:</td>
400
         <tr>
401
         </tr>
401
            <td>NOTE:</td>
402
         <tr>
402
         </tr>
403
            <td valign="top" class="help_txt">1)</td>
403
         <tr>
404
            <td valign="top" class="help_txt">Instructions become overdue when they are more than 10 minutes old and are not in-progress</td>
404
            <td valign="top" class="help_txt">1)</td>
405
         </tr>
405
            <td valign="top" class="help_txt">Instructions become overdue when they are more than 10 minutes old and are not in-progress</td>
406
         <tr>
406
         </tr>
407
            <td valign="top" class="help_txt">2)</td>
407
         <tr>
408
            <td valign="top" class="help_txt">Instructions that take a long time to act upon, may cause other instructions for the same release to become overdue. This is not a real problem.</td>
408
            <td valign="top" class="help_txt">2)</td>
409
         </tr>
409
            <td valign="top" class="help_txt">Instructions that take a long time to act upon, may cause other instructions for the same release to become overdue. This is not a real problem.</td>
410
         <tr>
410
         </tr>
411
            <td valign="top" class="help_txt">3)</td>
411
         <tr>
412
            <td valign="top" class="help_txt">Instructions may become stranded in the "in-progress" state if build daemons crash, or a problem occurs on a build machine.
412
            <td valign="top" class="help_txt">3)</td>
413
            Automatic deletion of the instruction will eventually occur (see next note). Contact a release manager administrator to correct this problem before automatic deletion.</td>
413
            <td valign="top" class="help_txt">Instructions may become stranded in the "in-progress" state if build daemons crash, or a problem occurs on a build machine.
414
         </tr>
414
            Automatic deletion of the instruction will eventually occur (see next note). Contact a release manager administrator to correct this problem before automatic deletion.</td>
415
         <tr>
415
         </tr>
416
            <td valign="top" class="help_txt">4)</td>
416
         <tr>
417
            <td valign="top" class="help_txt">Instructions with scheduled times 5 days or older will be deleted automatically.</td>
417
            <td valign="top" class="help_txt">4)</td>
418
         </tr>
418
            <td valign="top" class="help_txt">Instructions with scheduled times 5 days or older will be deleted automatically.</td>
419
         <tr>
419
         </tr>
420
            <td valign="top" class="help_txt">5)</td>
420
         <tr>
421
            <td valign="top" class="help_txt">Add/Edit/Delete Permissions will vary depending upon Operation, Release Mode, and User Permissions.</td>
421
            <td valign="top" class="help_txt">5)</td>
422
         </tr>
422
            <td valign="top" class="help_txt">Add/Edit/Delete Permissions will vary depending upon Operation, Release Mode, and User Permissions.</td>
423
 
423
         </tr>
424
      </table>
424
 
425
 
425
      </table>
426
      <%=objPMod.ComposeHiddenTags()%>
426
 
427
      <input type="hidden" name="action" value="true">
427
      <%=objPMod.ComposeHiddenTags()%>
428
      <%
428
      <input type="hidden" name="action" value="true">
429
      Call objFormComponent.FormEnd()
429
      <%
430
      '-- FROM END ----------------------------------------------------------------------------------------------------------------
430
      Call objFormComponent.FormEnd()
431
      %>
431
      '-- FROM END ----------------------------------------------------------------------------------------------------------------
432
   </body>
432
      %>
433
</html>
433
   </body>
434
<!-- FOOTER -->
434
</html>
435
<!--#include file="_footer.asp"-->
435
<!-- FOOTER -->
436
<%
436
<!--#include file="_footer.asp"-->
437
Call Destroy_All_Objects
437
<%
438
%>
438
Call Destroy_All_Objects
-
 
439
%>