Bug 13618: Add html filters to all the variables
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / reports / dictionary.tt
index 2e15834..ecb9f77 100644 (file)
@@ -1,20 +1,31 @@
+[% SET footerjs = 1 %]
 [% INCLUDE 'doc-head-open.inc' %]
 <title>Koha &rsaquo; Reports &rsaquo; Guided reports &rsaquo; Dictionary</title>
 [% INCLUDE 'doc-head-close.inc' %]
-[% INCLUDE 'calendar.inc' %]
 <style type="text/css">fieldset.rows table { clear: none; margin: 0;}</style>
 </head>
+
 <body id="rep_dictionary" class="rep">
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'circ-search.inc' %]
 
+[%- BLOCK area_name -%]
+    [%- SWITCH area -%]
+        [%- CASE 'CIRC' -%]Circulation
+        [%- CASE 'CAT'  -%]Catalog
+        [%- CASE 'PAT'  -%]Patrons
+        [%- CASE 'ACQ'  -%]Acquisitions
+        [%- CASE 'ACC'  -%]Accounts
+    [%- END -%]
+[%- END -%]
+
 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/reports/reports-home.pl">Reports</a> &rsaquo; <a href="/cgi-bin/koha/reports/guided_reports.pl">Guided reports wizard</a>
 [% IF ( new_dictionary ) %] &rsaquo; <a href="/cgi-bin/koha/reports/dictionary.pl">Dictionary</a> &rsaquo; <strong>Name the new definition</strong>
 [% ELSIF ( step_2 ) %] &rsaquo; <a href="/cgi-bin/koha/reports/dictionary.pl">Dictionary</a> &rsaquo; <strong>Step 2: Choose the area </strong> 
-[% ELSIF ( step_3 ) %] &rsaquo; <a href="/cgi-bin/koha/reports/dictionary.pl">Dictionary</a> &rsaquo; <strong>Step 3: Choose columns </strong> 
+[% ELSIF ( step_3 ) %] &rsaquo; <a href="/cgi-bin/koha/reports/dictionary.pl">Dictionary</a> &rsaquo; <strong>Step 3: Choose a column </strong>
 [% ELSIF ( step_4 ) %] &rsaquo; <a href="/cgi-bin/koha/reports/dictionary.pl">Dictionary</a> &rsaquo; <strong>Step 4: Specify a value </strong> 
 [% ELSIF ( step_5 ) %] &rsaquo; <a href="/cgi-bin/koha/reports/dictionary.pl">Dictionary</a> &rsaquo; <strong>Step 5: Confirm definition</strong> 
-[% ELSE %]<strong> Dictionary </strong>[% END %]</div>
+[% ELSE %] &rsaquo; <strong> Dictionary </strong>[% END %]</div>
 
 <div id="doc3" class="yui-t2">
 
@@ -22,7 +33,9 @@
 <div id="yui-main">
 <div class="yui-b">
 [% IF ( start_dictionary ) %]
-[% INCLUDE 'dictionary-toolbar.inc' %]
+    <div id="toolbar">
+        <a id="newdictionary" class="btn btn-default btn-sm" href="/cgi-bin/koha/reports/dictionary.pl?phase=Add%20New%20Definition"><i class="fa fa-plus"></i> New definition</a>
+    </div>
 [% END %]
 <h1>Dictionary</h1>
 [% IF ( start_dictionary ) %]
         <h2>Current terms</h2>
                <form action="/cgi-bin/koha/reports/dictionary.pl" method="post">
         <input type="hidden" name="phase" value="View Dictionary" />
