]> git.sur5r.net Git - bacula/bacula/blob - gui/baculum/protected/Web/Portlets/JobConfiguration.tpl
521e7207cfc847a15894e3ffc280646860276022
[bacula/bacula] / gui / baculum / protected / Web / Portlets / JobConfiguration.tpl
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>
7                 <hr class="tabs" />
8                 <div id="job_actions_tab">
9                         <com:TValidationSummary
10                                 ID="ValidationSummary"
11                                 CssClass="validation-error-summary"
12                                 ValidationGroup="JobGroup"
13                                 AutoUpdate="true"
14                                 Display="Dynamic"
15                                 />
16                         <div class="line">
17                                 <div class="text"><com:TLabel ForControl="Level" Text="<%[ Level: ]%>" /></div>
18                                 <div class="field">
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)) {
29                                                                 accurate.hide();
30                                                                 estimate.hide();
31                                                                 verify_options.show();
32                                                                 job_to_verify.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();
39                                                                 }
40                                                         } else if (job_to_verify.is(':visible')) {
41                                                                 job_to_verify.hide();
42                                                                 verify_options.hide();
43                                                                 verify_by_job_name.hide();
44                                                                 verify_by_jobid.hide();
45                                                                 accurate.show();
46                                                                 estimate.show();
47                                                         }
48                                                 </prop:Attributes.onchange>
49                                         </com:TActiveDropDownList>
50                                 </div>
51                         </div>
52                         <com:TActivePanel ID="JobToVerifyOptionsLine" CssClass="line">
53                                 <div class="text"><com:TLabel ForControl="JobToVerifyOptions" Text="<%[ Verify option: ]%>" /></div>
54                                 <div class="field">
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();
65                                                         } else {
66                                                                 verify_by_job_name.hide();
67                                                                 verify_by_jobid.hide();
68                                                         }
69                                                 </prop:Attributes.onchange>
70                                         </com:TActiveDropDownList>
71                                 </div>
72                         </com:TActivePanel>
73                         <com:TActivePanel ID="JobToVerifyJobNameLine" CssClass="line">
74                                 <div class="text"><com:TLabel ForControl="JobToVerifyJobName" Text="<%[ Job to Verify: ]%>" /></div>
75                                 <div class="field">
76                                         <com:TActiveDropDownList ID="JobToVerifyJobName" AutoPostBack="false" CssClass="textbox-auto" />
77                                 </div>
78                         </com:TActivePanel>
79                         <com:TActivePanel ID="JobToVerifyJobIdLine" CssClass="line">
80                                 <div class="text"><com:TLabel ForControl="JobToVerifyJobId" Text="<%[ JobId to Verify: ]%>" /></div>
81                                 <div class="field">
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" />
84                                 </div>
85                         </com:TActivePanel>
86                         <div class="line">
87                                 <div class="text"><com:TLabel ForControl="Client" Text="<%[ Client: ]%>" /></div>
88                                 <div class="field">
89                                         <com:TActiveDropDownList ID="Client" AutoPostBack="false" CssClass="textbox-auto" />
90                                 </div>
91                         </div>
92                         <div class="line">
93                                 <div class="text"><com:TLabel ForControl="FileSet" Text="<%[ FileSet: ]%>" /></div>
94                                 <div class="field">
95                                         <com:TActiveDropDownList ID="FileSet" AutoPostBack="false" CssClass="textbox-auto" />
96                                 </div>
97                         </div>
98                         <div class="line">
99                                 <div class="text"><com:TLabel ForControl="Pool" Text="<%[ Pool: ]%>" /></div>
100                                 <div class="field">
101                                         <com:TActiveDropDownList ID="Pool" AutoPostBack="false" CssClass="textbox-auto" />
102                                 </div>
103                         </div>
104                         <div class="line">
105                                 <div class="text"><com:TLabel ForControl="Storage" Text="<%[ Storage: ]%>" /></div>
106                                 <div class="field">
107                                         <com:TActiveDropDownList ID="Storage" AutoPostBack="false" CssClass="textbox-auto" />
108                                 </div>
109                         </div>
110                         <div class="line">
111                                 <div class="text"><com:TLabel ForControl="Priority" Text="<%[ Priority: ]%>" /></div>
112                                 <div class="field">
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" />
115                                 </div>
116                         </div>
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>
120                         </com:TActivePanel>
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() {
125                                         /*
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.
129                                          */
130                                         var obj = SlideWindow.getObj('JobWindow');
131                                         if (obj.isWindowOpen() === false || obj.areCheckboxesChecked() === true || obj.isToolbarOpen() === true) {
132                                                 return;
133                                         }
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);
138                                                 callback.dispatch();
139                                         }
140                                 }
141                         </script>
142                         <div class="button">
143                                 <com:BActiveButton ID="Status" Text="<%[ Job status ]%>" CausesValidation="false" OnClick="status" CssClass="bbutton">
144                                         <prop:ClientSide.OnSuccess>
145                                                 ConfigurationWindow.getObj('JobWindow').progress(false);
146                                                 job_callback_func();
147                                                 ConfigurationWindow.getObj('JobWindow').switchTab('job_console_tab');
148                                         </prop:ClientSide.OnSuccess>
149                                 </com:BActiveButton>
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);
154                                                         job_callback_func();
155                                                 </prop:ClientSide.OnSuccess>
156                                         </com:BActiveButton>
157                                 </com:TActiveLabel>
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);
162                                                         job_callback_func();
163                                                         ConfigurationWindow.getObj('JobWindow').switchTab('job_console_tab');
164                                                 </prop:ClientSide.OnSuccess>
165                                         </com:BActiveButton>
166                                 </com:TActiveLabel>
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>
173                                         </com:BActiveButton>
174                                 </com:TActivePanel>
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);
179                                                 oMonitor();
180                                                 job_callback_func();
181                                         </prop:ClientSide.OnSuccess>
182                                 </com:BActiveButton>
183                         </div>
184                 </div>
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%>;
193                                                 callback.dispatch();
194                                         } else {
195                                                 status_prev = false;
196                                         }
197                                 }
198                         </script>
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" />
202                         </div>
203                 </div>
204         </com:TActivePanel>
205 </com:TContent>