Bugzilla – Attachment 44059 Details for
Bug 14836
Move the patron categories related code to Koha::Patron::Categories - part 1
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 14836: Use Koha::PatronCategor[y|ies] in admin/categories.pl
Bug-14836-Use-KohaPatronCategoryies-in-admincatego.patch (text/plain), 61.15 KB, created by
Frédéric Demians
on 2015-10-27 11:37:48 UTC
(
hide
)
Description:
Bug 14836: Use Koha::PatronCategor[y|ies] in admin/categories.pl
Filename:
MIME Type:
Creator:
Frédéric Demians
Created:
2015-10-27 11:37:48 UTC
Size:
61.15 KB
patch
obsolete
>From 935a4602b7280a73dff93e59f838b002182eaf28 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] 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 >--- > admin/categorie.pl | 408 ++++---------- > .../prog/en/includes/messaging-preference-form.inc | 9 +- > .../prog/en/modules/admin/categorie.tt | 603 +++++++++++---------- > 3 files changed, 431 insertions(+), 589 deletions(-) > >diff --git a/admin/categorie.pl b/admin/categorie.pl >index 27e95cb..c80c83a 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. > # >@@ -42,37 +25,17 @@ use C4::Context; > use C4::Auth; > use C4::Branch; > use C4::Output; >-use C4::Dates; > use C4::Form::MessagingPreferences; >-use Koha::Database; >- >-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::Borrowers; >+use Koha::Database; >+use Koha::DateUtils; >+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,179 +49,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') ) { >- $input->param( >- 'enrolmentperioddate' => C4::Dates::format_date_in_iso( >- $input->param('enrolmentperioddate') >- ) >- ); >+ 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' }; > } > } > >@@ -269,153 +160,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); >+ my $category = Koha::PatronCategories->find($categorycode); > >- $category->enrolmentperioddate( >- C4::Dates::format_date( $category->enrolmentperioddate() ) ); >- >- $template->param( category => $category, patrons_in_category => $count ); >+ $template->param( >+ 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 $category = Koha::PatronCategories->find( $categorycode ); >+ my $deleted = eval { $category->delete; }; > >- my $deleted = $sth->execute($categorycode); >- >- 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 $categories = Koha::PatronCategories->search( >+ { >+ description => { -like => "$searchfield%" } >+ }, >+ { >+ order_by => ['category_type', 'description', 'categorycode' ] > } >+ ); > >- 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; >- } >- 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 722c2e9..4dfadf5 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 icon-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 92a6a28..6733585 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 KohaDates -%] >+[% 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="icon-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="icon-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> >-- >2.6.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 14836
:
42616
|
42617
|
44059
|
44060
|
44061
|
44139
|
44140
|
44141
|
44142
|
44250
|
44251
|
44252
|
44253
|
44254
|
44255
|
44519