-               [% IF ( areas ) %]
-                       Filter by area <select name="area">
-                       <option value="">All</option>
-                       [% FOREACH area IN areas %]
-                           [% IF ( area.selected ) %]
-                               <option value="[% area.id %]" selected="selected" >[% area.name %]</option>
-                           [% ELSE %]
-                               <option value="[% area.id %]">[% area.name %]</option>
-                           [% END %]
-                       [% END %]
-                       </select>
-                       <input name="submit" value="Go" type="submit" />
-                       </form>
-                       <br />
-               [% END %]
-               <table border="1" cellspacing="0" cellpadding="5">
-               <tr>
-               <th>Name</th>
-               <th>Description</th>
-               <th>Area</th>
-               <th>Definition</th>
-               <th>&nbsp;</th>
-               </tr>
-               [% FOREACH definition IN definitions %]
-                       [% UNLESS ( loop.odd ) %]
-                               <tr class="highlight" valign="top">
-                       [% ELSE %]
-                               <tr valign="top">
-                       [% END %]
-                       <td>[% definition.name %]</td>
-                       <td>[% definition.description %]</td>
-                       <td>[% definition.areaname %]</td>
-                       <td>[% definition.saved_sql %]</td>
-                       <td><form method="post" action="/cgi-bin/koha/reports/dictionary.pl">
-                       <input type="hidden" name="id" value="[% definition.id %]" />
-                       <input type="hidden" name="phase" value="Delete Definition" />
-                       <input type="submit" name="submit" value="Delete Definition" />
-                       </form></td>
-                       </tr>
-               [% END %]
-               </table>
+  [% IF ( areas ) %]
+        Filter by area
+        <select name="area">
+          <option value="">All</option>
+        [% FOREACH area IN areas %]
+          [%- IF ( area.selected ) -%]
+          <option value="[% area.id | html %]" selected="selected">[%- PROCESS area_name area=area.id -%]</option>
+          [%- ELSE -%]
+          <option value="[% area.id | html %]">[%- PROCESS area_name area=area.id -%]</option>
+          [%- END -%]
+        [% END %]
+        </select>
+      <input name="submit" value="Go" type="submit" />
+  [% END %]
+      </form>
+      <br />
+        <table>
+            <tr>
+                <th>Name</th>
+                <th>Description</th>
+                <th>Area</th>
+                <th>Definition</th>
+                <th>Action</th>
+            </tr>
+            [% FOREACH definition IN definitions %]
+            <tr>
+                <td>[% definition.name | html %]</td>
+                <td>[% definition.description | html %]</td>
+                <td>[% definition.areaname | html %]</td>
+                <td>[% definition.saved_sql | html %]</td>
+                <td class="actions"><form method="post" action="/cgi-bin/koha/reports/dictionary.pl">
+                    <input type="hidden" name="id" value="[% definition.id | html %]" />
+                    <input type="hidden" name="phase" value="Delete Definition" />
+                    <button type="submit" name="submit" class="btn btn-default btn-xs" id="delete"><i class="fa fa-trash"></i> Delete</button>
+                </form></td>
+            </tr>
+            [% END %]
+        </table>
+                [% ELSE %]
+                <div class="dialog message">There are no saved definitions. <a id="newdictionary" href="/cgi-bin/koha/reports/dictionary.pl?phase=Add%20New%20Definition">Add a definition to the dictionary.</a></div>
                [% END %]
 [% END %]
 
 </form>
 [% END %]
 
-[% IF ( step_2 ) %]
+[%- IF ( step_2 ) -%]
 <h3>Add new definition</h3>
 <form action="/cgi-bin/koha/reports/dictionary.pl" method="post">
-<fieldset class="rows">
-<legend>Step 2 of 5: Choose the area</legend>
-<ol><li><input type="hidden" name="phase" value="New Term step 3" />
-<input type="hidden" name="definition_name" value="[% definition_name %]" />
-<input type="hidden" name="definition_description" value="[% definition_description %]" />
-<label for="area">Select table </label><select name="area" id="area">
-[% FOREACH area IN areas %]     
-<option value="[% area.id %]">[% area.name %]</option>                  
-[% END %]                
-</select></li>
-</ol>
-</fieldset>                                                                            
-<fieldset class="action"><input name="submit" value="Next" type="submit" /></fieldset>
+  <fieldset class="rows">
+    <legend>Step 2 of 5: Choose the area</legend>
+    <ol>
+      <li>
+        <input type="hidden" name="phase" value="New Term step 3" />
+        <input type="hidden" name="definition_name" value="[% definition_name | html %]" />
+        <input type="hidden" name="definition_description" value="[% definition_description | html %]" />
+        <label for="area">Select table:</label><select name="area" id="area">
+      [%- FOREACH area IN areas -%]
+        <option value="[%- area.id | html -%]">[%- PROCESS area_name area=area.id -%]</option>
+      [%- END -%]
+        </select>
+      </li>
+    </ol>
+  </fieldset>
+  <fieldset class="action"><input name="submit" value="Next" type="submit" /></fieldset>
 </form>
-[% END %]
+[%- END -%]
 
 [% IF ( step_3 ) %]
 <h3>Add new definition</h3>
 <form action="/cgi-bin/koha/reports/dictionary.pl" method="post">      
 <fieldset class="rows">
-<legend>Step 3 of 5: Choose columns</legend>
-<input type="hidden" name="area" value="[% area %]" />
-<input type="hidden" name="definition_name" value="[% definition_name %]" />
-<input type="hidden" name="definition_description" value="[% definition_description %]" />
+<legend>Step 3 of 5: Choose a column</legend>
+<input type="hidden" name="area" value="[% area | html %]" />
+<input type="hidden" name="definition_name" value="[% definition_name | html %]" />
+<input type="hidden" name="definition_description" value="[% definition_description | html %]" />
 
