1 <%@ MasterClass="Application.Web.Portlets.ConfigurationPanel"%>
2 <com:TContent ID="ConfigurationWindowContent">
3 <com:TActivePanel DefaultButton="Run">
4 <h4><%[ Job: ]%> [ <com:TActiveLabel ID="JobID" /> ] <com:TActiveLabel ID="JobName" Style="word-break: break-all;" /></h4>
5 <span class="text tab tab_active" rel="job_actions_tab"><%[ Actions ]%></span>
6 <span class="text tab" rel="job_console_tab"><%[ Console status ]%></span>
8 <div id="job_actions_tab">
9 <com:TValidationSummary
10 ID="ValidationSummary"
11 CssClass="validation-error-summary"
12 ValidationGroup="JobGroup"
17 <div class="text"><com:TLabel ForControl="Level" Text="<%[ Level: ]%>" /></div>
19 <com:TActiveDropDownList ID="Level" AutoPostBack="false" CssClass="textbox-auto">
20 <prop:Attributes.onchange>
21 var job_to_verify = $('#<%=$this->JobToVerifyOptionsLine->ClientID%>');
22 var verify_options = $('#<%=$this->JobToVerifyOptionsLine->ClientID%>');
23 var verify_by_job_name = $('#<%=$this->JobToVerifyJobNameLine->ClientID%>');
24 var verify_by_jobid = $('#<%=$this->JobToVerifyJobIdLine->ClientID%>');
25 var accurate = $('#<%=$this->AccurateLine->ClientID%>');
26 var estimate = $('#<%=$this->EstimateLine->ClientID%>');
27 var verify_current_opt = document.getElementById('<%=$this->JobToVerifyOptions->ClientID%>').value;
28 if(/^(<%=implode('|', $this->jobToVerify)%>)$/.test(this.value)) {
31 verify_options.show();
33 if (verify_current_opt == 'jobid') {
34 verify_by_job_name.hide();
35 verify_by_jobid.show();
36 } else if (verify_current_opt == 'jobname') {
37 verify_by_job_name.show();
38 verify_by_jobid.hide();
40 } else if (job_to_verify.is(':visible')) {
42 verify_options.hide();
43 verify_by_job_name.hide();
44 verify_by_jobid.hide();
48 </prop:Attributes.onchange>
49 </com:TActiveDropDownList>
52 <com:TActivePanel ID="JobToVerifyOptionsLine" CssClass="line">
53 <div class="text"><com:TLabel ForControl="JobToVerifyOptions" Text="<%[ Verify option: ]%>" /></div>
55 <com:TActiveDropDownList ID="JobToVerifyOptions" AutoPostBack="false" CssClass="textbox-auto">
56 <prop:Attributes.onchange>
57 var verify_by_job_name = $('#<%=$this->JobToVerifyJobNameLine->ClientID%>');
58 var verify_by_jobid = $('#<%=$this->JobToVerifyJobIdLine->ClientID%>');
59 if (this.value == 'jobname') {
60 verify_by_jobid.hide();
61 verify_by_job_name.show();
62 } else if (this.value == 'jobid') {
63 verify_by_job_name.hide();
64 verify_by_jobid.show();
66 verify_by_job_name.hide();
67 verify_by_jobid.hide();
69 </prop:Attributes.onchange>
70 </com:TActiveDropDownList>
73 <com:TActivePanel ID="JobToVerifyJobNameLine" CssClass="line">
74 <div class="text"><com:TLabel ForControl="JobToVerifyJobName" Text="<%[ Job to Verify: ]%>" /></div>
76 <com:TActiveDropDownList ID="JobToVerifyJobName" AutoPostBack="false" CssClass="textbox-auto" />
79 <com:TActivePanel ID="JobToVerifyJobIdLine" CssClass="line">
80 <div class="text"><com:TLabel ForControl="JobToVerifyJobId" Text="<%[ JobId to Verify: ]%>" /></div>
82 <com:TActiveTextBox ID="JobToVerifyJobId" CssClass="textbox-auto" AutoPostBack="false" />
83 <com:TActiveCustomValidator ID="JobToVerifyJobIdValidator" ValidationGroup="JobGroup" ControlToValidate="JobToVerifyJobId" ErrorMessage="<%[ JobId to Verify value must be integer greather than 0. ]%>" ControlCssClass="validation-error" Display="None" OnServerValidate="jobIdToVerifyValidator" />
87 <div class="text"><com:TLabel ForControl="Client" Text="<%[ Client: ]%>" /></div>
89 <com:TActiveDropDownList ID="Client" AutoPostBack="false" CssClass="textbox-auto" />
93 <div class="text"><com:TLabel ForControl="FileSet" Text="<%[ FileSet: ]%>" /></div>
95 <com:TActiveDropDownList ID="FileSet" AutoPostBack="false" CssClass="textbox-auto" />
99 <div class="text"><com:TLabel ForControl="Pool" Text="<%[ Pool: ]%>" /></div>
101 <com:TActiveDropDownList ID="Pool" AutoPostBack="false" CssClass="textbox-auto" />
105 <div class="text"><com:TLabel ForControl="Storage" Text="<%[ Storage: ]%>" /></div>
107 <com:TActiveDropDownList ID="Storage" AutoPostBack="false" CssClass="textbox-auto" />
111 <div class="text"><com:TLabel ForControl="Priority" Text="<%[ Priority: ]%>" /></div>
113 <com:TActiveTextBox ID="Priority" CssClass="textbox-auto" AutoPostBack="false" />
114 <com:TActiveCustomValidator ID="PriorityValidator" ValidationGroup="JobGroup" ControlToValidate="Priority" ErrorMessage="<%[ Priority value must be integer greather than 0. ]%>" ControlCssClass="validation-error" Display="None" OnServerValidate="priorityValidator" />
117 <com:TActivePanel ID="AccurateLine" CssClass="line">
118 <div class="text"><com:TLabel ForControl="Accurate" Text="<%[ Accurate: ]%>" /></div>
119 <div class="field"><com:TActiveCheckBox ID="Accurate" AutoPostBack="false" /></div>
121 <com:TCallback ID="ReloadJobs" OnCallback="Page.JobWindow.prepareData" ClientSide.OnComplete="SlideWindow.getObj('JobWindow').setLoadRequest(); job_callback_duration = new Date().getTime();" />
122 <script type="text/javascript">
123 var job_callback_duration;
124 var job_callback_func = function() {
126 * Check if Job list window is open and if any checkbox from actions is not checked.
127 * Also check if toolbar is open.
128 * If yes, then is possible to refresh Job list window.
130 var obj = SlideWindow.getObj('JobWindow');
131 if (obj.isWindowOpen() === false || obj.areCheckboxesChecked() === true || obj.isToolbarOpen() === true) {
134 var mainForm = Prado.Validation.getForm();
135 var callback = <%=$this->ReloadJobs->ActiveControl->Javascript%>;
136 if (Prado.Validation.managers[mainForm].getValidatorsWithError('JobGroup').length == 0) {
137 obj.markAllChecked(false);
143 <com:BActiveButton ID="Status" Text="<%[ Job status ]%>" CausesValidation="false" OnClick="status" CssClass="bbutton">
144 <prop:ClientSide.OnSuccess>
145 ConfigurationWindow.getObj('JobWindow').progress(false);
147 ConfigurationWindow.getObj('JobWindow').switchTab('job_console_tab');
148 </prop:ClientSide.OnSuccess>
150 <com:TActiveLabel ID="DeleteButton">
151 <com:BActiveButton ID="Delete" Text="<%[ Delete job ]%>" CausesValidation="false" OnClick="delete" CssClass="bbutton">
152 <prop:ClientSide.OnSuccess>
153 ConfigurationWindow.getObj('JobWindow').progress(false);
155 </prop:ClientSide.OnSuccess>
158 <com:TActiveLabel ID="CancelButton">
159 <com:BActiveButton ID="Cancel" Text="<%[ Cancel job ]%>" CausesValidation="false" OnClick="cancel" CssClass="bbutton">
160 <prop:ClientSide.OnSuccess>
161 ConfigurationWindow.getObj('JobWindow').progress(false);
163 ConfigurationWindow.getObj('JobWindow').switchTab('job_console_tab');
164 </prop:ClientSide.OnSuccess>
167 <com:TActivePanel ID="EstimateLine" CssClass="button_line">
168 <com:BActiveButton ID="Estimate" Text="<%[ Estimate job ]%>" OnClick="estimate" CssClass="bbutton">
169 <prop:ClientSide.OnSuccess>
170 ConfigurationWindow.getObj('JobWindow').progress(false);
171 ConfigurationWindow.getObj('JobWindow').switchTab('job_console_tab');
172 </prop:ClientSide.OnSuccess>
175 <com:BActiveButton ID="Run" Text="<%[ Run job again ]%>" ValidationGroup="JobGroup" CausesValidation="true" OnClick="run_again">
176 <prop:ClientSide.OnSuccess>
177 ConfigurationWindow.getObj('JobWindow').switchTab('job_console_tab');
178 ConfigurationWindow.getObj('JobWindow').progress(false);
181 </prop:ClientSide.OnSuccess>
185 <div id="job_console_tab" style="display: none">
186 <com:TCallback ID="RefreshStatus" OnCallback="status" ClientSide.OnComplete="job_callback_duration = new Date().getTime();" />
187 <script type="text/javascript">
188 var status_prev = false;
189 var status_callback_func = function() {
190 if($('#<%=$this->getID()%>configuration').is(':visible') && (document.getElementById('<%=$this->RefreshStart->ClientID%>').value === 'true' || status_prev === true)) {
191 status_prev = (document.getElementById('<%=$this->RefreshStart->ClientID%>').value === 'true');
192 var callback = <%=$this->RefreshStatus->ActiveControl->Javascript%>;
199 <com:TActiveHiddenField ID="RefreshStart" />
200 <div class="field-full" style="min-height: 166px;">
201 <com:TActiveTextBox ID="Estimation" TextMode="MultiLine" CssClass="textbox-auto" Style="height: 475px" ReadOnly="true" />