Koha/koha-tmpl/intranet-tmpl/prog/en/modules/admin/cities.tt
Owen Leonard 2fb195eedf Bug 34386: Fix inconsistencies in Cities and tows page titles, breadcrumbs, and header
This patch updates the cities administration page so that page title,
breadcrumb navigation, and headings are consistent with each other and
with other parts of Koha.

To test, apply the patch and go to Administration -> Cities and towns.
Check each variation of the page to confirm that page title, breadcrumb
navigation, and heading are correct.

- Main page (listing cities)
- New city
- Edit city
- Delete city

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 8460158f6b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2023-08-29 21:02:56 -10:00

289 lines
11 KiB
Text

[% USE raw %]
[% USE Asset %]
[% SET footerjs = 1 %]
[% USE TablesSettings %]
[% PROCESS 'i18n.inc' %]
[% INCLUDE 'doc-head-open.inc' %]
<title>[% FILTER collapse %]
[% IF op =='add_form' %]
[% IF city.cityid %]
[% tx("Modify city '{city}'", { city = city.city_name }) | html %]
[% ELSE %]
[% t("New city") | html %]
[% END %] &rsaquo;
[% ELSE %]
[% IF op == 'delete_confirm' %]
[% tx("Confirm deletion of city '{city}'", { city = city.city_name }) | html %] &rsaquo;
[% END %]
[% END %]
[% t("Cities") | html %] &rsaquo; [% t("Administration") | html %] &rsaquo; [% t("Koha") | html %]
[% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
</head>
<body id="admin_cities" class="admin">
[% WRAPPER 'header.inc' %]
[% INCLUDE 'cities-admin-search.inc' %]
[% END %]
[% WRAPPER 'sub-header.inc' %]
[% WRAPPER breadcrumbs %]
[% WRAPPER breadcrumb_item %]
<a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a>
[% END %]
[% IF op == 'add_form' %]
[% WRAPPER breadcrumb_item %]
<a href="/cgi-bin/koha/admin/cities.pl">Cities</a>
[% END %]
[% WRAPPER breadcrumb_item bc_active = 1 %]
[% IF city.cityid %]
[% tx("Modify city '{city}'", { city = city.city_name }) | html %]
[% ELSE %]
<span>New city</span>
[% END %]
[% END %]
[% ELSIF op == 'delete_confirm' %]
[% WRAPPER breadcrumb_item %]
<a href="/cgi-bin/koha/admin/cities.pl">Cities</a>
[% END %]
[% WRAPPER breadcrumb_item bc_active = 1 %]
[% tx("Confirm deletion of city '{city}'", { city = city.city_name }) | html %]
[% END %]
[% ELSE %]
[% WRAPPER breadcrumb_item bc_active = 1 %]
<span>Cities</span>
[% END %]
[% END #/IF op = add_form %]
[% END #/ WRAPPER breadcrumbs %]
[% END #/ WRAPPER sub-header.inc %]
<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' %]
<span>An error occurred when updating this city. Perhaps it already exists.</span>
[% CASE 'error_on_insert' %]
<span>An error occurred when adding this city. The city ID might already exist.</span>
[% CASE 'error_on_delete' %]
<span>An error occurred when deleting this city. Check the logs.</span>
[% CASE 'success_on_update' %]
<span>City updated successfully.</span>
[% CASE 'success_on_insert' %]
<span>City added successfully.</span>
[% CASE 'success_on_delete' %]
<span>City deleted successfully.</span>
[% CASE 'already_exists' %]
<span>This city already exists.</span>
[% CASE %]
<span>[% m.code | html %]</span>
[% END %]
</div>
[% END %]
[% IF op == 'add_form' %]
[% IF city %]
<h1>
[% tx("Modify city '{city}'", { city = city.city_name }) | html %]
</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 focus" /> <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" class="btn btn-primary" 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">
<h1>
[% tx("Confirm deletion of city '{city}'", { city = city.city_name }) | html %]
</h1>
<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>
<h1>Cities</h1>
[% IF city_name_filter %]
<span>Searching: [% city_name_filter | html %]</span>
[% END %]
[% IF cities_count > 0 %]
<div class="page-section">
<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 noExport">Actions</th>
</tr>
</thead>
</table>
</div><!-- /.page-section -->
[% 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' %]
[% INCLUDE 'columns_settings.inc' %]
<script>
var table_settings = [% TablesSettings.GetTableSettings( 'admin', 'cities', 'table_cities', 'json' ) | $raw %];
$(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").kohaTable({
"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
}
]
}, table_settings, 1);
});
</script>
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]