From dc11268b5f5bf75c63706926c647e6112d01b5a4 Mon Sep 17 00:00:00 2001 From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Date: Wed, 16 Sep 2015 16:50:43 +0100 Subject: [PATCH] [PASSED QA] Bug 14836: Use Koha::PatronCategor[y|ies] in admin/categories.pl Test plan: Add/edit/remove patron categories from the administration module (admin/categories.pl). You should get message feedback after each action. Signed-off-by: Frederic Demians <f.demians@tamil.fr> Operations in admin/category is unchanged, and functionnal Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> --- admin/categorie.pl | 406 ++++---------- .../prog/en/includes/messaging-preference-form.inc | 9 +- .../prog/en/modules/admin/categorie.tt | 601 +++++++++++--------- 3 files changed, 425 insertions(+), 591 deletions(-) diff --git a/admin/categorie.pl b/admin/categorie.pl index 1d5cd08..bc3151d 100755 --- a/admin/categorie.pl +++ b/admin/categorie.pl @@ -1,24 +1,7 @@ #!/usr/bin/perl -#script to administer the categories table -#written 20/02/2002 by paul.poulain@free.fr - -# ALGO : -# this script use an $op to know what to do. -# if $op is empty or none of the above values, -# - the default screen is build (with all records, or filtered datas). -# - the user can clic on add, modify or delete record. -# if $op=add_form -# - if primkey exists, this is a modification,so we read the $primkey record -# - builds the add/modify form -# if $op=add_validate -# - the user has just send datas, so we create/modify the record -# if $op=delete_form -# - we show the record having primkey=$primkey and ask for deletion validation form -# if $op=delete_confirm -# - we delete the record having primkey=$primkey - # Copyright 2000-2002 Katipo Communications +# Copyright 2002 Paul Poulain # # This file is part of Koha. # @@ -43,36 +26,15 @@ use C4::Auth; use C4::Branch; use C4::Output; use C4::Form::MessagingPreferences; +use Koha::Borrowers; use Koha::Database; use Koha::DateUtils; - -sub StringSearch { - my ( $searchstring, $type ) = @_; - my $dbh = C4::Context->dbh; - $searchstring //= ''; - $searchstring =~ s/\'/\\\'/g; - my @data = split( ' ', $searchstring ); - push @data, q{} if $#data == -1; - my $count = @data; - my $sth = $dbh->prepare("Select * from categories where (description like ?) order by category_type,description,categorycode"); - $sth->execute("$data[0]%"); - my @results; - - while ( my $data = $sth->fetchrow_hashref ) { - push( @results, $data ); - } - - # $sth->execute; - $sth->finish; - return ( scalar(@results), \@results ); -} +use Koha::PatronCategories; my $input = new CGI; -my $searchfield = $input->param('description'); -my $script_name = "/cgi-bin/koha/admin/categorie.pl"; +my $searchfield = $input->param('description') // q||; my $categorycode = $input->param('categorycode'); my $op = $input->param('op') // 'list'; -my $block_expired = $input->param("block_expired"); my @messages; my ( $template, $loggedinuser, $cookie ) = get_template_and_user( @@ -86,177 +48,107 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( } ); -################## ADD_FORM ################################## -# called by default. Used to create form to add or modify a record if ( $op eq 'add_form' ) { - $template->param( add_form => 1 ); - - #---- if primkey exists, it's a modify action, so read values to modify... - my $data; - my @selected_branches; + my ( $category, $selected_branches ); if ($categorycode) { - my $dbh = C4::Context->dbh; - my $sth = - $dbh->prepare("SELECT * FROM categories WHERE categorycode=?"); - $sth->execute($categorycode); - $data = $sth->fetchrow_hashref; - - $sth = $dbh->prepare( - "SELECT b.branchcode, b.branchname - FROM categories_branches AS cb, branches AS b - WHERE cb.branchcode = b.branchcode AND cb.categorycode = ? - "); - $sth->execute($categorycode); - while ( my $branch = $sth->fetchrow_hashref ) { - push @selected_branches, $branch; - } - $sth->finish; + $category = Koha::PatronCategories->find($categorycode); + $selected_branches = $category->branch_limitations; } - if ( $data->{'enrolmentperioddate'} - && $data->{'enrolmentperioddate'} eq '0000-00-00' ) - { - $data->{'enrolmentperioddate'} = undef; - } - - $data->{'category_type'} //= ''; - - my $branches = GetBranches(); + my $branches = GetBranches; my @branches_loop; - foreach my $branch ( sort keys %$branches ) { - my $selected = - ( grep { $$_{branchcode} eq $branch } @selected_branches ) ? 1 : 0; + foreach my $branchcode ( sort { uc( $branches->{$a}->{branchname} ) cmp uc( $branches->{$b}->{branchname} ) } keys %$branches ) { + my $selected = ( grep { $_ eq $branchcode } @$selected_branches ) ? 1 : 0; push @branches_loop, - { - branchcode => $$branches{$branch}{branchcode}, - branchname => $$branches{$branch}{branchname}, + { branchcode => $branchcode, + branchname => $branches->{$branchcode}->{branchname}, selected => $selected, }; } $template->param( + category => $category, branches_loop => \@branches_loop, - description => $data->{'description'}, - enrolmentperiod => $data->{'enrolmentperiod'}, - enrolmentperioddate => $data->{'enrolmentperioddate'}, - upperagelimit => $data->{'upperagelimit'}, - dateofbirthrequired => $data->{'dateofbirthrequired'}, - enrolmentfee => sprintf( "%.2f", $data->{'enrolmentfee'} || 0 ), - overduenoticerequired => $data->{'overduenoticerequired'}, - issuelimit => $data->{'issuelimit'}, - reservefee => sprintf( "%.2f", $data->{'reservefee'} || 0 ), - hidelostitems => $data->{'hidelostitems'}, - category_type => $data->{'category_type'}, - default_privacy => $data->{'default_privacy'}, - SMSSendDriver => C4::Context->preference("SMSSendDriver"), - "type_" . $data->{'category_type'} => 1, - BlockExpiredPatronOpacActions => - $data->{'BlockExpiredPatronOpacActions'}, - TalkingTechItivaPhone => - C4::Context->preference("TalkingTechItivaPhoneNotification"), ); if ( C4::Context->preference('EnhancedMessagingPreferences') ) { C4::Form::MessagingPreferences::set_form_values( { categorycode => $categorycode }, $template ); } - - # END $OP eq ADD_FORM -################## ADD_VALIDATE ################################## - # called by add_form, used to insert/modify data in DB } elsif ( $op eq 'add_validate' ) { - my $is_a_modif = $input->param("is_a_modif"); + my $categorycode = $input->param('categorycode'); + my $description = $input->param('description'); + my $enrolmentperiod = $input->param('enrolmentperiod'); + my $enrolmentperioddate = $input->param('enrolmentperioddate') || undef; + my $upperagelimit = $input->param('upperagelimit'); + my $dateofbirthrequired = $input->param('dateofbirthrequired'); + my $enrolmentfee = $input->param('enrolmentfee'); + my $reservefee = $input->param('reservefee'); + my $hidelostitems = $input->param('hidelostitems'); + my $overduenoticerequired = $input->param('overduenoticerequired'); + my $category_type = $input->param('category_type'); + my $BlockExpiredPatronOpacActions = $input->param('BlockExpiredPatronOpacActions'); + my $default_privacy = $input->param('default_privacy'); + my @branches = grep { $_ ne q{} } $input->param('branches'); - my $dbh = C4::Context->dbh; + my $is_a_modif = $input->param("is_a_modif"); - if ( $input->param('enrolmentperioddate') ) { - my $enrolment_dt = eval { dt_from_string( $input->param('enrolmentperioddate') ) }; - $enrolment_dt = eval { output_pref( { dt => $enrolment_dt, dateonly => 1, dateformat => 'iso' } ) } if ( $enrolment_dt ); - $input->param( 'enrolmentperioddate' => $enrolment_dt ); + if ( $enrolmentperioddate ) { + $enrolmentperioddate = output_pref({ dt => dt_from_string($enrolmentperioddate), dateformat => 'iso' }); } if ($is_a_modif) { - my $sth = $dbh->prepare( " - UPDATE categories - SET description=?, - enrolmentperiod=?, - enrolmentperioddate=?, - upperagelimit=?, - dateofbirthrequired=?, - enrolmentfee=?, - reservefee=?, - hidelostitems=?, - overduenoticerequired=?, - category_type=?, - BlockExpiredPatronOpacActions=?, - default_privacy=? - WHERE categorycode=?" - ); - $sth->execute( - map { $input->param($_) } ( - 'description', 'enrolmentperiod', - 'enrolmentperioddate', 'upperagelimit', - 'dateofbirthrequired', 'enrolmentfee', - 'reservefee', 'hidelostitems', - 'overduenoticerequired', 'category_type', - 'block_expired', 'default_privacy', - 'categorycode' - ) - ); - $sth->finish; - } - else { - my $sth = $dbh->prepare( " - INSERT INTO categories ( - categorycode, - description, - enrolmentperiod, - enrolmentperioddate, - upperagelimit, - dateofbirthrequired, - enrolmentfee, - reservefee, - hidelostitems, - overduenoticerequired, - category_type, - BlockExpiredPatronOpacActions, - default_privacy - ) - VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)" ); - my $inserted = $sth->execute( - map { $input->param($_) } ( - 'categorycode', 'description', - 'enrolmentperiod', 'enrolmentperioddate', - 'upperagelimit', 'dateofbirthrequired', - 'enrolmentfee', 'reservefee', - 'hidelostitems', 'overduenoticerequired', - 'category_type', 'block_expired', - 'default_privacy', - ) - ); - if ( $inserted ) { - push @messages, { type => 'message', code => 'success_on_insert' }; + my $category = Koha::PatronCategories->find( $categorycode ); + $category->categorycode($categorycode); + $category->description($description); + $category->enrolmentperiod($enrolmentperiod); + $category->enrolmentperioddate($enrolmentperioddate); + $category->upperagelimit($upperagelimit); + $category->dateofbirthrequired($dateofbirthrequired); + $category->enrolmentfee($enrolmentfee); + $category->reservefee($reservefee); + $category->hidelostitems($hidelostitems); + $category->overduenoticerequired($overduenoticerequired); + $category->category_type($category_type); + $category->BlockExpiredPatronOpacActions($BlockExpiredPatronOpacActions); + $category->default_privacy($default_privacy); + eval { + $category->store; + $category->replace_branch_limitations( \@branches ); + }; + if ( $@ ) { + push @messages, {type => 'error', code => 'error_on_update' }; } else { - push @messages, { type => 'error', code => 'error_on_insert' }; + push @messages, { type => 'message', code => 'success_on_update' }; } } + else { + my $category = Koha::PatronCategory->new({ + categorycode => $categorycode, + description => $description, + enrolmentperiod => $enrolmentperiod, + enrolmentperioddate => $enrolmentperioddate, + upperagelimit => $upperagelimit, + dateofbirthrequired => $dateofbirthrequired, + enrolmentfee => $enrolmentfee, + reservefee => $reservefee, + hidelostitems => $hidelostitems, + overduenoticerequired => $overduenoticerequired, + category_type => $category_type, + BlockExpiredPatronOpacActions => $BlockExpiredPatronOpacActions, + default_privacy => $default_privacy, + }); + eval { + $category->store; + $category->replace_branch_limitations( \@branches ); + }; - my @branches = $input->param("branches"); - if (@branches) { - my $sth = $dbh->prepare( - "DELETE FROM categories_branches WHERE categorycode = ?" - ); - $sth->execute( $input->param("categorycode") ); - $sth = $dbh->prepare( - "INSERT INTO categories_branches ( categorycode, branchcode ) VALUES ( ?, ? )" - ); - for my $branchcode (@branches) { - next if not $branchcode; - $sth->bind_param( 1, $input->param("categorycode") ); - $sth->bind_param( 2, $branchcode ); - $sth->execute; + if ( $@ ) { + push @messages, { type => 'error', code => 'error_on_insert' }; + } else { + push @messages, { type => 'message', code => 'success_on_insert' }; } } @@ -267,162 +159,58 @@ elsif ( $op eq 'add_validate' ) { $searchfield = q||; $op = 'list'; - - # END $OP eq ADD_VALIDATE -################## DELETE_CONFIRM ################################## - # called by default form, used to confirm deletion of data in DB } elsif ( $op eq 'delete_confirm' ) { - my $schema = Koha::Database->new()->schema(); - $template->param( delete_confirm => 1 ); - my $count = - $schema->resultset('Borrower') - ->search( { categorycode => $categorycode } )->count(); + my $count = Koha::Borrowers->search({ + categorycode => $categorycode + })->count; - my $category = $schema->resultset('Category')->find($categorycode); - - if ( $category->enrolmentperioddate - && $category->enrolmentperioddate eq '0000-00-00' ) - { - $category->{'enrolmentperioddate'} = undef; - } + my $category = Koha::PatronCategories->find($categorycode); $template->param( - category => $category, - description => $category->description, - enrolmentperiod => $category->enrolmentperiod, - enrolmentperioddate => $category->enrolmentperioddate, + category => $category, patrons_in_category => $count, ); - # END $OP eq DELETE_CONFIRM -################## DELETE_CONFIRMED ################################## - # called by delete_confirm, used to effectively confirm deletion of data in DB } elsif ( $op eq 'delete_confirmed' ) { - $template->param( delete_confirmed => 1 ); - my $dbh = C4::Context->dbh; - my $categorycode = uc( $input->param('categorycode') ); - my $sth = $dbh->prepare("delete from categories where categorycode=?"); - - my $deleted = $sth->execute($categorycode); + my $category = Koha::PatronCategories->find( $categorycode ); + my $deleted = eval { $category->delete; }; - if ( $deleted ) { - push @messages, { type => 'message', code => 'success_on_delete' }; + if ( $@ or not $deleted ) { + push @messages, {type => 'error', code => 'error_on_delete' }; } else { - push @messages, { type => 'error', code => 'error_on_delete' }; + push @messages, { type => 'message', code => 'success_on_delete' }; } $op = 'list'; - - # END $OP eq DELETE_CONFIRMED } if ( $op eq 'list' ) { - $template->param( else => 1 ); - my @loop; - my ( $count, $results ) = StringSearch( $searchfield, 'web' ); - - my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare(" - SELECT b.branchcode, b.branchname - FROM categories_branches AS cb, branches AS b - WHERE cb.branchcode = b.branchcode AND cb.categorycode = ? - "); - - for ( my $i = 0 ; $i < $count ; $i++ ) { - $sth->execute( $results->[$i]{'categorycode'} ); - - my @selected_branches; - while ( my $branch = $sth->fetchrow_hashref ) { - push @selected_branches, $branch; - } - - my $enrolmentperioddate = $results->[$i]{'enrolmentperioddate'}; - if ( $enrolmentperioddate && $enrolmentperioddate eq '0000-00-00' ) { - $enrolmentperioddate = undef; - } - - $results->[$i]{'category_type'} //= ''; - - my %row = ( - branches => \@selected_branches, - categorycode => $results->[$i]{'categorycode'}, - description => $results->[$i]{'description'}, - enrolmentperiod => $results->[$i]{'enrolmentperiod'}, - enrolmentperioddate => $enrolmentperioddate, - upperagelimit => $results->[$i]{'upperagelimit'}, - dateofbirthrequired => $results->[$i]{'dateofbirthrequired'}, - overduenoticerequired => $results->[$i]{'overduenoticerequired'}, - issuelimit => $results->[$i]{'issuelimit'}, - hidelostitems => $results->[$i]{'hidelostitems'}, - category_type => $results->[$i]{'category_type'}, - default_privacy => $results->[$i]{'default_privacy'}, - reservefee => sprintf( "%.2f", $results->[$i]{'reservefee'} || 0 ), - enrolmentfee => - sprintf( "%.2f", $results->[$i]{'enrolmentfee'} || 0 ), - "type_" . $results->[$i]{'category_type'} => 1, - ); - - if ( C4::Context->preference('EnhancedMessagingPreferences') ) { - my $brief_prefs = - _get_brief_messaging_prefs( $results->[$i]{'categorycode'} ); - $row{messaging_prefs} = $brief_prefs if @$brief_prefs; + my $categories = Koha::PatronCategories->search( + { + description => { -like => "$searchfield%" } + }, + { + order_by => ['category_type', 'description', 'categorycode' ] } - push @loop, \%row; - } - - $template->param( loop => \@loop ); - - # check that I (institution) and C (child) exists. otherwise => warning to the user - $sth = $dbh->prepare("select category_type from categories where category_type='C'"); - $sth->execute; - my ($categoryChild) = $sth->fetchrow; - $template->param( categoryChild => $categoryChild ); - - $sth = $dbh->prepare("select category_type from categories where category_type='I'"); - $sth->execute; - my ($categoryInstitution) = $sth->fetchrow; - $template->param( categoryInstitution => $categoryInstitution ); - $sth->finish; + ); -} #---- END $OP eq DEFAULT + $template->param( + categories => $categories, + ) +} $template->param( - script_name => $script_name, categorycode => $categorycode, searchfield => $searchfield, messages => \@messages, + op => $op, ); output_html_with_http_headers $input, $cookie, $template->output; exit 0; - -sub _get_brief_messaging_prefs { - my $categorycode = shift; - my $messaging_options = C4::Members::Messaging::GetMessagingOptions(); - my $results = []; - PREF: foreach my $option (@$messaging_options) { - my $pref = C4::Members::Messaging::GetMessagingPreferences( - { - categorycode => $categorycode, - message_name => $option->{'message_name'} - } - ); - next unless $pref->{'transports'}; - my $brief_pref = { - message_attribute_id => $option->{'message_attribute_id'}, - message_name => $option->{'message_name'}, - $option->{'message_name'} => 1 - }; - foreach my $transport ( keys %{ $pref->{'transports'} } ) { - push @{ $brief_pref->{'transports'} }, { transport => $transport }; - } - push @$results, $brief_pref; - } - return $results; -} diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/messaging-preference-form.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/messaging-preference-form.inc index c889e15..dabad6d 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/messaging-preference-form.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/messaging-preference-form.inc @@ -1,3 +1,4 @@ +[% USE Koha %] <!-- snippet for form to set borrower and patron category messaging preferences --> <script type="text/javascript">//<![CDATA[ $(document).ready(function(){ @@ -22,8 +23,8 @@ <table> <tr><th></th> <th>Days in advance</th> - [% IF ( SMSSendDriver ) %]<th>SMS</th>[% END %] - [% IF ( TalkingTechItivaPhone ) %]<th>Phone</th>[% END %] + [% IF Koha.Preference('SMSSendDriver') %]<th>SMS</th>[% END %] + [% IF Koha.Preference('TalkingTechItivaPhoneNotification') %]<th>Phone</th>[% END %] <th>Email</th> <th>Digests only <i id="info_digests" data-toggle="tooltip" title="You can ask for a digest to reduce the number of messages. Messages will be saved and sent as a single message." data-placement="right" class="icon fa fa-info-sign"></i></th> <!-- <th>RSS</th> --> @@ -56,7 +57,7 @@ <td>-</td> [% END %] - [% IF ( SMSSendDriver ) %]<td> + [% IF Koha.Preference('SMSSendDriver') %]<td> [% IF ( messaging_form_inactive ) %] [% IF ( messaging_preference.transports_sms ) %] <input type="checkbox" @@ -84,7 +85,7 @@ [% END %] </td>[% END %] - [% IF ( TalkingTechItivaPhone ) %]<td> + [% IF Koha.Preference('TalkingTechItivaPhoneNotification') %]<td> [% IF ( messaging_form_inactive ) %] [% IF ( messaging_preference.transports_phone ) %] <input type="checkbox" diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/categorie.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/categorie.tt index f50bd61..8d9e436 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/categorie.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/categorie.tt @@ -1,7 +1,9 @@ +[% USE Koha %] [% USE KohaDates %] +[% USE Price %] [% INCLUDE 'doc-head-open.inc' %] -<title>Koha › Administration › Patron categories › [% IF ( add_form ) %][% IF ( categorycode ) %]Modify category '[% categorycode |html %]'[% ELSE %]New category[% END %][% END %] -[% IF ( delete_confirm ) %][% IF ( patrons_in_category > 0 ) %]Cannot delete: category [% categorycode |html %] in use[% ELSE %]Confirm deletion of category '[% categorycode |html %]'[% END %][% END %] +<title>Koha › Administration › Patron categories › [% IF op == 'add_form' %][% IF ( categorycode ) %]Modify category '[% categorycode |html %]'[% ELSE %]New category[% END %][% END %] +[% IF op == 'delete_confirm' %][% IF ( patrons_in_category > 0 ) %]Cannot delete: category [% categorycode |html %] in use[% ELSE %]Confirm deletion of category '[% categorycode |html %]'[% END %][% END %] </title> [% INCLUDE 'doc-head-close.inc' %] [% INCLUDE 'calendar.inc' %] @@ -96,10 +98,10 @@ [% INCLUDE 'header.inc' %] [% INCLUDE 'patrons-admin-search.inc' %] -<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> › [% IF ( add_form ) %] <a href="/cgi-bin/koha/admin/categorie.pl">Patron categories</a> › [% IF ( categorycode ) %]Modify category '[% categorycode |html %]'[% ELSE %]New category[% END %][% END %] -[% IF ( delete_confirm ) %] <a href="/cgi-bin/koha/admin/categorie.pl">Patron categories</a> › [% IF ( patrons_in_category > 0 ) %]Cannot delete: Category [% categorycode |html %] in use[% ELSE %]Confirm deletion of category '[% categorycode |html %]'[% END %][% END %] -[% IF ( delete_confirmed ) %] <a href="/cgi-bin/koha/admin/categorie.pl">Patron categories</a> › Category deleted[% END %] -[% IF ( else ) %]Patron categories[% END %]</div> +<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> › [% IF op == 'add_form' %] <a href="/cgi-bin/koha/admin/categorie.pl">Patron categories</a> › [% IF ( categorycode ) %]Modify category '[% categorycode |html %]'[% ELSE %]New category[% END %][% END %] +[% IF op == 'delete_confirm' %] <a href="/cgi-bin/koha/admin/categorie.pl">Patron categories</a> › [% IF ( patrons_in_category > 0 ) %]Cannot delete: Category [% categorycode |html %] in use[% ELSE %]Confirm deletion of category '[% categorycode |html %]'[% END %][% END %] +[% IF op == 'delete_confirmed' %] <a href="/cgi-bin/koha/admin/categorie.pl">Patron categories</a> › Category deleted[% END %] +[% IF op == 'list' %]Patron categories[% END %]</div> <div id="doc3" class="yui-t2"> @@ -110,315 +112,358 @@ [% FOR m IN messages %] <div class="dialog [% m.type %]"> [% SWITCH m.code %] + [% CASE 'error_on_update' %] + An error occurred when updating this patron category. Perhaps it already exists. [% CASE 'error_on_insert' %] An error occurred when inserting this patron category. The patron category might already exist. [% CASE 'error_on_delete' %] An error occurred when deleting this patron category. Check the logs. + [% CASE 'success_on_update' %] + Patron category updated successfully. [% CASE 'success_on_insert' %] - Patron category added successfully + Patron category inserted successfully. [% CASE 'success_on_delete' %] Patron category deleted successfully. + [% CASE 'already_exists' %] + This patron category already exists. [% CASE %] [% m.code %] [% END %] </div> [% END %] -[% IF ( add_form ) %] - <form name="Aform" action="[% script_name %]" method="post"> - <input type="hidden" name="op" value="add_validate" /> - <input type="hidden" name="checked" value="0" /> -[% IF ( categorycode ) %] - <h1>Modify category [% categorycode |html %]</h1> - [% ELSE %] - <h1>New category</h1> - [% END %] - <fieldset class="rows"> - <ol>[% IF ( categorycode ) %] - <li><span class="label">Category code: </span>[% categorycode |html %] - <input type="hidden" name="categorycode" value="[% categorycode |html %]" /><input type="hidden" name="is_a_modif" value="1" /></li> - [% ELSE %] - <li> - <label for="categorycode" class="required">Category code: </label> - <input type="text" name="categorycode" id="categorycode" size="10" maxlength="10" onblur="toUC(this)" /> - <span class="required">Required</span> - </li> - [% END %] - <li> - <label for="description" class="required">Description: </label> - <input type="text" name="description" id="description" size="40" maxlength="80" value="[% description |html %]" /> - <span class="required">Required</span> - </li> - <li><label for="enrolmentperiod" class="required">Enrollment period: </label> - <fieldset> - <legend>Choose one</legend> - <ol> - <li><label for="enrolmentperiod" style="width:6em;">In months: </label> - <input type="text" name="enrolmentperiod" id="enrolmentperiod" size="3" maxlength="3" value="[% IF ( enrolmentperiod ) %][% enrolmentperiod %][% END %]" /> months</li> - <li><label for="enrolmentperioddate" style="width:6em;">Until date: </label> - <input type="text" name="enrolmentperioddate" id="enrolmentperioddate" value="[% enrolmentperioddate | $KohaDates %]" /> - <div id="enrolmentmessage" class="hint" style="margin-left:0;">Cannot have "months" and "until date" at the same time</div> - </li> - </ol> - </fieldset> - </li> - <li><label for="dateofbirthrequired">Age required: </label> <input type="text" name="dateofbirthrequired" id="dateofbirthrequired" value="[% dateofbirthrequired %]" size="3" maxlength="3" /> years</li> - <li><label for="upperagelimit">Upperage limit: </label> <input type="text" name="upperagelimit" id="upperagelimit" size="3" maxlength="3" value="[% upperagelimit %]" /> years</li> - <li><label for="enrolmentfee">Enrollment fee: </label><input type="text" name="enrolmentfee" id="enrolmentfee" size="6" value="[% enrolmentfee %]" /></li> - <li><label for="overduenoticerequired">Overdue notice required: </label> <select name="overduenoticerequired" id="overduenoticerequired"> - [% IF ( overduenoticerequired ) %] - <option value="0">No</option> - <option value="1" selected="selected">Yes</option> - [% ELSE %] - <option value="0" selected="selected">No</option> - <option value="1">Yes</option> - [% END %] - </select></li> - <li><label for="hidelostitems">Lost items in staff client: </label> <select name="hidelostitems" id="hidelostitems"> - [% IF ( hidelostitems ) %] - <option value="0">Shown</option> - <option value="1" selected="selected">Hidden by default</option> - [% ELSE %] - <option value="0" selected="selected">Shown</option> - <option value="1">Hidden by default</option> - [% END %] - </select></li> - <li><label for="reservefee">Hold fee: </label><input type="text" name="reservefee" id="reservefee" size="6" value="[% reservefee %]" /></li> - <li> - <label for="category_type" class="required">Category type: </label> - <select name="category_type" id="category_type"> - [% IF ( type_n ) %]<option value="" selected="selected">Select a category type</option>[% ELSE %]<option value="">Select a category type</option>[% END %] - [% IF ( type_A ) %]<option value="A" selected="selected">Adult</option>[% ELSE %]<option value="A">Adult</option>[% END %] - [% IF ( type_C ) %]<option value="C" selected="selected">Child</option>[% ELSE %]<option value="C">Child</option>[% END %] - [% IF ( type_S ) %]<option value="S" selected="selected">Staff</option>[% ELSE %]<option value="S">Staff</option>[% END %] - [% IF ( type_I ) %]<option value="I" selected="selected">Organization</option>[% ELSE %]<option value="I">Organization</option>[% END %] - [% IF ( type_P ) %]<option value="P" selected="selected">Professional</option>[% ELSE %]<option value="P">Professional</option>[% END %] - [% IF ( type_X ) %]<option value="X" selected="selected">Statistical</option>[% ELSE %]<option value="X">Statistical</option>[% END %] - </select> - <span class="required">Required</span> - </li> - <li><label for="branches">Branches limitation: </label> - <select id="branches" name="branches" multiple size="10"> - <option value="">All branches</option> - [% FOREACH branch IN branches_loop %] - [% IF ( branch.selected ) %] - <option selected="selected" value="[% branch.branchcode %]">[% branch.branchname %]</option> - [% ELSE %] - <option value="[% branch.branchcode %]">[% branch.branchname %]</option> - [% END %] - [% END %] - </select> - <span>Select <i>All branches</i> if this category type must to be displayed all the time. Otherwise select libraries you want to associate with this value. - </span> - </li> - <li><label for="block_expired">Block expired patrons</label> - <select name="block_expired" id="block_expired"> - [% IF ( BlockExpiredPatronOpacActions == -1 ) %] - <option value="-1" selected="selected"> Follow system preference BlockExpiredPatronOpacActions </option> - [% ELSE %] - <option value="-1"> Follow system preference BlockExpiredPatronOpacActions </option> - [% END %] - - [% IF ( BlockExpiredPatronOpacActions == 1 ) %] - <option value="1" selected="selected"> Block </option> - [% ELSE %] - <option value="1"> Block </option> - [% END %] +[% IF op == 'add_form' %] + <form name="Aform" action="/cgi-bin/koha/admin/categorie.pl" method="post"> + <input type="hidden" name="op" value="add_validate" /> + <input type="hidden" name="checked" value="0" /> + [% IF category %] + <h1>Modify category [% categorycode |html %]</h1> + [% ELSE %] + <h1>New category</h1> + [% END %] + <fieldset class="rows"> + <ol> + [% IF category %] + <li> + <span class="label">Category code: </span>[% categorycode |html %] + <input type="hidden" name="categorycode" value="[% category.categorycode |html %]" /><input type="hidden" name="is_a_modif" value="1" /> + </li> + [% ELSE %] + <li> + <label for="categorycode" class="required">Category code: </label> + <input type="text" name="categorycode" id="categorycode" size="10" maxlength="10" onblur="toUC(this)" /> + <span class="required">Required</span> + </li> + [% END %] + <li> + <label for="description" class="required">Description: </label> + <input type="text" name="description" id="description" size="40" maxlength="80" value="[% category.description |html %]" /> + <span class="required">Required</span> + </li> + <li> + <label for="enrolmentperiod" class="required">Enrollment period: </label> + <fieldset> + <legend>Choose one</legend> + <ol> + <li> + <label for="enrolmentperiod" style="width:6em;">In months: </label> + <input type="text" name="enrolmentperiod" id="enrolmentperiod" size="3" maxlength="3" value="[% IF category.enrolmentperiod %][% category.enrolmentperiod %][% END %]" /> months + </li> + <li> + <label for="enrolmentperioddate" style="width:6em;">Until date: </label> + <input type="text" name="enrolmentperioddate" id="enrolmentperioddate" value="[% category.enrolmentperioddate | $KohaDates %]" /> + <div id="enrolmentmessage" class="hint" style="margin-left:0;">Cannot have "months" and "until date" at the same time</div> + </li> + </ol> + </fieldset> + </li> + <li> + <label for="dateofbirthrequired">Age required: </label> + <input type="text" name="dateofbirthrequired" id="dateofbirthrequired" value="[% category.dateofbirthrequired %]" size="3" maxlength="3" /> years + </li> + <li> + <label for="upperagelimit">Upperage limit: </label> + <input type="text" name="upperagelimit" id="upperagelimit" size="3" maxlength="3" value="[% category.upperagelimit %]" /> years + </li> + <li> + <label for="enrolmentfee">Enrollment fee: </label> + <input type="text" name="enrolmentfee" id="enrolmentfee" size="6" value="[% category.enrolmentfee | $Price on_editing => 1 %]" /> + </li> + <li> + <label for="overduenoticerequired">Overdue notice required: </label> + <select name="overduenoticerequired" id="overduenoticerequired"> + [% IF category.overduenoticerequired %] + <option value="0">No</option> + <option value="1" selected="selected">Yes</option> + [% ELSE %] + <option value="0" selected="selected">No</option> + <option value="1">Yes</option> + [% END %] + </select> + </li> + <li> + <label for="hidelostitems">Lost items in staff client: </label> + <select name="hidelostitems" id="hidelostitems"> + [% IF category.hidelostitems %] + <option value="0">Shown</option> + <option value="1" selected="selected">Hidden by default</option> + [% ELSE %] + <option value="0" selected="selected">Shown</option> + <option value="1">Hidden by default</option> + [% END %] + </select> + </li> + <li> + <label for="reservefee">Hold fee: </label> + <input type="text" name="reservefee" id="reservefee" size="6" value="[% category.reservefee | $Price on_editing => 1 %]" /> + </li> + <li> + <label for="category_type" class="required">Category type: </label> + <select name="category_type" id="category_type"> + [% UNLESS category %]<option value="" selected="selected">Select a category type</option>[% ELSE %]<option value="">Select a category type</option>[% END %] + [% IF category and category.category_type == 'A' %]<option value="A" selected="selected">Adult</option>[% ELSE %]<option value="A">Adult</option>[% END %] + [% IF category and category.category_type == 'C' %]<option value="C" selected="selected">Child</option>[% ELSE %]<option value="C">Child</option>[% END %] + [% IF category and category.category_type == 'S' %]<option value="S" selected="selected">Staff</option>[% ELSE %]<option value="S">Staff</option>[% END %] + [% IF category and category.category_type == 'I' %]<option value="I" selected="selected">Organization</option>[% ELSE %]<option value="I">Organization</option>[% END %] + [% IF category and category.category_type == 'P' %]<option value="P" selected="selected">Professional</option>[% ELSE %]<option value="P">Professional</option>[% END %] + [% IF category and category.category_type == 'X' %]<option value="X" selected="selected">Statistical</option>[% ELSE %]<option value="X">Statistical</option>[% END %] + </select> + <span class="required">Required</span> + </li> + <li><label for="branches">Branches limitation: </label> + <select id="branches" name="branches" multiple size="10"> + <option value="">All branches</option> + [% FOREACH branch IN branches_loop %] + [% IF branch.selected %] + <option selected="selected" value="[% branch.branchcode %]">[% branch.branchname %]</option> + [% ELSE %] + <option value="[% branch.branchcode %]">[% branch.branchname %]</option> + [% END %] + [% END %] + </select> + <span>Select <i>All branches</i> if this category type must to be displayed all the time. Otherwise select libraries you want to associate with this value. + </span> + </li> + <li><label for="block_expired">Block expired patrons</label> + <select name="BlockExpiredPatronOpacActions" id="block_expired"> + [% IF not category or category.BlockExpiredPatronOpacActions == -1%] + <option value="-1" selected="selected"> Follow system preference BlockExpiredPatronOpacActions </option> + [% ELSE %] + <option value="-1"> Follow system preference BlockExpiredPatronOpacActions </option> + [% END %] - [% IF ( BlockExpiredPatronOpacActions == 0 ) %] - <option value="0" selected="selected"> Don't block </option> - [% ELSE %] - <option value="0"> Don't block </option> - [% END %] - </select> - <span> - Choose whether patrons of this category be blocked from public catalog actions such as renewing and placing holds when their cards have expired. - </span> - </li> - <li> - <label for="default_privacy">Default privacy: </label> - <select id="default_privacy" name="default_privacy"> - [% SWITCH default_privacy %] - [% CASE 'forever' %] - <option value="default">Default</option> - <option value="never">Never</option> - <option value="forever" selected="selected">Forever</option> - [% CASE 'never' %] - <option value="default">Default</option> - <option value="never" selected="selected">Never</option> - <option value="forever">Forever</option> - [% CASE %] - <option value="default" selected="selected">Default</option> - <option value="never">Never</option> - <option value="forever">Forever</option> - [% END %] - </select> - <span>Controls how long a patrons checkout history is kept for new patrons of this category. "Never" anonymizes checkouts on return, and "Forever" keeps a patron's checkout history indefinitely. When set to "Default", the amount of history kept is controlled by the cronjob <i>batch_anonymise.pl</i> which should be set up by your system administrator.</span> - </li> - </ol> -</fieldset> + [% IF category and category.BlockExpiredPatronOpacActions == 1 %] + <option value="1" selected="selected"> Block </option> + [% ELSE %] + <option value="1"> Block </option> + [% END %] - [% IF ( EnhancedMessagingPreferences ) %] - <fieldset class="rows"> - <h4>Default messaging preferences for this patron category</h4> - [% INCLUDE 'messaging-preference-form.inc' %] - </fieldset> - [% END %] - <fieldset class="action"><input type="button" value="Save" onclick="Check(this.form);" /> </fieldset> - </form> + [% IF category and category.BlockExpiredPatronOpacActions == 0 %] + <option value="0" selected="selected"> Don't block </option> + [% ELSE %] + <option value="0"> Don't block </option> + [% END %] + </select> + <span> + Choose whether patrons of this category be blocked from public catalog actions such as renewing and placing holds when their cards have expired. + </span> + </li> + <li> + <label for="default_privacy">Default privacy: </label> + <select id="default_privacy" name="default_privacy"> + [% SET default_privacy = 'default' %] + [% IF category %][% SET default_privacy = category.default_privacy %][% END %] + [% SWITCH default_privacy %] + [% CASE 'forever' %] + <option value="default">Default</option> + <option value="never">Never</option> + <option value="forever" selected="selected">Forever</option> + [% CASE 'never' %] + <option value="default">Default</option> + <option value="never" selected="selected">Never</option> + <option value="forever">Forever</option> + [% CASE %] + <option value="default" selected="selected">Default</option> + <option value="never">Never</option> + <option value="forever">Forever</option> + [% END %] + </select> + <span>Controls how long a patrons checkout history is kept for new patrons of this category. "Never" anonymizes checkouts on return, and "Forever" keeps a patron's checkout history indefinitely. When set to "Default", the amount of history kept is controlled by the cronjob <i>batch_anonymise.pl</i> which should be set up by your system administrator.</span> + </li> + </ol> + </fieldset> + [% IF ( EnhancedMessagingPreferences ) %] + <fieldset class="rows"> + <h4>Default messaging preferences for this patron category</h4> + [% INCLUDE 'messaging-preference-form.inc' %] + </fieldset> + [% END %] + <fieldset class="action"><input type="button" value="Save" onclick="Check(this.form);" /> </fieldset> + </form> [% END %] -[% IF ( delete_confirm ) %] - <form action="[% script_name %]" method="post"> +[% IF op == 'delete_confirm' %] + <form action="/cgi-bin/koha/admin/categorie.pl" method="post"> <fieldset> <legend> - [% IF ( patrons_in_category > 0 ) %] + [% IF patrons_in_category > 0 %] Category [% categorycode |html %] is in use. Deletion not possible! [% ELSE %] Confirm deletion of category [% categorycode |html %] [% END %] </legend> -[% IF ( totalgtzero ) %]<div class="dialog alert"><strong>This category is used [% total %] times</strong>. Deletion not possible</div>[% END %] - <table> - <tr><th scope="row">Category code: </th><td>[% categorycode |html %]</td></tr> - <tr><th scope="row">Description: </th><td>[% description |html %]</td></tr> - <tr><th scope="row">Enrollment period: </th> - <td> - [% IF ( enrolmentperiod ) %] - [% enrolmentperiod %] months - [% ELSE %] - until [% enrolmentperioddate | $KohaDates %] - [% END %] - </td> - </tr> - <tr><th scope="row">Age required: </th><td>[% dateofbirthrequired %] years</td></tr> - <tr><th scope="row">Upperage limit: </th><td>[% upperagelimit %] years</td></tr> - <tr><th scope="row">Enrollment fee: </th><td>[% enrolmentfee %]</td></tr> - <tr><th scope="row">Receives overdue notices: </th><td>[% IF ( overduenoticerequired ) %]Yes[% ELSE %]No[% END %]</td></tr> - <tr><th scope="row">Lost items in staff client</th><td>[% IF ( hidelostitems ) %]Hidden by default[% ELSE %]Shown[% END %]</td></tr> - <tr><th scope="row">Hold fee: </th><td>[% reservefee %]</td></tr> - <tr> - <th scope="row">Default privacy: </th> - <td> - [% SWITCH category.default_privacy %] - [% CASE 'default' %] - Default - [% CASE 'never' %] - Never - [% CASE 'forever' %] - Forever + [% IF patrons_in_category > 0 %] + <div class="dialog alert"> + <strong>This category is used [% patrons_in_category %] times</strong>. Deletion not possible + </div> [% END %] - </td> - </tr> -</table> - <fieldset class="action">[% IF ( totalgtzero ) %] -<input type="submit" value="OK" /></form> - [% ELSE %] - <input type="hidden" name="op" value="delete_confirmed" /> - <input type="hidden" name="categorycode" value="[% categorycode |html %]" /> <input type="submit" value="Delete this category" /> <a class="cancel" href="/cgi-bin/koha/admin/categorie.pl">Cancel</a> - [% END %]</fieldset></fieldset></form> + <table> + <tr><th scope="row">Category code: </th><td>[% category.categorycode |html %]</td></tr> + <tr><th scope="row">Description: </th><td>[% category.description |html %]</td></tr> + <tr><th scope="row">Enrollment period: </th> + <td> + [% IF category.enrolmentperiod %] + [% category.enrolmentperiod %] months + [% ELSE %] + until [% category.enrolmentperioddate | $KohaDates %] + [% END %] + </td> + </tr> + <tr><th scope="row">Age required: </th><td>[% category.dateofbirthrequired %] years</td></tr> + <tr><th scope="row">Upperage limit: </th><td>[% category.upperagelimit %] years</td></tr> + <tr><th scope="row">Enrollment fee: </th><td>[% category.enrolmentfee | $Price %]</td></tr> + <tr><th scope="row">Receives overdue notices: </th><td>[% IF category. overduenoticerequired %]Yes[% ELSE %]No[% END %]</td></tr> + <tr><th scope="row">Lost items in staff client</th><td>[% IF category.hidelostitems %]Hidden by default[% ELSE %]Shown[% END %]</td></tr> + <tr><th scope="row">Hold fee: </th><td>[% category.reservefee | $Price %]</td></tr> + <tr> + <th scope="row">Default privacy: </th> + <td> + [% SWITCH category.default_privacy %] + [% CASE 'default' %] + Default + [% CASE 'never' %] + Never + [% CASE 'forever' %] + Forever + [% END %] + </td> + </tr> + </table> + <fieldset class="action"> + [% IF patrons_in_category > 0 %] + <input type="submit" value="OK" /> + [% ELSE %] + <input type="hidden" name="op" value="delete_confirmed" /> + <input type="hidden" name="categorycode" value="[% categorycode |html %]" /> + <input type="submit" value="Delete this category" /> + <a class="cancel" href="/cgi-bin/koha/admin/categorie.pl">Cancel</a> + [% END %] + </fieldset> + </fieldset> + </form> [% END %] -[% IF ( else ) %] +[% IF op == 'list' %] -<div id="toolbar" class="btn-toolbar"> - <a class="btn btn-small" id="newcategory" href="/cgi-bin/koha/admin/categorie.pl?op=add_form"><i class="fa fa-plus"></i> New category</a> -</div> + <div id="toolbar" class="btn-toolbar"> + <a class="btn btn-small" id="newcategory" href="/cgi-bin/koha/admin/categorie.pl?op=add_form"><i class="fa fa-plus"></i> New category</a> + </div> -<h2>Patron category administration</h2> -[% IF ( searchfield ) %] - You Searched for [% searchfield %]</span> - [% END %] -[% IF ( loop ) %] -<div id="pagertable_categorie"> -</div> + <h2>Patron category administration</h2> + [% IF searchfield %] + You Searched for [% searchfield %]</span> + [% END %] + [% IF categories%] <table id="table_categorie"> - <thead> - <tr> - <th scope="col">Code</th> - <th scope="col">Category name</th> - <th scope="col">Type</th> - <th scope="col">Enrollment period</th> - <th scope="col">Age required</th> - <th scope="col">Upper age limit</th> - <th scope="col">Enrollment fee</th> - <th scope="col">Overdue</th> - <th scope="col">Lost items</th> - <th scope="col">Hold fee</th> - [% IF ( EnhancedMessagingPreferences ) %] - <th scope="col">Messaging</th> - [% END %] - <th scope="col">Branches limitations</th> - <th scope="col">Default privacy</th> - <th scope="col"> </th> - <th scope="col"> </th> - </tr> - </thead> - <tbody> - [% FOREACH loo IN loop %] - <tr> - <td>[% loo.categorycode |html %]</td> + <thead> + <tr> + <th scope="col">Code</th> + <th scope="col">Category name</th> + <th scope="col">Type</th> + <th scope="col">Enrollment period</th> + <th scope="col">Age required</th> + <th scope="col">Upper age limit</th> + <th scope="col">Enrollment fee</th> + <th scope="col">Overdue</th> + <th scope="col">Lost items</th> + <th scope="col">Hold fee</th> + [% IF ( EnhancedMessagingPreferences ) %] + <th scope="col">Messaging</th> + [% END %] + <th scope="col">Branches limitations</th> + <th scope="col">Default privacy</th> + <th scope="col"> </th> + <th scope="col"> </th> + </tr> + </thead> + <tbody> + [% FOREACH category IN categories %] + <tr> + <td>[% category.categorycode |html %]</td> <td> - <a href="[% loo.script_name %]?op=add_form&categorycode=[% loo.categorycode |uri %]">[% loo.description |html %]</a> + <a href="/cgi-bin/koha/admin/categorie.pl?op=add_form&categorycode=[% category.categorycode |uri %]">[% category.description |html %]</a> </td> <td> - [% IF ( loo.type_A ) %]Adult[% END %] - [% IF ( loo.type_C ) %]Child[% END %] - [% IF ( loo.type_P ) %]Prof.[% END %] - [% IF ( loo.type_I ) %]Org.[% END %] - [% IF ( loo.type_S ) %]Staff[% END %] - [% IF ( loo.type_X ) %]Statistical[% END %] + [% SWITCH category.category_type %] + [% CASE 'A' %]Adult + [% CASE 'C' %]Child + [% CASE 'P' %]Prof. + [% CASE 'I' %]Org. + [% CASE 'S' %]Staff + [% CASE 'X' %]Statistical + [% END %] </td> <td> - [% IF ( loo.enrolmentperiod ) %] - [% loo.enrolmentperiod %] months - [% ELSE %] - until [% loo.enrolmentperioddate | $KohaDates %] - [% END %] - - </td> - <td>[% loo.dateofbirthrequired %] years</td> - <td>[% loo.upperagelimit %] years</td> - <td>[% loo.enrolmentfee %]</td> - <td>[% IF ( loo.overduenoticerequired ) %]Yes[% ELSE %]No[% END %]</td> - <td>[% IF ( loo.hidelostitems ) %]Hidden[% ELSE %]Shown[% END %]</td> - <td>[% loo.reservefee %]</td> - [% IF ( EnhancedMessagingPreferences ) %] - <td style="white-space: nowrap; font-size:80%;"> - [% IF ( loo.messaging_prefs ) %] - [% FOREACH prefs IN loo.messaging_prefs %] - [% FOREACH transport IN prefs.transports %] - [% IF ( transport.transport ) %] - [% IF ( prefs.Item_Due ) %]Item due - [% ELSIF ( prefs.Advance_Notice ) %]Advance notice - [% ELSIF ( prefs.Upcoming_Events ) %]Upcoming events - [% ELSIF ( prefs.Hold_Filled ) %]Hold filled - [% ELSIF ( prefs.Item_Check_in ) %]Item check-in - [% ELSIF ( prefs.Item_Checkout ) %]Item checkout - [% ELSE %]Unknown - [% END %]: - <strong>[% transport.transport %]</strong><br /> - [% ELSE %]None<br />[% END %] - [% END %] - [% END %] + [% IF ( category.enrolmentperiod ) %] + [% category.enrolmentperiod %] months [% ELSE %] - None + until [% category.enrolmentperioddate | $KohaDates %] [% END %] </td> + <td>[% category.dateofbirthrequired %] years</td> + <td>[% category.upperagelimit %] years</td> + <td>[% category.enrolmentfee | $Price %]</td> + <td>[% IF ( category.overduenoticerequired ) %]Yes[% ELSE %]No[% END %]</td> + <td>[% IF ( category.hidelostitems ) %]Hidden[% ELSE %]Shown[% END %]</td> + <td>[% category.reservefee | $Price %]</td> + [% IF Koha.Preference('EnhancedMessagingPreferences') %] + <td style="white-space: nowrap; font-size:80%;"> + [% SET default_messaging = category.default_messaging %] + [% IF default_messaging.size %] + [% FOREACH prefs IN default_messaging %] + [% FOREACH transport IN prefs.transports %] + [% IF ( transport.transport ) %] + [% IF ( prefs.Item_Due ) %]Item due + [% ELSIF ( prefs.Advance_Notice ) %]Advance notice + [% ELSIF ( prefs.Upcoming_Events ) %]Upcoming events + [% ELSIF ( prefs.Hold_Filled ) %]Hold filled + [% ELSIF ( prefs.Item_Check_in ) %]Item check-in + [% ELSIF ( prefs.Item_Checkout ) %]Item checkout + [% ELSE %]Unknown + [% END %]: + <strong>[% transport.transport %]</strong><br /> + [% ELSE %]None<br />[% END %] + [% END %] + [% END %] + [% ELSE %] + None + [% END %] + </td> [% END %] <td> - [% IF loo.branches.size > 0 %] + [% SET branch_limitations = category.branch_limitations %] + [% IF branch_limitations.size > 0 %] [% branches_str = "" %] - [% FOREACH branch IN loo.branches %] + [% FOREACH branch IN branch_limitations %] [% branches_str = branches_str _ " " _ branch.branchname _ "(" _ branch.branchcode _ ")" %] [% END %] <span title="[% branches_str %]"> - [% IF loo.branches.size > 1 %] - [% loo.branches.size %] branches limitations + [% IF branch_limitations.size > 1 %] + [% branch_limitations.size %] branches limitations [% ELSE %] - [% loo.branches.size %] branch limitation + [% branch_limitations.size %] branch limitation [% END %] </span> [% ELSE %] @@ -426,7 +471,7 @@ [% END %] </td> <td> - [% SWITCH loo.default_privacy %] + [% SWITCH category.default_privacy %] [% CASE 'default' %] Default [% CASE 'never' %] @@ -435,15 +480,15 @@ Forever [% END %] </td> - <td><a href="[% loo.script_name %]?op=add_form&categorycode=[% loo.categorycode |uri %]">Edit</a></td> - <td><a href="[% loo.script_name %]?op=delete_confirm&categorycode=[% loo.categorycode |uri %]">Delete</a></td> - </tr> - [% END %] - </tbody> - </table> -[% ELSE %] - <div class="dialog alert">No categories have been defined. <a href="/cgi-bin/koha/admin/categorie.pl?op=add_form">Create a new category</a>.</div> -[% END %] + <td><a href="/cgi-bin/koha/admin/categorie.pl?op=add_form&categorycode=[% category.categorycode |uri %]">Edit</a></td> + <td><a href="/cgi-bin/koha/admin/categorie.pl?op=delete_confirm&categorycode=[% category.categorycode |uri %]">Delete</a></td> + </tr> + [% END %] + </tbody> + </table> + [% ELSE %] + <div class="dialog alert">No categories have been defined. <a href="/cgi-bin/koha/admin/categorie.pl?op=add_form">Create a new category</a>.</div> + [% END %] [% END %] </div> -- 1.7.2.5