Koha/koha-tmpl/intranet-tmpl/prog/en/modules/tools/koha-news.tt
Mark Tompsett 53f15f678f Bug 7567 - Use, display, filter News by library
This adds the ability to specify whether staff, OPAC,
or slip news entries apply to all libraries or just a
particular library.

With the branch parameter added to key functions in
C4/NewsChannels.pm, function calls in C4/Members.pm,
mainpage.pl, opac/opac-main.pl, tools/koha-news.pl, and
t/db_dependent/NewsChannels.t were needed.

Some license texts were updated.

Templates were modified to display, allow for entry and editing
of the branches selected.

TEST PLAN
---------
1) Having logged into the staff client, is the news displaying
   correctly? Have you entered a news item which should not
   display for this branch of logged in user?
2) Find a patron (with some items checked out?)
3) Print a slip
   - News which is labelled 'All Branches' or for the same branch
     as the one printing the slip should display on the slip.
   - THIS DOES NOT AFFECT QUICK SLIPS
4) Home -> Tools -> News
   - Can you edit a news item?
   - Does the change save correctly?
   - Can you filter based on location and branch correctly?
   - Can you add a new entry correctly?
   - Can you delete an entry correctly?
5) Open an OPAC client.
   - Does only the news for all branches display?
6) Log into the OPAC client.
   - Does the news for all branches and the specific branch display?
7) prove -v t/db_dependent/NewsChannels.t
   - Does it run and all succeed?
   - Does the code seem to catch the required cases?
8) Comparing the patched and unpatched versions of files affected,
   are the license changes missing anything?

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-04-07 18:14:19 +00:00

267 lines
12 KiB
Text

