Owen Leonard
6c7c97f67c
DataTables are used on enough pages in the staff client that it doesn't make sense to put inclusion of the CSS into each template where it is needed. This patch moves includes of datatables.css from individual templates into the global header file. To test, apply the patch and view various pages which have DataTables. View various styles of DataTables, e.g. - Full pagination, like item search results - Four-button, like Saved SQL reports Everything should look the same as it was. Signed-off-by: Jose-Mario Monteiro-Santos <jose-mario.monteiro-santos@inLibro.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
303 lines
14 KiB
Text
303 lines
14 KiB
Text
[% USE raw %]
|
|
[% USE Asset %]
|
|
[% USE KohaDates %]
|
|
[% USE Branches %]
|
|
[% SET footerjs = 1 %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Tools › News</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
[% IF ( opac_news_count ) %]
|
|
[% END %]
|
|
</head>
|
|
|
|
<body id="tools_koha-news" class="tools">
|
|
[% INCLUDE 'header.inc' %]
|
|
[% INCLUDE 'cat-search.inc' %]
|
|
|
|
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> › [% IF ( add_form ) %]<a href="/cgi-bin/koha/tools/koha-news.pl">News</a> › [% IF ( id ) %]
|
|
Edit news item[% ELSE %]Add news item[% END %][% ELSE %]News[% END %]</div>
|
|
|
|
[% IF ( add_form ) %]
|
|
<div class="main container-fluid">
|
|
<div class="row">
|
|
<div class="col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2">
|
|
[% ELSE %]
|
|
<div class="main container-fluid">
|
|
<div class="row">
|
|
<div class="col-sm-10 col-sm-push-2">
|
|
[% END %]
|
|
<main>
|
|
|
|
[% UNLESS ( add_form ) %]
|
|
[% IF error_message == 'title_missing' %]
|
|
<div class="dialog alert">Error: Required news title missing!</div>
|
|
[% END %]
|
|
<h2>News</h2>
|
|
<div id="toolbar" class="btn-toolbar">
|
|
<a class="btn btn-default btn-sm" id="newentry" href="/cgi-bin/koha/tools/koha-news.pl?op=add_form&lang=[% lang | html %]"><i class="fa fa-plus"></i> New entry</a>
|
|
</div>
|
|
[% END %]
|
|
|
|
[% IF ( add_form ) %]
|
|
[% IF ( op == 'add' ) %][% default_lang = lang | html %]
|
|
[% ELSE %][% default_lang = new_detail.lang | html %]
|
|
[% END %]
|
|
<form name="add_form" method="post" action="/cgi-bin/koha/tools/koha-news.pl" >
|
|
<input type="hidden" name="op" value="[% op | html %]" />
|
|
<input type="hidden" name="id" value="[% id | html %]" />
|
|
<fieldset class="rows">
|
|
<legend>OPAC and Koha news</legend>
|
|
<ol> <li>
|
|
<label for="lang">Display location:</label>
|
|
<select id="lang" name="lang">
|
|
[% IF ( default_lang == "" ) %]
|
|
<option value="" selected="selected">All</option>
|
|
[% ELSE %]
|
|
<option value="" >All</option>
|
|
[% END %]
|
|
[% IF ( default_lang == "koha" ) %]
|
|
<option value="koha" selected="selected">Librarian interface</option>
|
|
[% ELSE %]
|
|
<option value="koha" >Librarian interface</option>
|
|
[% END %]
|
|
[% IF ( default_lang == "slip" ) %]
|
|
<option value="slip" selected="selected">Slip</option>
|
|
[% ELSE %]
|
|
<option value="slip" >Slip</option>
|
|
[% END %]
|
|
[% FOREACH lang_lis IN lang_list %]
|
|
[% IF ( lang_lis.language == default_lang ) %]
|
|
<option value="[% lang_lis.language | html %]" selected="selected">OPAC ([% lang_lis.language | html %])</option>
|
|
[% ELSE %]
|
|
<option value="[% lang_lis.language | html %]" >OPAC ([% lang_lis.language | html %])</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
<li>
|
|
<label for="branch">Library: </label>
|
|
<select id="branch" name="branch">
|
|
[% IF ( new_detail.branchcode == '' ) %]
|
|
<option value="" selected="selected">All libraries</option>
|
|
[% ELSE %]
|
|
<option value="" >All libraries</option>
|
|
[% END %]
|
|
[% PROCESS options_for_libraries libraries => Branches.all( selected => new_detail.branchcode, unfiltered => 1, ) %]
|
|
</select>
|
|
</li>
|
|
<li>
|
|
<label for="title" class="required">Title: </label>
|
|
<input id="title" size="30" type="text" name="title" value="[% new_detail.title | html %]" required="required" class="required" /> <span class="required">Required</span>
|
|
</li>
|
|
<li>
|
|
<label for="from">Publication date: </label>
|
|
<input id="from" type="text" name="timestamp" size="15" value="[% new_detail.timestamp | html %]" class="datepickerfrom" />
|
|
<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
|
|
</li>
|
|
<li>
|
|
<label for="to">Expiration date: </label>
|
|
<input id="to" type="text" name="expirationdate" size="15" value="[% new_detail.expirationdate | html %]" class="datepickerto" />
|
|
<div class="hint">
|
|
[% INCLUDE 'date-format.inc' %]
|
|
<br>News will still be accessible by direct URL if expired.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<label for="number">Appear in position: </label>
|
|
[% IF ( new_detail.number ) %]
|
|
<input id="number" size="3" name="number" type="text" value="[% new_detail.number | html %]" />
|
|
[% ELSE %]
|
|
<input id="number" size="3" name="number" type="text" />
|
|
[% END %]
|
|
</li>
|
|
<li><label for="content">News: </label>
|
|
<textarea name="content" id="content" cols="75" rows="10">[% new_detail.content | $raw %]</textarea>
|
|
</li>
|
|
</ol>
|
|
</fieldset>
|
|
|
|
<fieldset class="action"><input class="button" type="submit" value="Submit" /> <a class="cancel" href="/cgi-bin/koha/tools/koha-news.pl">Cancel</a></fieldset>
|
|
</form>
|
|
[% ELSE %]
|
|
<div style="margin-bottom:5px;">
|
|
<form name="add_form" method="post" action="/cgi-bin/koha/tools/koha-news.pl" >
|
|
<label for="lang">Display location:</label>
|
|
<select name="lang" id="lang">
|
|
[% IF ( lang == "" ) %]
|
|
<option value="" selected="selected">All</option>
|
|
[% ELSE %]
|
|
<option value="" >All</option>
|
|
[% END %]
|
|
[% IF ( lang == "koha" ) %]
|
|
<option value="koha" selected="selected">Librarian interface</option>
|
|
[% ELSE %]
|
|
<option value="koha" >Librarian interface</option>
|
|
[% END %]
|
|
[% IF ( lang == "slip" ) %]
|
|
<option value="slip" selected="selected">Slip</option>
|
|
[% ELSE %]
|
|
<option value="slip" >Slip</option>
|
|
[% END %]
|
|
[% FOREACH lang_lis IN lang_list %]
|
|
[% IF ( lang_lis.language == lang ) %]
|
|
<option value="[% lang_lis.language | html %]" selected="selected">OPAC ([% lang_lis.language | html %])</option>
|
|
[% ELSE %]
|
|
<option value="[% lang_lis.language | html %]" >OPAC ([% lang_lis.language | html %])</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
<label for="branch">Library: </label>
|
|
<select id="branch" name="branch">
|
|
[% IF ( branchcode == "" ) %]
|
|
<option value="" selected="selected">All libraries</option>
|
|
[% ELSE %]
|
|
<option value="" >All libraries</option>
|
|
[% END %]
|
|
[% PROCESS options_for_libraries libraries => Branches.all( selected => branchcode, unfiltered => 1, ) %]
|
|
</select>
|
|
<input type="submit" class="button" value="Filter" />
|
|
</form>
|
|
</div>
|
|
[% IF ( opac_news_count ) %]
|
|
<form id="del_form" method="post" action="/cgi-bin/koha/tools/koha-news.pl">
|
|
<table id="newst">
|
|
<thead> <tr>
|
|
<th> </th>
|
|
<th>Location</th>
|
|
<th>Library</th>
|
|
<th>Number</th>
|
|
<th class="title-string">Publication date</th>
|
|
<th class="title-string">Expiration date</th>
|
|
<th>Title</th>
|
|
<th>Author</th>
|
|
<th>News</th>
|
|
<th>Actions</th>
|
|
</tr></thead>
|
|
<tbody>[% FOREACH opac_new IN opac_news %]
|
|
[% IF ( opac_new.expired ) %]
|
|
<tr class="expired">
|
|
[% ELSE %]
|
|
<tr>
|
|
[% END %]
|
|
<td>
|
|
<input type="checkbox" name="ids" value="[% opac_new.idnew | html %]" />
|
|
</td>
|
|
<td>[% SWITCH opac_new.lang %]
|
|
[% CASE "koha" %]
|
|
Librarian interface
|
|
[% CASE "slip" %]
|
|
Slip
|
|
[% CASE "" %]
|
|
All
|
|
[% CASE %]
|
|
OPAC ([% opac_new.lang | html %])
|
|
[% END %]
|
|
</td>
|
|
<td>[% IF ( opac_new.branchcode == "" ) -%]
|
|
All libraries
|
|
[% ELSE %][% opac_new.branchname | html %]
|
|
[% END %]</td>
|
|
<td>[% opac_new.number | html %]</td>
|
|
<td><span title="[% opac_new.newdate | html %]">[% opac_new.newdate | $KohaDates %]</span></td>
|
|
<td><span title="[% opac_new.expirationdate | html %]">[% opac_new.expirationdate | $KohaDates %] [% IF ( opac_new.expired ) %](<span class="expired">expired</span>)[% END %]</span></td>
|
|
<td>[% opac_new.title | html %]</td>
|
|
<td>[% opac_new.author_title | html %] [% opac_new.author_firstname | html %] [% opac_new.author_surname | html %]</td>
|
|
<td>
|
|
[% opac_new.content | $raw %]
|
|
</td>
|
|
<td class="actions">
|
|
<a href="/cgi-bin/koha/tools/koha-news.pl?op=add_form&id=[% opac_new.idnew | uri %]" class="btn btn-default btn-xs"><i class="fa fa-pencil"></i> Edit</a>
|
|
<a href="/cgi-bin/koha/tools/koha-news.pl?op=del&ids=[% opac_new.idnew | uri %]" class="delete_news btn btn-default btn-xs"><i class="fa fa-trash"></i> Delete</a>
|
|
</td>
|
|
</tr>
|
|
[% END %]</tbody>
|
|
</table>
|
|
<input type="hidden" name="op" value="del" />
|
|
<fieldset class="action"><input type="submit" class="button" value="Delete selected" /></fieldset>
|
|
</form>
|
|
[% ELSE %]
|
|
<div class="dialog message">There are no news items.</div>
|
|
[% END %]
|
|
[% END %]
|
|
|
|
</main>
|
|
[% UNLESS ( add_form ) %]
|
|
</div> <!-- /.col-sm-10.col-sm-push-2 -->
|
|
|
|
<div class="col-sm-2 col-sm-pull-10">
|
|
<aside>
|
|
[% INCLUDE 'tools-menu.inc' %]
|
|
</aside>
|
|
</div> <!-- /.col-sm-2.col-sm-pull-10 -->
|
|
[% END %]
|
|
</div> <!-- /.row -->
|
|
|
|
[% MACRO jsinclude BLOCK %]
|
|
[% INCLUDE 'calendar.inc' %]
|
|
[% Asset.js("js/tools-menu.js") | $raw %]
|
|
[% IF ( opac_news_count ) %]
|
|
[% INCLUDE 'datatables.inc' %]
|
|
<script>
|
|
$(document).ready(function() {
|
|
$("#newst").dataTable($.extend(true, {}, dataTablesDefaults, {
|
|
"aoColumnDefs": [
|
|
{ "aTargets": [ 0,-1,-2 ], "bSortable": false },
|
|
{ "aTargets": [ 0, -1 ], "bSearchable": false },
|
|
{ 'sType': "title-string", 'aTargets' : [ 'title-string'] }
|
|
],
|
|
"sPaginationType": "full_numbers"
|
|
}));
|
|
$(".delete_news").on("click", function(){
|
|
return confirmDelete( _("Are you sure you want to delete this news item? This cannot be undone.") );
|
|
});
|
|
|
|
function Checkbox(){
|
|
var form = document.getElementById('del_form');
|
|
var inputs = form.getElementsByTagName('input');
|
|
var checked = false;
|
|
for (var i=0; i<inputs.length; i++) {
|
|
if (inputs[i].type == 'checkbox' && inputs[i].name == 'ids') {
|
|
checked = inputs[i].checked;
|
|
if (checked) return true;
|
|
}
|
|
}
|
|
}
|
|
|
|
$("#del_form").on("submit",function(){
|
|
if ( Checkbox() ) {
|
|
return confirmDelete( _("Are you sure you want to delete the selected news?") );
|
|
} else {
|
|
alert(_("Please select a news item to delete."));
|
|
return false;
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
[% END %]
|
|
[% Asset.js("lib/tiny_mce/tiny_mce.js") | $raw %]
|
|
<script>
|
|
tinyMCE.baseURL = "[% interface | html %]/lib/tiny_mce";
|
|
tinyMCE.init({
|
|
mode : "textareas",
|
|
theme : "advanced",
|
|
convert_urls : false,
|
|
relative_urls : false,
|
|
content_css : "[% interface | html %]/[% theme | html %]/css/tinymce.css",
|
|
plugins : "table,save,advhr,advlink,searchreplace,print,contextmenu",
|
|
theme_advanced_buttons1 : "save,|,bold,italic,|,cut,copy,paste,|,search,replace,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,|,link,unlink,anchor,cleanup,help,code,advhr,|,print",
|
|
theme_advanced_buttons2 : "tablecontrols,|,bullist,numlist,|,outdent,indent,|,undo,redo,|,removeformat,|,visualaid,|,sub,sup,|,charmap",
|
|
theme_advanced_buttons3 : "",
|
|
theme_advanced_toolbar_location : "top",
|
|
theme_advanced_toolbar_align : "left",
|
|
theme_advanced_path_location : "bottom",
|
|
theme_advanced_resizing : true,
|
|
plugin_insertdate_dateFormat : "%Y-%m-%d",
|
|
plugin_insertdate_timeFormat : "%H:%M:%S",
|
|
apply_source_formatting : true,
|
|
height : "300",
|
|
width : "700"
|
|
});
|
|
</script>
|
|
[% END %]
|
|
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|