Owen Leonard
1b0a8e997b
This bug must have been present for a while. There wasn't proper handling of repeating yearly holidays when it came to the label. To be clear, I believe this bug only affected holidays which repeat yearly on the same date. Instead of correcting the label to match the existing scheme I added a new color code and label so that there are now two styles for yearly and weekly repeating holdiays. This makes it more clear what kind of repeating holiday you're looking at (rather than having one color code for both). After applying this patch, new and existing holidays which repeat yearly on the same day should be color-coded orange and have a 'Holiday repeating yearly' label. Weekly holidays are now labeled 'Holiday repeating weekly.' Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
468 lines
20 KiB
Text
468 lines
20 KiB
Text
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Tools › [% branchname %] Calendar</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
[% INCLUDE 'calendar.inc' %]
|
|
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
|
|
<script language="JavaScript" type="text/javascript">
|
|
//<![CDATA[
|
|
|
|
var weekdays = new Array(_("Sundays"),_("Mondays"),_("Tuesdays"),_("Wednesdays"),_("Thursdays"),_("Fridays"),_("Saturdays"));
|
|
|
|
function holidayOperation(formObject, opType) {
|
|
var op = document.getElementsByName('operation');
|
|
op[0].value = opType;
|
|
formObject.submit();
|
|
}
|
|
|
|
// This function shows the "Show Holiday" panel //
|
|
function showHoliday (exceptionPosibility, dayName, day, month, year, weekDay, title, description, holidayType) {
|
|
$("#newHoliday").slideUp("fast");
|
|
$("#showHoliday").slideDown("fast");
|
|
$('#showDaynameOutput').html(dayName);
|
|
$('#showDayname').val(dayName);
|
|
$('#showBranchNameOutput').html($("#branch :selected").text());
|
|
$('#showBranchName').val($("#branch").val());
|
|
$('#showDayOutput').html(day);
|
|
$('#showDay').val(day);
|
|
$('#showMonthOutput').html(month);
|
|
$('#showMonth').val(month);
|
|
$('#showYearOutput').html(year);
|
|
$('#showYear').val(year);
|
|
$('#showDescription').val(description);
|
|
$('#showWeekday:first').val(weekDay);
|
|
$('#showTitle').val(title);
|
|
$('#showHolidayType').val(holidayType);
|
|
|
|
if (holidayType == 'exception') {
|
|
$("#showOperationDelLabel").html(_('Delete this exception.'));
|
|
$("#holtype").attr("class","key exception").html(_("Holiday exception"));
|
|
} else if(holidayType == 'weekday') {
|
|
$("#showOperationDelLabel").html(_('Delete this holiday.'));
|
|
$("#holtype").attr("class","key repeatableweekly").html(_("Holiday repeating weekly"));
|
|
} else if(holidayType == 'daymonth') {
|
|
$("#showOperationDelLabel").html(_('Delete this holiday.'));
|
|
$("#holtype").attr("class","key repeatableyearly").html(_("Holiday repeating yearly"));
|
|
} else {
|
|
$("#showOperationDelLabel").html(_('Delete this holiday.'));
|
|
$("#holtype").attr("class","key holiday").html(_("Unique holiday"));
|
|
}
|
|
|
|
if (exceptionPosibility == 1) {
|
|
$("#exceptionPosibility").parent().show();
|
|
} else {
|
|
$("#exceptionPosibility").parent().hide();
|
|
}
|
|
}
|
|
|
|
// This function shows the "Add Holiday" panel //
|
|
function newHoliday (dayName, day, month, year, weekDay) {
|
|
$("#showHoliday").slideUp("fast");
|
|
$("#newHoliday").slideDown("fast");
|
|
$("#newDaynameOutput").html(dayName);
|
|
$("#newDayname").val(dayName);
|
|
$("#newBranchNameOutput").html($('#branch :selected').text());
|
|
$("#newBranchName").val($('#branch').val());
|
|
$("#newDayOutput").html(day);
|
|
$("#newDay").val(day);
|
|
$("#newMonthOutput").html(month);
|
|
$("#newMonth").val(month);
|
|
$("#newYearOutput").html(year);
|
|
$("#newYear").val(year);
|
|
$("#newWeekday:first").val(weekDay);
|
|
}
|
|
|
|
function hidePanel(aPanelName) {
|
|
$("#"+aPanelName).slideUp("fast");
|
|
}
|
|
|
|
function changeBranch () {
|
|
var branch = $("#branch option:selected").val();
|
|
location.href='/cgi-bin/koha/tools/holidays.pl?branch=' + branch + '&calendardate=' + "[% calendardate %]";
|
|
}
|
|
|
|
function Help() {
|
|
newin=window.open("/cgi-bin/koha/help.pl","KohaHelp",'width=600,height=600,toolbar=false,scrollbars=yes');
|
|
}
|
|
$(document).ready(function() {
|
|
$(".hint").hide();
|
|
$("#branch").change(function(){
|
|
changeBranch();
|
|
});
|
|
$("#holidayexceptions").tablesorter({
|
|
sortList: [[0,0]], widgets: ['zebra']
|
|
});
|
|
$("#holidayweeklyrepeatable").tablesorter({
|
|
sortList: [[0,0]], widgets: ['zebra']
|
|
});
|
|
$("#holidaysyearlyrepeatable").tablesorter({
|
|
sortList: [[0,0]], widgets: ['zebra']
|
|
});
|
|
$("#holidaysunique").tablesorter({
|
|
sortList: [[0,0]], widgets: ['zebra']
|
|
});
|
|
$("a.helptext").click(function(){
|
|
$(this).parent().find(".hint").toggle(); return false;
|
|
});
|
|
});
|
|
//]]>
|
|
</script>
|
|
<style type="text/css"> .key { padding : 3px; white-space:nowrap; line-height:230%; }
|
|
.normalday { background-color : #EDEDED; color : Black; border : 1px solid #BCBCBC; }
|
|
.exception { background-color : #b3d4ff; color : Black; border : 1px solid #BCBCBC; }
|
|
.holiday { background-color : #ffaeae; color : Black; border : 1px solid #BCBCBC; }
|
|
.repeatableweekly { background-color : #FFFF99; color : Black; border : 1px solid #BCBCBC; }
|
|
.repeatableyearly { background-color : #FFCC66; color : Black; border : 1px solid #BCBCBC; }
|
|
.information { z-index : 1; background-color : #DCD2F1; width : 300px; display : none; border : 1px solid #000000; color : #000000; font-size : 8pt; font-weight : bold; background-color : #FFD700; cursor : pointer; padding : 2px; }
|
|
.panel { z-index : 1; display : none; border : 3px solid #CCC; padding : 3px; margin-top: .3em; background-color: #FEFEFE; } fieldset.brief { border : 0; margin-top: 0; }
|
|
#showHoliday { margin : .5em 0; } h1 select { width: 20em; } div.yui-b fieldset.brief ol { font-size:100%; } div.yui-b fieldset.brief li, div.yui-b fieldset.brief li.radio { padding:0.2em 0; } .help { margin:.3em 0;border:1px solid #EEE;padding:.3em .7em; font-size : 90%; } #holidayweeklyrepeatable, #holidaysyearlyrepeatable, #holidaysunique, #holidayexceptions { font-size : 90%; margin-bottom : 1em;} .calendar td, .calendar th, .calendar .button, .calendar tbody .day { padding : .7em; font-size: 110%; } .calendar { width: auto; border : 0; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
[% 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> › [% branchname %] Calendar</div>
|
|
|
|
<div id="doc3" class="yui-t1">
|
|
|
|
<div id="bd">
|
|
<div id="yui-main">
|
|
<div class="yui-b">
|
|
<h2>[% branchname %] Calendar</h2>
|
|
<div class="yui-g">
|
|
<div class="yui-u first">
|
|
<label for="branch">Define the holidays for:</label>
|
|
<select id="branch" name="branch">
|
|
[% FOREACH branchloo IN branchloop %]
|
|
[% IF ( branchloo.selected ) %]
|
|
<option value="[% branchloo.value %]" selected="selected">[% branchloo.branchname %]</option>
|
|
[% ELSE %]
|
|
<option value="[% branchloo.value %]">[% branchloo.branchname %]</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
|
|
<!-- ******************************** FLAT PANELS ******************************************* -->
|
|
<!-- ***** Makes all the flat panel to deal with holidays ***** -->
|
|
<!-- **************************************************************************************** -->
|
|
|
|
<!-- ********************** Panel for showing already loaded holidays *********************** -->
|
|
<div class="panel" id="showHoliday">
|
|
<form action="/cgi-bin/koha/tools/exceptionHolidays.pl" method="post">
|
|
<input type="hidden" id="showHolidayType" name="showHolidayType" value="" />
|
|
<fieldset class="brief">
|
|
<h3>Edit this holiday</h3>
|
|
<span id="holtype"></span>
|
|
<ol>
|
|
<li>
|
|
<strong>Library:</strong> <span id="showBranchNameOutput"></span>
|
|
<input type="hidden" id="showBranchName" name="showBranchName" />
|
|
</li>
|
|
<li>
|
|
<strong>Date:</strong>
|
|
<span id="showDaynameOutput"></span>,
|
|
|
|
[% IF ( dateformat_us ) %]<span id="showMonthOutput"></span>/<span id="showDayOutput"></span>/<span id="showYearOutput"></span>[% ELSIF ( dateformat_metric ) %]<span id="showDayOutput"></span>/<span id="showMonthOutput"></span>/<span id="showYearOutput"></span>[% ELSE %]<span id="showYearOutput"></span>/<span id="showMonthOutput"></span>/<span id="showDayOutput"></span>[% END %]
|
|
|
|
<input type="hidden" id="showDayname" name="showDayname" />
|
|
<input type="hidden" id="showWeekday" name="showWeekday" />
|
|
<input type="hidden" id="showDay" name="showDay" />
|
|
<input type="hidden" id="showMonth" name="showMonth" />
|
|
<input type="hidden" id="showYear" name="showYear" />
|
|
</li>
|
|
<li><label for="showTitle">Title: </label><input type="text" name="showTitle" id="showTitle" size="35" /></li>
|
|
<!-- showTitle is necessary for exception radio button to work properly -->
|
|
<label for="showDescription">Description:</label>
|
|
<textarea rows="2" cols="40" id="showDescription" name="showDescription"></textarea>
|
|
</li>
|
|
<li class="radio"><div id="exceptionPosibility" style="position:static">
|
|
<input type="radio" name="showOperation" id="showOperationExc" value="exception" /> <label for="showOperationExc">Generate an exception for this repeated holiday.</label>
|
|
<a href="#" class="helptext">[?]</a>
|
|
<div class="hint">You can make an exception for this holiday rule. This means that you will be able to say that for a repeatable holiday there is one day which is going to be an exception.</div>
|
|
</div></li>
|
|
<li class="radio"><input type="radio" name="showOperation" id="showOperationDel" value="delete" /> <label for="showOperationDel" id="showOperationDelLabel">Delete this holiday</label>
|
|
<a href="#" class="helptext">[?]</a>
|
|
<div class="hint">This will delete this holiday rule. If it is a repeatable holiday, this option checks for posible exceptions. If an exception exists, this option will remove the exception and set the date to a regular holiday.</div></li>
|
|
<li class="radio"><input type="radio" name="showOperation" id="showOperationEdit" value="edit" checked="checked" /> <label for="showOperationEdit">Edit this holiday</label>
|
|
<a href="#" class="helptext">[?]</a>
|
|
<div class="hint">This will save changes to the holiday's title and description. If the information for a repeatable holiday is modified, it affects all of the dates on which the holiday is repeated.</div></li>
|
|
|
|
</ol>
|
|
<fieldset class="action">
|
|
<input type="submit" name="submit" value="Save" />
|
|
<a href="#" class="cancel" name="cancel2" onclick=" hidePanel('showHoliday');">Cancel</a>
|
|
</fieldset>
|
|
</fieldset>
|
|
</form>
|
|
</div>
|
|
|
|
<!-- ***************************** Panel to deal with new holidays ********************** -->
|
|
<div class="panel" id="newHoliday">
|
|
<form action="/cgi-bin/koha/tools/newHolidays.pl" method="post">
|
|
<input type="hidden" name="branchCodes" id="branchCodes" value="[% branchcodes %]" />
|
|
<fieldset class="brief">
|
|
<h3>Add new holiday</h3>
|
|
<ol>
|
|
<li>
|
|
<strong>Library:</strong>
|
|
<span id="newBranchNameOutput"></span>
|
|
<input type="hidden" id="newBranchName" name="newBranchName" />
|
|
</li>
|
|
<li>
|
|
<strong>Date:</strong>
|
|
<span id="newDaynameOutput"></span>,
|
|
|
|
[% IF ( dateformat_us ) %]<span id="newMonthOutput"></span>/<span id="newDayOutput"></span>/<span id="newYearOutput"></span>[% ELSIF ( dateformat_metric ) %]<span id="newDayOutput"></span>/<span id="newMonthOutput"></span>/<span id="newYearOutput"></span>[% ELSE %]<span id="newYearOutput"></span>/<span id="newMonthOutput"></span>/<span id="newDayOutput"></span>[% END %]
|
|
|
|
<input type="hidden" id="newDayname" name="showDayname" />
|
|
<input type="hidden" id="newWeekday" name="newWeekday" />
|
|
<input type="hidden" id="newDay" name="newDay" />
|
|
<input type="hidden" id="newMonth" name="newMonth" />
|
|
<input type="hidden" id="newYear" name="newYear" />
|
|
</li>
|
|
<li><label for="title">Title: </label><input type="text" name="newTitle" id="title" size="35" /></li>
|
|
<li><label for="newDescription">Description:</label>
|
|
<textarea rows="2" cols="40" id="newDescription" name="newDescription"></textarea>
|
|
</li>
|
|
<li class="radio"><input type="radio" name="newOperation" id="newOperationOnce" value="holiday" checked="checked" />
|
|
<label for="newOperationOnce">Holiday only on this day</label>.
|
|
<a href="#" class="helptext">[?]</a>
|
|
<div class="hint">Make a single holiday. For example, selecting August 1st, 2012 will make it a holiday, but will not affect August 1st in other years.</div>
|
|
</li>
|
|
<li class="radio"><input type="radio" name="newOperation" id="newOperationDay" value="weekday" />
|
|
<label for="newOperationDay">Holiday repeated every same day of the week</label>.
|
|
<a href="#" class="helptext">[?]</a>
|
|
<div class="hint">Make this weekday a holiday, every week. For example, if your library is closed on Saturdays, use this option to make every Saturday a holiday.</div>
|
|
</li>
|
|
<li class="radio"><input type="radio" name="newOperation" id="newOperationYear" value="repeatable" />
|
|
<label for="newOperationYear">Holiday repeated yearly on the same date</label>.
|
|
<a href="#" class="helptext">[?]</a>
|
|
<div class="hint">This will take this day and month as a reference to make it a holiday. Through this option, you can repeat this rule for every year. For example, selecting August 1st will make August 1st a holiday every year.</div>
|
|
</li>
|
|
<li class="radio">
|
|
<input type="checkbox" name="allBranches" id="allBranches" />
|
|
<label for="allBranches">Copy to all libraries</label>.
|
|
<a href="#" class="helptext">[?]</a>
|
|
<div class="hint">If checked, this holiday will be copied to all libraries. If the holiday already exists for a library, no change is made.</div>
|
|
</li></ol>
|
|
<fieldset class="action">
|
|
<input type="submit" name="submit" value="Save" />
|
|
<a href="#" class="cancel" name="cancel2" onclick=" hidePanel('newHoliday');">Cancel</a>
|
|
</fieldset>
|
|
</fieldset>
|
|
</form>
|
|
</div>
|
|
|
|
<!-- *************************************************************************************** -->
|
|
<!-- ****** END OF FLAT PANELS ****** -->
|
|
<!-- *************************************************************************************** -->
|
|
|
|
<!-- ************************************************************************************** -->
|
|
<!-- ****** MAIN SCREEN CODE ****** -->
|
|
<!-- ************************************************************************************** -->
|
|
<h3>Calendar information</h3>
|
|
<div id="calendar-container">
|
|
<script type="text/javascript">
|
|
/* Creates all the structures to deal with all diferents kinds of holidays */
|
|
var week_days = new Array();
|
|
var holidays = new Array();
|
|
var exception_holidays = new Array();
|
|
var day_month_holidays = new Array();
|
|
var hola= "[% code %]";
|
|
[% FOREACH WEEK_DAYS_LOO IN WEEK_DAYS_LOOP %]
|
|
week_days["[% WEEK_DAYS_LOO.KEY %]"] = {title:"[% WEEK_DAYS_LOO.TITLE %]", description:"[% WEEK_DAYS_LOO.DESCRIPTION %]"};
|
|
[% END %]
|
|
[% FOREACH HOLIDAYS_LOO IN HOLIDAYS_LOOP %]
|
|
holidays["[% HOLIDAYS_LOO.KEY %]"] = {title:"[% HOLIDAYS_LOO.TITLE %]", description:"[% HOLIDAYS_LOO.DESCRIPTION %]"};
|
|
[% END %]
|
|
[% FOREACH EXCEPTION_HOLIDAYS_LOO IN EXCEPTION_HOLIDAYS_LOOP %]
|
|
exception_holidays["[% EXCEPTION_HOLIDAYS_LOO.KEY %]"] = {title:"[% EXCEPTION_HOLIDAYS_LOO.TITLE %]", description:"[% EXCEPTION_HOLIDAYS_LOO.DESCRIPTION %]"};
|
|
[% END %]
|
|
[% FOREACH DAY_MONTH_HOLIDAYS_LOO IN DAY_MONTH_HOLIDAYS_LOOP %]
|
|
day_month_holidays["[% DAY_MONTH_HOLIDAYS_LOO.KEY %]"] = {title:"[% DAY_MONTH_HOLIDAYS_LOO.TITLE %]", description:"[% DAY_MONTH_HOLIDAYS_LOO.DESCRIPTION %]"};
|
|
[% END %]
|
|
|
|
/* This function gives css clases to each kind of day */
|
|
function dateStatusHandler(date) {
|
|
var day = date.getDate();
|
|
var month = date.getMonth() + 1;
|
|
var year = date.getFullYear();
|
|
var weekDay = date.getDay();
|
|
var dayMonth = month + '/' + day;
|
|
var dateString = year + '/' + month + '/' + day;
|
|
if (exception_holidays[dateString] != null) {
|
|
return 'exception';
|
|
} else if ( week_days[weekDay] != null ){
|
|
return 'repeatableweekly';
|
|
} else if ( day_month_holidays[dayMonth] != null ) {
|
|
return 'repeatableyearly';
|
|
} else if (holidays[dateString] != null) {
|
|
return 'holiday';
|
|
} else {
|
|
return 'normalday';
|
|
}
|
|
}
|
|
|
|
/* This function is in charge of showing the correct panel considering the kind of holiday */
|
|
function dateChanged(calendar) {
|
|
var day = calendar.date.getDate();
|
|
var month = calendar.date.getMonth() + 1;
|
|
var year = calendar.date.getFullYear();
|
|
var weekDay = calendar.date.getDay();
|
|
var dayName = calendar.date.print('%A');
|
|
var dayMonth = month + '/' + day;
|
|
var dateString = year + '/' + month + '/' + day;
|
|
if (calendar.dateClicked) {
|
|
if (holidays[dateString] != null) {
|
|
showHoliday(0, dayName, day, month, year, weekDay, holidays[dateString].title, holidays[dateString].description, 'ymd');
|
|
} else if (exception_holidays[dateString] != null) {
|
|
showHoliday(0, dayName, day, month, year, weekDay, exception_holidays[dateString].title, exception_holidays[dateString].description, 'exception');
|
|
} else if (week_days[weekDay] != null) {
|
|
showHoliday(1, dayName, day, month, year, weekDay, week_days[weekDay].title, week_days[weekDay].description, 'weekday');
|
|
} else if (day_month_holidays[dayMonth] != null) {
|
|
showHoliday(1, dayName, day, month, year, weekDay, day_month_holidays[dayMonth].title, day_month_holidays[dayMonth].description, 'daymonth');
|
|
} else {
|
|
newHoliday(dayName, day, month, year, weekDay);
|
|
}
|
|
}
|
|
};
|
|
Calendar.setup(
|
|
{
|
|
flat : "calendar-container",
|
|
flatCallback : dateChanged,
|
|
date: "[% keydate %]",
|
|
dateStatusFunc : dateStatusHandler
|
|
}
|
|
);
|
|
</script>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="yui-u">
|
|
<div class="help">
|
|
<h4>Hints</h4>
|
|
<ul>
|
|
<li>Search in the calendar the day you want to set as holiday.</li>
|
|
<li>Click the date to add or edit a holiday.</li>
|
|
<li>Enter a title and description for the holdiay.</li>
|
|
<li>Specify how the holiday should repeat.</li>
|
|
<li>Click Save to finish.</li>
|
|
</ul>
|
|
<h4>Key</h4>
|
|
<p>
|
|
<span class="key normalday">Working day</span>
|
|
<span class="key holiday">Unique holiday</span>
|
|
<span class="key repeatableweekly">Holiday repeating weekly</span>
|
|
<span class="key repeatableyearly">Holiday repeating yearly</span>
|
|
<span class="key exception">Holiday exception</span>
|
|
</p>
|
|
</div>
|
|
<div id="holiday-list">
|
|
<!-- Exceptions First -->
|
|
<!-- this will probably always have the least amount of data -->
|
|
[% IF ( EXCEPTION_HOLIDAYS_LOOP ) %]
|
|
<h3>Exceptions</h3>
|
|
<table id="holidayexceptions">
|
|
<thead><tr>
|
|
<th class="exception">Date</th>
|
|
<th class="exception">Title</th>
|
|
<th class="exception">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
[% FOREACH EXCEPTION_HOLIDAYS_LOO IN EXCEPTION_HOLIDAYS_LOOP %]
|
|
<tr>
|
|
<td><a href="/cgi-bin/koha/tools/holidays.pl?branch=[% EXCEPTION_HOLIDAYS_LOO.branch %]&calendardate=[% EXCEPTION_HOLIDAYS_LOO.DATE %]">[% EXCEPTION_HOLIDAYS_LOO.DATE %]</a></td>
|
|
<td>[% EXCEPTION_HOLIDAYS_LOO.TITLE %]</td>
|
|
<td>[% EXCEPTION_HOLIDAYS_LOO.DESCRIPTION %]</td>
|
|
</tr>
|
|
[% END %]
|
|
</tbody>
|
|
</table>
|
|
[% END %]
|
|
|
|
[% IF ( WEEK_DAYS_LOOP ) %]
|
|
<h3>Weekly - Repeatable Holidays</h3>
|
|
<table id="holidayweeklyrepeatable">
|
|
<thead>
|
|
<tr>
|
|
<th class="repeatableweekly">Day of Week</th>
|
|
<th class="repeatableweekly">Title</th>
|
|
<th class="repeatableweekly">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
[% FOREACH WEEK_DAYS_LOO IN WEEK_DAYS_LOOP %]
|
|
<tr>
|
|
<td>
|
|
<script type="text/javascript">
|
|
document.write(weekdays[ [% WEEK_DAYS_LOO.KEY %]]);
|
|
</script>
|
|
</td>
|
|
<td>[% WEEK_DAYS_LOO.TITLE %]</td>
|
|
<td>[% WEEK_DAYS_LOO.DESCRIPTION %]</td>
|
|
</tr>
|
|
[% END %]
|
|
</tbody>
|
|
</table>
|
|
[% END %]
|
|
|
|
[% IF ( DAY_MONTH_HOLIDAYS_LOOP ) %]
|
|
<h3>Yearly - Repeatable Holidays</h3>
|
|
<table id="holidaysyearlyrepeatable">
|
|
<thead>
|
|
<tr>
|
|
[% IF ( dateformat == 'metric' ) %]
|
|
<th class="repeatableyearly">Day/Month</th>
|
|
[% ELSE %]
|
|
<th class="repeatableyearly">Month/Day</th>
|
|
[% END %]
|
|
<th class="repeatableyearly">Title</th>
|
|
<th class="repeatableyearly">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
[% FOREACH DAY_MONTH_HOLIDAYS_LOO IN DAY_MONTH_HOLIDAYS_LOOP %]
|
|
<tr>
|
|
<td>[% DAY_MONTH_HOLIDAYS_LOO.DATE %]</td>
|
|
<td>[% DAY_MONTH_HOLIDAYS_LOO.TITLE %]</td>
|
|
<td>[% DAY_MONTH_HOLIDAYS_LOO.DESCRIPTION %]</td>
|
|
</tr>
|
|
[% END %]
|
|
</tbody>
|
|
</table>
|
|
[% END %]
|
|
|
|
[% IF ( HOLIDAYS_LOOP ) %]
|
|
<h3>Unique Holidays</h3>
|
|
<table id="holidaysunique">
|
|
<thead>
|
|
<tr>
|
|
<th class="holiday">Date</th>
|
|
<th class="holiday">Title</th>
|
|
<th class="holiday">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
[% FOREACH HOLIDAYS_LOO IN HOLIDAYS_LOOP %]
|
|
<tr>
|
|
<td><a href="/cgi-bin/koha/tools/holidays.pl?branch=[% HOLIDAYS_LOO.branch %]&calendardate=[% HOLIDAYS_LOO.DATE %]">[% HOLIDAYS_LOO.DATE %]</a></td>
|
|
<td>[% HOLIDAYS_LOO.TITLE %]</td>
|
|
<td>[% HOLIDAYS_LOO.DESCRIPTION %]</td>
|
|
</tr>
|
|
[% END %]
|
|
</tbody>
|
|
</table>
|
|
[% END %]
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="yui-b noprint">
|
|
[% INCLUDE 'tools-menu.inc' %]
|
|
</div>
|
|
</div>
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|