[% USE KohaDates %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Tools &rsaquo; News</title>
[% INCLUDE 'doc-head-close.inc' %]
[% INCLUDE 'calendar.inc' %]
[% IF ( opac_news_count ) %]
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
[% INCLUDE 'datatables.inc' %]
<script type="text/javascript">//<![CDATA[
$(document).ready(function() {
$("#newst").dataTable($.extend(true, {}, dataTablesDefaults, {
"sDom": 't',
"aoColumnDefs": [
{ "aTargets": [ 0,-1,-2 ], "bSortable": false, "bSearchable": false }
],
"aoColumns": [
null,null,null,{ "sType": "title-string" },{ "sType": "title-string" },null,null,null
],
"bPaginate": false
}));
});
//]]>
</script>
[% END %]
<script language="javascript" type="text/javascript" src="[% interface %]/lib/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">//<![CDATA[
var MSG_CONFIRM_DELETE_NEWS = _("Are you sure you want to delete the selected news?");
tinyMCE.init({
mode : "textareas",
theme : "advanced",
convert_urls : false,
relative_urls : false,
content_css : "[% themelang %]/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>
</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> &rsaquo; <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> &rsaquo; [% IF ( add_form ) %]<a href="/cgi-bin/koha/tools/koha-news.pl">News</a> &rsaquo; [% IF ( id ) %]
Edit news item[% ELSE %]Add news item[% END %][% ELSE %]News[% END %]</div>
[% IF ( add_form ) %]<div id="doc" class="yui-t7">[% ELSE %]<div id="doc3" class="yui-t2">[% END %]
<div id="bd">
<div id="yui-main">
<div class="yui-b">
[% UNLESS ( add_form ) %]
<div id="toolbar" class="btn-toolbar">
<a class="btn btn-small" id="newentry" href="/cgi-bin/koha/tools/koha-news.pl?op=add_form&lang=[% lang %]"><i class="icon-plus"></i> New entry</a>
</div>
[% END %]
[% IF ( add_form ) %]
[% IF ( op == 'add' ) %][% default_lang = lang %]
[% ELSE %][% default_lang = new_detail.lang %]
[% END %]
<form name="add_form" method="post" action="/cgi-bin/koha/tools/koha-news.pl" >
<input type="hidden" name="op" value="[% op %]" />
<input type="hidden" name="id" value="[% id %]" />
<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>All</option>
[% ELSE %]
<option value="" >All</option>
[% END %]
[% IF ( default_lang == "koha" ) %]
<option value="koha" selected>Librarian interface</option>
[% ELSE %]
<option value="koha" >Librarian interface</option>
[% END %]
[% IF ( default_lang == "slip" ) %]
<option value="slip" 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 %]" selected>OPAC ([% lang_lis.language %])</option>
[% ELSE %]
<option value="[% lang_lis.language %]" >OPAC ([% lang_lis.language %])</option>
[% END %]
[% END %]
</select>
</li>
<li>
<label for="branch">Library: </label>
<select id="branch" name="branch">
[% IF ( new_detail.branchcode == '' ) %]
<option value="" selected>All Libraries</option>
[% ELSE %]
<option value="" >All Libraries</option>
[% END %]
[% FOREACH branch_item IN branch_list %]
[% IF ( branch_item.value.branchcode == new_detail.branchcode ) %]
<option value="[% branch_item.value.branchcode %]" selected>[% branch_item.value.branchname %]</option>
[% ELSE %]
<option value="[% branch_item.value.branchcode %]">[% branch_item.value.branchname %]</option>
[% END %]
[% END %]
</select>
</li>
<li>
<label for="title">Title: </label>
<input id="title" size="30" type="text" name="title" value="[% new_detail.title %]" />
</li>
<li>
<label for="from">Publication date: </label>
<input id="from" type="text" name="timestamp" size="15" value="[% new_detail.timestamp %]" 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 %]" class="datepickerto" />
<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
</li>
<li>
<label for="number">Appear in position: </label>
[% IF ( new_detail.number ) %]
<input id="number" size="3" name="number" type="text" checked="checked" value="[% new_detail.number %]" />
[% ELSE %]
<input id="number" size="3" name="number" type="text" />
[% END %]
</li>
<li><label for="new">News: </label>
<textarea name="new" id="new" cols="75" rows="10">[% new_detail.new %]</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>All</option>
[% ELSE %]
<option value="" >All</option>
[% END %]
[% IF ( lang == "koha" ) %]
<option value="koha" selected>Librarian interface</option>
[% ELSE %]
<option value="koha" >Librarian interface</option>
[% END %]
[% IF ( lang == "slip" ) %]
<option value="slip" 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 %]" selected>OPAC ([% lang_lis.language %])</option>
[% ELSE %]
<option value="[% lang_lis.language %]" >OPAC ([% lang_lis.language %])</option>
[% END %]
[% END %]
</select>
<label for="branch">Library: </label>
<select id="branch" name="branch">
[% IF ( branchcode == "" ) %]
<option value="" selected>All Libraries</option>
[% ELSE %]
<option value="" >All Libraries</option>
[% END %]
[% FOREACH branch_item IN branch_list %]
[% IF ( branch_item.value.branchcode == branchcode ) %]
<option value="[% branch_item.value.branchcode %]"
selected>[% branch_item.value.branchname %]
</option>
[% ELSE %]
<option value="[% branch_item.value.branchcode %]"
>[% branch_item.value.branchname %]
</option>
[% END %]
[% END %]
</select>
<input type="submit" class="button" value="Filter" />
</form>
</div>
[% IF ( opac_news_count ) %]
<form name="del_form" method="post" action="/cgi-bin/koha/tools/koha-news.pl" onsubmit='return confirm(MSG_CONFIRM_DELETE_NEWS)'>
<table id="newst">
<thead> <tr>
<th>&nbsp;</th>
<th>Location</th>
<th>Library</th>
<th>Number</th>
<th>Creation date</th>
<th>Expiration date</th>
<th>Title</th>
<th>News</th>
<th>&nbsp;</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 %]" />
</td>
<td>[% SWITCH opac_new.lang %]
[% CASE "koha" %]
Librarian interface
[% CASE "slip" %]
Slip
[% CASE "" %]
All
[% CASE %]
OPAC ([% opac_new.lang %])
[% END %]
</td>
<td>[% IF ( opac_new.branchcode == "" ) -%]
All Libraries
[% ELSE %][% opac_new.branchname %]
[% END %]</td>
<td>[% opac_new.number %]</td>
<td><span title="[% opac_new.newdate %]">[% opac_new.newdate | $KohaDates %]</span></td>
<td><span title="[% opac_new.expirationdate %]">[% opac_new.expirationdate | $KohaDates %] [% IF ( opac_new.expired ) %](<span class="expired">expired</span>)[% END %]</span></td>
<td>[% opac_new.title %]</td>
<td>
[% opac_new.new %]
</td>
<td><a href="/cgi-bin/koha/tools/koha-news.pl?op=add_form&amp;id=[% opac_new.idnew %]">Edit</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 %]
<p>No news loaded</p>
[% END %]
[% END %]
</div>
</div>
[% UNLESS ( add_form ) %]
<div class="yui-b noprint">
[% INCLUDE 'tools-menu.inc' %]
</div>
[% END %]
</div>
[% INCLUDE 'intranet-bottom.inc' %]