]> git.sur5r.net Git - bacula/bacula/blob - gui/baculum/protected/Web/Portlets/JobConfiguration.tpl
baculum: Add link to go back from job configuration window
[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                 <com:TActiveHiddenField ID="GoBack" />
6                 <script type="text/javascript">
7                         var job_go_back = function() {
8                                 var prev_window = document.getElementById('<%=$this->GoBack->ClientID%>').value;
9                                 if (prev_window) {
10                                         ConfigurationWindow.getObj(prev_window).show();
11                                 }
12                         };
13                 </script>
14                 <a id="job_go_back" href="javascript:void(0)" onclick="job_go_back()" style="display: none"><strong>&laquo; <%[ Go back ]%></strong></a>
15                 <span class="text tab tab_active" rel="job_actions_tab"><%[ Actions ]%></span>
16                 <span class="text tab" rel="job_console_tab"><%[ Console status ]%></span>
17                 <hr class="tabs" />
18                 <div id="job_actions_tab">
19                         <com:TValidationSummary
20                                 ID="ValidationSummary"
21                                 CssClass="validation-error-summary"
22                                 ValidationGroup="JobGroup"
23                                 AutoUpdate="true"
24                                 Display="Dynamic"
25                                 />
26                         <div class="line">
27                                 <div class="text"><com:TLabel ForControl="Level" Text="<%[ Level: ]%>" /></div>
28                                 <div class="field">
29                                         <com:TActiveDropDownList ID="Level" AutoPostBack="false" CssClass="textbox-auto">
30                                                 <prop:Attributes.onchange>
31                                                         var job_to_verify = $('#<%=$this->JobToVerifyOptionsLine->ClientID%>');
32                                                         var verify_options = $('#<%=$this->JobToVerifyOptionsLine->ClientID%>');
33                                                         var verify_by_job_name = $('#<%=$this->JobToVerifyJobNameLine->ClientID%>');
34                                                         var verify_by_jobid = $('#<%=$this->JobToVerifyJobIdLine->ClientID%>');
35                                                         var accurate = $('#<%=$this->AccurateLine->ClientID%>');
36                                                         var estimate = $('#<%=$this->EstimateLine->ClientID%>');
37                                                         var verify_current_opt = document.getElementById('<%=$this->JobToVerifyOptions->ClientID%>').value;
38                                                         if(/^(<%=implode('|', $this->jobToVerify)%>)$/.test(this.value)) {
39                                                                 accurate.hide();
40                                                                 estimate.hide();
41                                                                 verify_options.show();
42                                                                 job_to_verify.show();
43                                                                 if (verify_current_opt == 'jobid') {
44                                                                         verify_by_job_name.hide();
45                                                                         verify_by_jobid.show();
46                                                                 } else if (verify_current_opt == 'jobname') {
47                                                                         verify_by_job_name.show();
48                                                                         verify_by_jobid.hide();
49                                                                 }
50                                                         } else if (job_to_verify.is(':visible')) {
51                                                                 job_to_verify.hide();
52                                                                 verify_options.hide();
53                                                                 verify_by_job_name.hide();
54                                                                 verify_by_jobid.hide();
55                                                                 accurate.show();
56                                                                 estimate.show();
57                                                         }
58                                                 </prop:Attributes.onchange>
59                                         </com:TActiveDropDownList>
60                                 </div>
61                         </div>
62                         <com:TActivePanel ID="JobToVerifyOptionsLine" CssClass="line">
63                                 <div class="text"><com:TLabel ForControl="JobToVerifyOptions" Text="<%[ Verify option: ]%>" /></div>
64                                 <div class="field">
65                                         <com:TActiveDropDownList ID="JobToVerifyOptions" AutoPostBack="false" CssClass="textbox-auto">
66                                                 <prop:Attributes.onchange>
67                                                         var verify_by_job_name = $('#<%=$this->JobToVerifyJobNameLine->ClientID%>');
68                                                         var verify_by_jobid = $('#<%=$this->JobToVerifyJobIdLine->ClientID%>');
69                                                         if (this.value == 'jobname') {
70                                                                 verify_by_jobid.hide();
71                                                                 verify_by_job_name.show();
72                                                         } else if (this.value == 'jobid') {
73                                                                 verify_by_job_name.hide();
74                                                                 verify_by_jobid.show();
75                                                         } else {
76                                                                 verify_by_job_name.hide();
77                                                                 verify_by_jobid.hide();
78                                                         }
79                                                 </prop:Attributes.onchange>
80                                         </com:TActiveDropDownList>
81                                 </div>
82                         </com:TActivePanel>
83                         <com:TActivePanel ID="JobToVerifyJobNameLine" CssClass="line">
84                                 <div class="text"><com:TLabel ForControl="JobToVerifyJobName" Text="<%[ Job to Verify: ]%>" /></div>
85                                 <div class="field">
86                                         <com:TActiveDropDownList ID="JobToVerifyJobName" AutoPostBack="false" CssClass="textbox-auto" />
87                                 </div>
88                         </com:TActivePanel>
89                         <com:TActivePanel ID="JobToVerifyJobIdLine" CssClass="line">
90                                 <div class="text"><com:TLabel ForControl="JobToVerifyJobId" Text="<%[ JobId to Verify: ]%>" /></div>
91                                 <div class="field">
92                                         <com:TActiveTextBox ID="JobToVerifyJobId" CssClass="textbox-auto" AutoPostBack="false" />
93                                         <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" />
94                                 </div>
95                         </com:TActivePanel>
96                         <div class="line">
97                                 <div class="text"><com:TLabel ForControl="Client" Text="<%[ Client: ]%>" /></div>
98                                 <div class="field">
99                                         <com:TActiveDropDownList ID="Client" AutoPostBack="false" CssClass="textbox-auto" />
100                                 </div>
101                         </div>
102                         <div class="line">
103                                 <div class="text"><com:TLabel ForControl="FileSet" Text="<%[ FileSet: ]%>" /></div>
104                                 <div class="field">
105                                         <com:TActiveDropDownList ID="FileSet" AutoPostBack="false" CssClass="textbox-auto" />
106                                 </div>
107                         </div>
108                         <div class="line">
109                                 <div class="text"><com:TLabel ForControl="Pool" Text="<%[ Pool: ]%>" /></div>
110                                 <div class="field">
111                                         <com:TActiveDropDownList ID="Pool" AutoPostBack="false" CssClass="textbox-auto" />
112                                 </div>
113                         </div>
114                         <div class="line">
115                                 <div class="text"><com:TLabel ForControl="Storage" Text="<%[ Storage: ]%>" /></div>
116                                 <div class="field">
117                                         <com:TActiveDropDownList ID="Storage" AutoPostBack="false" CssClass="textbox-auto" />
118                                 </div>
119                         </div>
120                         <div class="line">
121                                 <div class="text"><com:TLabel ForControl="Priority" Text="<%[ Priority: ]%>" /></div>
122                                 <div class="field">
123                                         <com:TActiveTextBox ID="Priority" CssClass="textbox-auto" AutoPostBack="false" />
124                                         <com:TActiveCustomValidator ID="PriorityValidator" ValidationGroup="JobGroup" ControlToValidate="Priority" ErrorMessage="<%[ Priority value must be integer greather than 0. ]%>" ControlCssClass="validation-error" Display="None" OnServerValidate="priorityValidator" />
125                                 </div>
126                         </div>
127                         <com:TActivePanel ID="AccurateLine" CssClass="line">
128                                 <div class="text"><com:TLabel ForControl="Accurate" Text="<%[ Accurate: ]%>" /></div>
129                                 <div class="field"><com:TActiveCheckBox ID="Accurate" AutoPostBack="false" /></div>
130                         </com:TActivePanel>
131                         <com:TCallback ID="ReloadJobs" OnCallback="Page.JobWindow.prepareData" ClientSide.OnComplete="SlideWindow.getObj('JobWindow').setLoadRequest(); job_callback_duration = new Date().getTime();" />
132                         <script type="text/javascript">
133                                 var job_callback_duration;
134                                 var job_callback_func = function() {
135                                         /*
136                                          * Check if Job list window is open and if any checkbox from actions is not checked.
137                                          * Also check if toolbar is open.
138                                          * If yes, then is possible to refresh Job list window.
139                                          */
140                                         var obj = SlideWindow.getObj('JobWindow');
141                                         if (obj.isWindowOpen() === false || obj.areCheckboxesChecked() === true || obj.isToolbarOpen() === true) {
142                                                 return;
143                                         }
144                                         var mainForm = Prado.Validation.getForm();
145                                         var callback = <%=$this->ReloadJobs->ActiveControl->Javascript%>;
146                                         if (Prado.Validation.managers[mainForm].getValidatorsWithError('JobGroup').length == 0) {
147                                                 obj.markAllChecked(false);
148                                                 callback.dispatch();
149                                         }
150                                 }
151                         </script>
152                         <div class="button">
153                                 <com:BActiveButton ID="Status" Text="<%[ Job status ]%>" CausesValidation="false" OnClick="status" CssClass="bbutton">
154                                         <prop:ClientSide.OnSuccess>
155                                                 ConfigurationWindow.getObj('JobWindow').progress(false);
156                                                 job_callback_func();
157                                                 ConfigurationWindow.getObj('JobWindow').switchTab('job_console_tab');
158                                         </prop:ClientSide.OnSuccess>
159                                 </com:BActiveButton>
160                                 <com:TActiveLabel ID="DeleteButton">
161                                         <com:BActiveButton ID="Delete" Text="<%[ Delete job ]%>" CausesValidation="false" OnClick="delete" CssClass="bbutton">
162                                                 <prop:ClientSide.OnSuccess>
163                                                         ConfigurationWindow.getObj('JobWindow').progress(false);
164                                                         job_callback_func();
165                                                 </prop:ClientSide.OnSuccess>
166                                         </com:BActiveButton>
167                                 </com:TActiveLabel>
168                                 <com:TActiveLabel ID="CancelButton">
169                                         <com:BActiveButton ID="Cancel" Text="<%[ Cancel job ]%>" CausesValidation="false" OnClick="cancel" CssClass="bbutton">
170                                                 <prop:ClientSide.OnSuccess>
171                                                         ConfigurationWindow.getObj('JobWindow').progress(false);
172                                                         job_callback_func();
173                                                         ConfigurationWindow.getObj('JobWindow').switchTab('job_console_tab');
174                                                 </prop:ClientSide.OnSuccess>
175                                         </com:BActiveButton>
176                                 </com:TActiveLabel>
177                                 <com:TActivePanel ID="EstimateLine" CssClass="button_line">
178                                         <com:BActiveButton ID="Estimate" Text="<%[ Estimate job ]%>" OnClick="estimate" CssClass="bbutton">
179                                                 <prop:ClientSide.OnSuccess>
180                                                         ConfigurationWindow.getObj('JobWindow').progress(false);
181                                                         ConfigurationWindow.getObj('JobWindow').switchTab('job_console_tab');
182                                                 </prop:ClientSide.OnSuccess>
183                                         </com:BActiveButton>
184                                 </com:TActivePanel>
185                                 <com:BActiveButton ID="Run" Text="<%[ Run job again ]%>" ValidationGroup="JobGroup" CausesValidation="true" OnClick="run_again">
186                                         <prop:ClientSide.OnSuccess>
187                                                 ConfigurationWindow.getObj('JobWindow').switchTab('job_console_tab');
188                                                 ConfigurationWindow.getObj('JobWindow').progress(false);
189                                                 oMonitor();
190                                                 job_callback_func();
191                                         </prop:ClientSide.OnSuccess>
192                                 </com:BActiveButton>
193                         </div>
194                 </div>
195                 <div id="job_console_tab" style="display: none"> 
196                         <com:TCallback ID="RefreshStatus" OnCallback="status" ClientSide.OnComplete="job_callback_duration = new Date().getTime();" />
197                         <script type="text/javascript">
198                                 var status_prev = false;
199                                 var status_callback_func = function() {
200                                         if($('#<%=$this->getID()%>configuration').is(':visible') && (document.getElementById('<%=$this->RefreshStart->ClientID%>').value === 'true' || status_prev === true)) {
201                                                 status_prev = (document.getElementById('<%=$this->RefreshStart->ClientID%>').value === 'true');
202                                                 var callback = <%=$this->RefreshStatus->ActiveControl->Javascript%>;
203                                                 callback.dispatch();
204                                         } else {
205                                                 status_prev = false;
206                                         }
207                                 }
208                         </script>
209                         <com:TActiveHiddenField ID="RefreshStart" />
210                         <div class="field-full" style="min-height: 166px;">
211                                 <com:TActiveTextBox ID="Estimation" TextMode="MultiLine" CssClass="textbox-auto" Style="height: 475px" ReadOnly="true" />
212                         </div>
213                 </div>
214         </com:TActivePanel>
215 </com:TContent>