Koha/koha-tmpl/intranet-tmpl/prog/en/modules/admin/cities.tt
Jonathan Druart 29d5e8c5a5 Bug 27402: Move to datatables.js
To make it reusable we need to move the code to datatables.js

So far only the cities table is using the column filters so there is no other
view to test.

Note that the existing implementation didn't work at all, and were base
on what is done on the detail.pl page (using table_filters.js)

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2021-01-28 16:41:22 +01:00

241 lines
9 KiB
Text

[% USE raw %]
[% USE Asset %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Administration &rsaquo; [% IF op =='add_form' %]Cities &rsaquo; [% IF city.cityid %] Modify city[% ELSE %] New city[% END %][% ELSE %][% IF op == 'delete_confirm' %]Cities &rsaquo; Confirm deletion of city[% ELSE %] Cities[% END %][% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
</head>
<body id="admin_cities" class="admin">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'cities-admin-search.inc' %]
<div id="breadcrumbs">
<a href="/cgi-bin/koha/mainpage.pl">Home</a>
&rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a>
&rsaquo; <a href="/cgi-bin/koha/admin/cities.pl">Cities</a>
[% IF op == 'add_form' %]
&rsaquo; [% IF city.cityid %]Modify[% ELSE %]New[% END %] City
[% ELSIF op == 'delete_confirm' %]
&rsaquo; Confirm deletion of city
[% END %]
</div>
<div class="main container-fluid">
<div class="row">
<div class="col-sm-10 col-sm-push-2">
<main>
[% FOR m IN messages %]
<div class="dialog [% m.type | html %]">
[% SWITCH m.code %]
[% CASE 'error_on_update' %]
An error occurred when updating this city. Perhaps it already exists.
[% CASE 'error_on_insert' %]
An error occurred when adding this city. The city id might already exist.
[% CASE 'error_on_delete' %]
An error occurred when deleting this city. Check the logs.
[% CASE 'success_on_update' %]
City updated successfully.
[% CASE 'success_on_insert' %]
City added successfully.
[% CASE 'success_on_delete' %]
City deleted successfully.
[% CASE 'already_exists' %]
This city already exists.
[% CASE %]
[% m.code | html %]
[% END %]
</div>
[% END %]
[% IF op == 'add_form' %]
[% IF city %]
<h1>Modify a city</h1>
[% ELSE %]
<h1>New city</h1>
[% END %]
<form action="/cgi-bin/koha/admin/cities.pl" name="Aform" method="post" class="validated">
<input type="hidden" name="op" value="add_validate" />
<input type="hidden" name="cityid" value="[% city.cityid | html %]" />
<fieldset class="rows">
<ol>
[% IF city %]
<li><span class="label">City ID: </span>[% city.cityid | html %]</li>
[% END %]
<li>
<label for="city_name" class="required">City: </label>
<input type="text" name="city_name" id="city_name" size="80" maxlength="100" value="[% city.city_name | html %]" required="required" class="required" /> <span class="required">Required</span>
</li>
<li>
<label for="city_state">State: </label>
<input type="text" name="city_state" id="city_state" size="80" maxlength="100" value="[% city.city_state | html %]" />
</li>
<li>
<label for="city_zipcode" class="required">ZIP/Postal code: </label>
<input type="text" name="city_zipcode" id="city_zipcode" size="20" maxlength="20" value="[% city.city_zipcode | html %]" required="required" class="required" /> <span class="required">Required</span>
</li>
<li>
<label for="city_country">Country: </label>
<input type="text" name="city_country" id="city_country" size="80" maxlength="100" value="[% city.city_country | html %]" />
</li>
</ol>
</fieldset>
<fieldset class="action">
<input type="submit" value="Submit" />
<a class="cancel" href="/cgi-bin/koha/admin/cities.pl">Cancel</a>
</fieldset>
</form>
[% END %]
[% IF op == 'delete_confirm' %]
<div class="dialog alert">
<h3>Delete city "[% city.city_name | html %]?"</h3>
<table>
<tr><th>City id</th>
<td>[% city.cityid | html %]</td>
</tr>
<tr><th>City</th>
<td>[% city.city_name | html %]</td>
</tr>
<tr><th>State</th>
<td>[% city.city_state | html %]</td>
</tr>
<tr><th>ZIP/Postal code</th>
<td>[% city.city_zipcode | html %]</td>
</tr>
<tr><th>Country</th>
<td>[% city.city_country | html %]</td>
</tr>
</table>
<form action="/cgi-bin/koha/admin/cities.pl" method="post">
<input type="hidden" name="op" value="delete_confirmed" />
<input type="hidden" name="cityid" value="[% city.cityid | html %]" />
<button type="submit" class="approve"><i class="fa fa-fw fa-check"></i> Yes, delete</button>
</form>
<form action="/cgi-bin/koha/admin/cities.pl" method="get">
<button type="submit" class="deny"><i class="fa fa-fw fa-remove"></i> No, do not delete</button>
</form>
</div>
[% END %]
[% IF op == 'list' %]
<div id="toolbar" class="btn-toolbar">
<a class="btn btn-default" id="newcity" href="/cgi-bin/koha/admin/cities.pl?op=add_form"><i class="fa fa-plus"></i> New city</a>
</div>
<h2>Cities</h2>
[% IF city_name_filter %]
Searching: [% city_name_filter | html %]
[% END %]
[% IF cities_count > 0 %]
<div class="table_cities_table_controls"></div>
<table id="table_cities">
<thead>
<tr>
<th>City ID</th>
<th>City</th>
<th>State</th>
<th>ZIP/Postal code</th>
<th>Country</th>
<th data-class-name="actions">Actions</th>
</tr>
</thead>
</table>
[% ELSE %]
<div class="dialog message">
There are no cities defined. <a href="/cgi-bin/koha/admin/cities.pl?op=add_form">Create a new city</a>.
</div>
[% END %]
[% END %]
</main>
</div> <!-- /.col-sm-10.col-sm-push-2 -->
<div class="col-sm-2 col-sm-pull-10">
<aside>
[% INCLUDE 'admin-menu.inc' %]
</aside>
</div> <!-- /.col-sm-2.col-sm-pull-10 -->
</div> <!-- /.row -->
[% MACRO jsinclude BLOCK %]
[% Asset.js("js/admin-menu.js") | $raw %]
[% INCLUDE 'datatables.inc' %]
<script>
$(document).ready(function() {
var cities_table_url = '/api/v1/cities?';
[% IF city_name_filter %]
var city_name_filter = {
'name': {
"like": '%[%- city_name_filter | html -%]%'
}
};
cities_table_url += 'q='+ encodeURIComponent(JSON.stringify(city_name_filter));
[% END %]
var cities_table = $("#table_cities").api({
"ajax": {
"url": cities_table_url
},
"order": [[ 1, "asc" ]],
"columnDefs": [ {
"targets": [0,1,2,3,4],
"render": function (data, type, row, meta) {
if ( type == 'display' ) {
return data.escapeHtml();
}
return data;
}
} ],
"columns": [
{
"data": "city_id",
"searchable": true,
"orderable": true
},
{
"data": "name",
"searchable": true,
"orderable": true
},
{
"data": "state",
"searchable": true,
"orderable": true
},
{
"data": "postal_code",
"searchable": true,
"orderable": true
},
{
"data": "country",
"searchable": true,
"orderable": true
},
{
"data": function( row, type, val, meta ) {
var result = '<a class="btn btn-default btn-xs" role="button" href="/cgi-bin/koha/admin/cities.pl?op=add_form&amp;cityid='+ encodeURIComponent(row.city_id) +'"><i class="fa fa-pencil" aria-hidden="true"></i> '+_("Edit")+'</a>'+"\n";
result += '<a class="btn btn-default btn-xs" role="button" href="/cgi-bin/koha/admin/cities.pl?op=delete_confirm&amp;cityid='+ encodeURIComponent(row.city_id) +'"><i class="fa fa-trash" aria-hidden="true"></i> '+_("Delete")+'</a>';
return result;
},
"searchable": false,
"orderable": false
}
]
}, [], 1);
});
</script>
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]