-<table style="border: 0;margin:1em;"><tr>
-<td style="border: 0;"><select id="availableColumns" name="oldcolumns2" size="25" style="width:200px;height:300px;">    
+<select id="availableColumns" name="columns" size="25" style="width:200px;height:300px;margin:1em;">
 [% FOREACH column IN columns %]
 [% IF ( column.table ) %]
 [% IF ( loop.first ) %]                              
 </optgroup>        
 [% END %]                                                         
 
-<optgroup label="[% column.table %]">              
+<optgroup label="[% column.table | html %]">              
 [% ELSE %]               
-<option value="[% column.name %]">          
-[% IF ( column.description ) %][% column.description %]    
+<option value="[% column.name | html %]">
+[% IF ( column.description ) %][% column.description | html %]    
 [% ELSE %]               
-[% column.name %]                          
+[% column.name | html %]                          
 [% END %]              
 </option>      
 [% END %]              
 [% END %]                
 </optgroup>
-</select></td>
-
-<td style="border: 0;"><input type="button" name="Add" value="Add" class="button"  style="width : 6em; margin-bottom : .5em;" onclick="addColumn()" /><br /><input type="button" name="delete" value="&lt;&lt; Delete" class="button" style="width : 6em;"  onclick="delColumn()" />  </td>
-
-<td style="border: 0;"><select id="selectedColumns" name="columns" size="25" style="width:200px;height:300px;"></select>     </td>   </tr></table>     
+</select>
 
 <input type="hidden" name="phase" value="New Term step 4" />
 </fieldset>
 <form action="/cgi-bin/koha/reports/dictionary.pl" method="post">
 <fieldset class="rows">
 <legend>Step 4 of 5: Specify a value</legend>
-<input type="hidden" name="area" value="[% area %]" />
-<input type="hidden" name="definition_name" value="[% definition_name %]" />
-<input type="hidden" name="definition_description" value="[% definition_description %]" />
-<input type="hidden" name="columnstring" value="[% columnstring %]" />
+<input type="hidden" name="area" value="[% area | html %]" />
+<input type="hidden" name="definition_name" value="[% definition_name | html %]" />
+<input type="hidden" name="definition_description" value="[% definition_description | html %]" />
+<input type="hidden" name="columnstring" value="[% columnstring | html %]" />
 
 [% FOREACH column IN columns %]
-<input type="hidden" name="criteria_column" value="[% column.name %]" />
-<ol><li><span class="label">Column: </span> [% column.name %]</li>
+<input type="hidden" name="criteria_column" value="[% column.name | html %]" />
+<ol><li><span class="label">Column: </span> [% column.name | html %]</li>
 [% IF ( column.distinct ) %]
-       <li><label for="[% column.name %]_value">Choose: </label> <select id="[% column.name %]_value" name="[% column.name %]_value"> 
-               [% FOREACH value IN column.values %]
-                       <option value="[% value.availablevalues %]">[% value.availablevalues %]</option>
-               [% END %]
-       </select></li>
+    <li><label for="[% column.name | html %]_value">Choose: </label> <select id="[% column.name | html %]_value" name="[% column.name | html %]_value">
+        [% FOREACH value IN column.values %]
+            <option value="[% value.availablevalues | html %]">[% value.availablevalues | html %]</option>
+        [% END %]
+    </select></li>
 [% END %]
 [% IF ( column.date ) %]
-       <li><span class="label">Choose: </span><table>
-       <tr valign="top">
-       <td><input type="radio" name="[% column.name %]_all" value="all" />All dates</td>
-       <td>OR</td>
-       <td><input type="radio" name="dates" value="range" />Date range<br />
-       <table>
-       <tr>
-       <td>Start of date range</td>
-    <td><input type="text" size="10" id="from" name="[% column.name %]_start_value" value="" class="datepickerfrom" />
-       <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
-       </td>
-       </tr>
-       <tr>
-       <td>End of date range</td>
-       <td>
-    <input type="text" size="10" id="to" name="[% column.name %]_end_value" value="" class="datepickerto" />
-       <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
-       </td>
-       </tr>
-       </table></td>
-       </tr>
-</table></li>
+    <li class="radio">
+        <label for="all_dates">All dates</label>
+        <input type="radio" id="all_dates" name="[% column.name | html %]_date_type_value" value="all" checked="checked" />
+        <label for="date_range">Date range</label>
+        <input type="radio" id="date_range" name="[% column.name | html %]_date_type_value" value="range" />
+    </li>
+    <li class="radio">
+        Start of date range
+        <input type="text" size="10" id="from" name="[% column.name | html %]_start_value" value="" class="datepickerfrom" />
+        <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
+        End of date range
+        <input type="text" size="10" id="to" name="[% column.name | html %]_end_value" value="" class="datepickerto" />
+        <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
+    </li>
 [% END %]
 [% IF ( column.text ) %]
