X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=admin%2Fitemtypes.pl;h=44e9ad5445949e6dfbd8041918a8e9a4d1233b4d;hb=22865246926bf032cc3aa4a918a68bf467896dd7;hp=17ec3dc3542fa498d518fc6069f7c3f624df128a;hpb=3fca44b65dfb4bc03b17df41101db52ddb52da39;p=koha-ffzg.git diff --git a/admin/itemtypes.pl b/admin/itemtypes.pl index 17ec3dc354..44e9ad5445 100755 --- a/admin/itemtypes.pl +++ b/admin/itemtypes.pl @@ -25,17 +25,16 @@ use Modern::Perl; use CGI qw ( -utf8 ); -use File::Spec; -use C4::Koha; +use C4::Koha qw( getImageSets GetAuthorisedValues ); use C4::Context; -use C4::Auth; -use C4::Output; +use C4::Auth qw( get_template_and_user ); +use C4::Output qw( output_html_with_http_headers ); use Koha::ItemTypes; use Koha::ItemType; use Koha::Localizations; -my $input = new CGI; +my $input = CGI->new; my $searchfield = $input->param('description'); my $itemtype_code = $input->param('itemtype'); my $op = $input->param('op') // 'list'; @@ -45,9 +44,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user( { template_name => "admin/itemtypes.tt", query => $input, type => "intranet", - authnotrequired => 0, flagsrequired => { parameters => 'manage_itemtypes' }, - debug => 1, } ); @@ -59,31 +56,24 @@ undef($sip_media_type) if defined($sip_media_type) and $sip_media_type =~ /^\s*$ if ( $op eq 'add_form' ) { my $itemtype = Koha::ItemTypes->find($itemtype_code); - my $selected_branches = $itemtype->get_library_limits; - my $branches = Koha::Libraries->search( {}, { order_by => ['branchname'] } )->unblessed; - my @branches_loop; - foreach my $branch ( @$branches ) { - my $selected = ($selected_branches && grep {$_->branchcode eq $branch->{branchcode}} @{ $selected_branches->as_list } ) ? 1 : 0; - push @branches_loop, { - branchcode => $branch->{branchcode}, - branchname => $branch->{branchname}, - selected => $selected, - }; - } - + my $parent_type = $itemtype ? $itemtype->parent_type : undef; + my $parent_types = Koha::ItemTypes->search({parent_type=>undef,itemtype => {'!='=>$itemtype_code}}); my $imagesets = C4::Koha::getImageSets( checked => ( $itemtype ? $itemtype->imageurl : undef ) ); my $searchcategory = GetAuthorisedValues("ITEMTYPECAT"); - my $translated_languages = C4::Languages::getTranslatedLanguages( undef , C4::Context->preference('template') ); + my $translated_languages = C4::Languages::getTranslatedLanguages( "both", C4::Context->preference('template') ); $template->param( itemtype => $itemtype, + parent_type => $parent_type, + parent_types => $parent_types, + is_a_parent => $itemtype ? Koha::ItemTypes->search({parent_type=>$itemtype_code})->count : 0, imagesets => $imagesets, searchcategory => $searchcategory, can_be_translated => ( scalar(@$translated_languages) > 1 ? 1 : 0 ), - branches_loop => \@branches_loop, ); } elsif ( $op eq 'add_validate' ) { my $is_a_modif = $input->param('is_a_modif'); my $itemtype = Koha::ItemTypes->find($itemtype_code); + my $parent_type = $input->param('parent_type') || undef; my $description = $input->param('description'); my $rentalcharge = $input->param('rentalcharge'); my $rentalcharge_daily = $input->param('rentalcharge_daily'); @@ -105,9 +95,13 @@ if ( $op eq 'add_form' ) { my $checkinmsgtype = $input->param('checkinmsgtype'); my $hideinopac = $input->param('hideinopac') // 0; my $searchcategory = $input->param('searchcategory'); + my $rentalcharge_daily_calendar = $input->param('rentalcharge_daily_calendar') // 0; + my $rentalcharge_hourly_calendar = $input->param('rentalcharge_hourly_calendar') // 0; + my $automatic_checkin = $input->param('automatic_checkin') // 0; if ( $itemtype and $is_a_modif ) { # it's a modification $itemtype->description($description); + $itemtype->parent_type($parent_type); $itemtype->rentalcharge($rentalcharge); $itemtype->rentalcharge_daily($rentalcharge_daily); $itemtype->rentalcharge_hourly($rentalcharge_hourly); @@ -121,6 +115,9 @@ if ( $op eq 'add_form' ) { $itemtype->sip_media_type($sip_media_type); $itemtype->hideinopac($hideinopac); $itemtype->searchcategory($searchcategory); + $itemtype->rentalcharge_daily_calendar($rentalcharge_daily_calendar); + $itemtype->rentalcharge_hourly_calendar($rentalcharge_hourly_calendar); + $itemtype->automatic_checkin($automatic_checkin); eval { $itemtype->store; @@ -137,6 +134,7 @@ if ( $op eq 'add_form' ) { { itemtype => $itemtype_code, description => $description, + parent_type => $parent_type, rentalcharge => $rentalcharge, rentalcharge_daily => $rentalcharge_daily, rentalcharge_hourly => $rentalcharge_hourly, @@ -150,6 +148,9 @@ if ( $op eq 'add_form' ) { sip_media_type => $sip_media_type, hideinopac => $hideinopac, searchcategory => $searchcategory, + rentalcharge_daily_calendar => $rentalcharge_daily_calendar, + rentalcharge_hourly_calendar => $rentalcharge_hourly_calendar, + automatic_checkin => $automatic_checkin, } ); eval { @@ -196,9 +197,8 @@ if ( $op eq 'add_form' ) { } if ( $op eq 'list' ) { - my $itemtypes = Koha::ItemTypes->search; $template->param( - itemtypes => $itemtypes, + itemtypes => Koha::ItemTypes->search, messages => \@messages, ); }