@@ -, +, @@ passed - Apply the patch and go to Tools -> Calendar - In the tables of existing holidays, check that no dates in the past appear in the "Exceptions" or "Unique holidays" tables. - Checking the checkbox at the top of each of these tables should trigger the display of the hidden rows. --- koha-tmpl/intranet-tmpl/prog/css/calendar.css | 160 +++++++++++++++++++++ .../prog/en/modules/tools/holidays.tt | 78 ++++++---- 2 files changed, 209 insertions(+), 29 deletions(-) create mode 100644 koha-tmpl/intranet-tmpl/prog/css/calendar.css --- a/koha-tmpl/intranet-tmpl/prog/css/calendar.css +++ a/koha-tmpl/intranet-tmpl/prog/css/calendar.css @@ -0,0 +1,160 @@ +.controls { + display: block; + padding: 3px 0; +} + +.key { + padding: 3px; + white-space: nowrap; + line-height: 230%; + } + + .ui-datepicker { + font-size: 150%; + } + + .ui-datepicker th, + .ui-datepicker .ui-datepicker-title select { + font-size: 80%; + } + + .ui-datepicker td a { + padding: .5em; + } + + .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { + font-size: 80%; + } + + .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; + } + + td.exception a.ui-state-default { + background: #b3d4ff none; + color: Black; + border: 1px solid #BCBCBC; + } + + td.holiday a.ui-state-default { + background: #ffaeae none; + color: Black; + border: 1px solid #BCBCBC; + } + + td.repeatableweekly a.ui-state-default { + background: #FFFF99 none; + color: Black; + border: 1px solid #BCBCBC; + } + + td.repeatableyearly a.ui-state-default { + background: #FFCC66 none; + 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; + } + + fieldset.brief ol { + font-size: 100%; + } + + fieldset.brief li, + 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; + } --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/holidays.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/holidays.tt @@ -5,25 +5,7 @@ [% INCLUDE 'doc-head-open.inc' %]
Date | +Date | Title | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
[% EXCEPTION_HOLIDAYS_LOO.DATE | html %] | [% EXCEPTION_HOLIDAYS_LOO.TITLE | html %] | [% EXCEPTION_HOLIDAYS_LOO.DESCRIPTION | html %] | @@ -294,9 +280,9 @@ td.repeatableyearly a.ui-state-default { background: #FFCC66 none; color : Bl|||||||||||||
Day/month | +Day/month | [% ELSE %] -Month/day | +Month/day | [% END %]Title | Description | @@ -316,17 +302,21 @@ td.repeatableyearly a.ui-state-default { background: #FFCC66 none; color : Bl [% IF ( HOLIDAYS_LOOP ) %]
Date | +Date | Title | Description |
---|---|---|---|
[% HOLIDAYS_LOO.DATE | html %] | [% HOLIDAYS_LOO.TITLE | html %] | [% HOLIDAYS_LOO.DESCRIPTION.replace('\\\r\\\n', ' ') | html %] |
@@ -498,6 +488,25 @@ td.repeatableyearly a.ui-state-default { background: #FFCC66 none; color : Bl
}
};
+ /* Custom table search configuration: If a table row
+ has an "expired" class, hide it UNLESS the
+ show_expired checkbox is checked */
+ $.fn.dataTable.ext.search.push(
+ function( settings, searchData, index, rowData, counter ) {
+ var table = settings.nTable.id;
+ var row = $(settings.aoData[index].nTr);
+ if( row.hasClass("date_past") && !$("#show_past_" + table ).prop("checked") ){
+ return false;
+ } else {
+ return true;
+ }
+ }
+ );
+
+ // Create current date variable
+ var date = new Date();
+ var datestring = date.toISOString().substring(0, 10);
+
$(document).ready(function() {
$(".hint").hide();
@@ -512,13 +521,24 @@ td.repeatableyearly a.ui-state-default { background: #FFCC66 none; color : Bl
"sDom": 't',
"bPaginate": false
}));
- $("#holidayexceptions,#holidaysyearlyrepeatable,#holidaysunique").dataTable($.extend(true, {}, dataTablesDefaults, {
+ var tables = $("#holidayexceptions,#holidaysyearlyrepeatable,#holidaysunique").DataTable($.extend(true, {}, dataTablesDefaults, {
"sDom": 't',
- "aoColumns": [
- { "sType": "title-string" },null,null
+ "aoColumnDefs": [
+ { "type": "title-string", "targets" : [ "title-string" ] },
],
- "bPaginate": false
+ "bPaginate": false,
+ "createdRow": function( row, data, dataIndex ) {
+ var holiday = $(row).data("date");
+ if( holiday < datestring ){
+ $(row).addClass("date_past");
+ }
+ }
}));
+
+ $(".show_past").on("change", function(){
+ tables.draw();
+ });
+
$("a.helptext").click(function(){
$(this).parent().find(".hint").toggle(); return false;
});
--