-       <li><label for="[% column.name %]_value">Search string matches: </label> <input type="text" size="13" name="[% column.name %]_value" /></li>
+       <li><label for="[% column.name | html %]_value">Search string matches: </label> <input type="text" size="13" name="[% column.name | html %]_value" /></li>
 [% END %]
 
 [% END %]
 
 [% IF ( step_5 ) %]
 <form action="/cgi-bin/koha/reports/dictionary.pl" method="post">
-<input type="hidden" name="area" value="[% area %]" />    
-<input type="hidden" name="definition_name" value="[% definition_name %]" />           
-<input type="hidden" name="definition_description" value="[% definition_description %]" />
-<input type="hidden" name="columnstring" value="[% columnstring %]" />
+<input type="hidden" name="area" value="[% area | html %]" />
+<input type="hidden" name="definition_name" value="[% definition_name | html %]" />
+<input type="hidden" name="definition_description" value="[% definition_description | html %]" />
+<input type="hidden" name="columnstring" value="[% columnstring | html %]" />
 
 <h3>Add new definition</h3>
 
 <fieldset class="rows">
-<legend>Step 5 of 5: Confirm details</legend>
-<ol><li>
-<span class="label">Name:</span>
-[% definition_name %]
-</li>
-<li>
-<span class="label">Description:</span>
-[% definition_description %]
-</li>
-<li>
-<span class="label">Area:</span>
-[% areaname %]
-</li>
-<li>
-<span class="label">Data:</span>
-<table>
-<tr>
-<th>Columns</th>
-<th>Values</th>
-</tr>
-[% FOREACH criteria_loo IN criteria_loop %]
-<tr>
-<td>[% criteria_loo.name %]</td>
-<td>[% criteria_loo.value %]</td>
-</tr>
-[% END %]
-</table></li></ol> </fieldset>  
+  <legend>Step 5 of 5: Confirm details</legend>
+  <ol>
+    <li>
+      <span class="label">Name:</span>[%- definition_name | html -%]
+    </li>
+    <li>
+      <span class="label">Description:</span>[%- definition_description | html -%]
+    </li>
+    <li>
+      <span class="label">Area:</span>[%- PROCESS area_name area=area -%]
+    </li>
+    <li>
+      <span class="label">Data:</span>
+      <table>
+        <tr>
+          <th>Columns</th>
+          <th>Values</th>
+        </tr>
+      [%- FOREACH criteria_loo IN criteria_loop -%]
+        <tr>
+          <td>[%- criteria_loo.name | html -%]</td>
+          <td>[%- criteria_loo.value | html -%]</td>
+        </tr>
+      [%- END -%]
+      </table>
+    </li>
+  </ol>
+</fieldset>
 
-<fieldset class="action"><input type="hidden" name="sql" value="[% query %]" />
+<fieldset class="action"><input type="hidden" name="sql" value="[% query | html %]" />
 <input type="hidden" name="phase" value="New Term step 6" />
 <input type="submit" name="submit" value="Save" />         </fieldset>
 
 [% INCLUDE 'guided-reports-view.inc' %]
 </div>
 </div>
-<script type="text/javascript">                            
-//<![CDATA[
-function setObjects() {                    
-    selectedColumnsObj=document.getElementById('selectedColumns');           
-       availableColumnsObj=document.getElementById('availableColumns');   
-}              
-setObjects();                          
 
-function addColumn() {                             
-  for (i=0;i<availableColumnsObj.length;i++) {   
-    if (availableColumnsObj.options[i].selected==true) {     
-         var newColumnObj=document.createElement("OPTION");                           
-         newColumnObj.value=availableColumnsObj.options[i].value;          
-         newColumnObj.text=availableColumnsObj.options[i].text;              
-         selectedColumnsObj.appendChild(newColumnObj);          
-         newColumnObj.selected=true;    
-       }        
-  }                        
-}   
+[% MACRO jsinclude BLOCK %]
+    [% INCLUDE 'calendar.inc' %]
+    <script type="text/javascript">
+        var MSG_CONFIRM_DELETE = _("Are you sure you want to delete this dictionary definition? This cannot be undone.");
 
-function delColumn() {                   
-  for (i=0;i<=selectedColumnsObj.options.length;i++) {       
-    if (selectedColumnsObj.options.selectedIndex>=0) {    
-         selectedColumnsObj.remove(selectedColumnsObj.options.selectedIndex)        
-    }  
-  }
-}
-//]]>
-</script>
+        $(document).ready(function() {
+            $("#delete").on("click",function(){
+                return confirmDelete(MSG_CONFIRM_DELETE);
+            });
+
+            $("#date_range").change(function(){
+                $("input#from").parents('li').show();
+            });
+            $("#all_dates").change(function(){
+                $("input#from").parents('li').hide();
+            });
+            $("#all_dates").click().change();
+        });
+    </script>
+[% END %]
 
 [% INCLUDE 'intranet-bottom.inc' %]