X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=admin%2Fbranches.pl;h=9e6b14a0a40746a25a2f7208b56b63c187274657;hb=9c5e40e4923179bf0b2b630d3e09797dc4c1fdb0;hp=f4bcf661ad3e631c4f52c62d7c971424b07bd65c;hpb=2c470899b3f0191b9597d713e895b9240fe1d137;p=koha.git diff --git a/admin/branches.pl b/admin/branches.pl index f4bcf661ad..9e6b14a0a4 100755 --- a/admin/branches.pl +++ b/admin/branches.pl @@ -63,7 +63,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user( query => $input, type => "intranet", authnotrequired => 0, - flagsrequired => { parameters => 1}, + flagsrequired => { parameters => 'parameters_remaining_permissions'}, debug => 1, } ); @@ -168,6 +168,8 @@ elsif ( $op eq 'addcategory_validate' ) { $template->param( else => 1 ); # confirm settings change... my $params = $input->Vars; + $params->{'show_in_pulldown'} = ( $params->{'show_in_pulldown'} eq 'on' ) ? 1 : 0; + unless ( $params->{'categorycode'} && $params->{'categoryname'} ) { default("MESSAGE4",$template); } @@ -189,12 +191,10 @@ elsif ( $op eq 'addcategory_validate' ) { elsif ( $op eq 'delete_category' ) { # if the user has pressed the "delete branch" button. - my $message = "MESSAGE8" if CheckBranchCategorycode($categorycode); - if ($message) { + if ( CheckBranchCategorycode($categorycode) ) { $template->param( else => 1 ); - default($message,$template); - } - else { + default( 'MESSAGE8', $template ); + } else { $template->param( delete_category => 1 ); $template->param( categorycode => $categorycode ); } @@ -234,14 +234,31 @@ sub editbranchform { my $data; my $oldprinter = ""; + + # make the checkboxes..... + my $catinfo = GetBranchCategories(); + if ($branchcode) { $data = GetBranchInfo($branchcode); $data = $data->[0]; + if ( exists $data->{categories} ) { + # Set the selected flag for the categories of this branch + $catinfo = [ + map { + my $catcode = $_->{categorycode}; + if ( grep {/$catcode/} @{$data->{categories}} ){ + $_->{selected} = 1; + } + $_; + } @{$catinfo} + ]; + } # get the old printer of the branch $oldprinter = $data->{'branchprinter'} || ''; _branch_to_template($data, $innertemplate); } + $innertemplate->param( categoryloop => $catinfo ); foreach my $thisprinter ( keys %$printers ) { push @printerloop, { @@ -252,29 +269,6 @@ sub editbranchform { } $innertemplate->param( printerloop => \@printerloop ); - # make the checkboxes..... - # - # We export a "categoryloop" array to the template, each element of which - # contains separate 'categoryname', 'categorycode', 'codedescription', and - # 'checked' fields. The $checked field is either '' or 'checked="checked"' - - my $catinfo = GetBranchCategory(); - my @categoryloop = (); - foreach my $cat (@$catinfo) { - my $checked = ""; - my $tmp = quotemeta( $cat->{'categorycode'} ); - if ( grep { /^$tmp$/ } @{ $data->{'categories'} } ) { - $checked = "checked=\"checked\""; - } - push @categoryloop, { - categoryname => $cat->{'categoryname'}, - categorycode => $cat->{'categorycode'}, - categorytype => $cat->{'categorytype'}, - codedescription => $cat->{'codedescription'}, - checked => $checked, - }; - } - $innertemplate->param( categoryloop => \@categoryloop ); for my $obsolete ( 'categoryname', 'categorycode', 'codedescription' ) { $innertemplate->param( @@ -291,11 +285,11 @@ sub editcatform { my $data; if ($categorycode) { my $data = GetBranchCategory($categorycode); - $data = $data->[0]; $innertemplate->param( categorycode => $data->{'categorycode'}, categoryname => $data->{'categoryname'}, codedescription => $data->{'codedescription'}, + show_in_pulldown => $data->{'show_in_pulldown'}, ); } for my $ctype (GetCategoryTypes()) { @@ -330,6 +324,7 @@ sub branchinfotable { # - branchfax | # - branchemail / # - branchurl / + # - opac_info (can contain HTML) # - address-empty-p (1 if no address information, 0 otherwise) # - categories (containing a static error message) # - category_list (loop containing "categoryname") @@ -343,9 +338,9 @@ sub branchinfotable { for my $field ( 'branchaddress1', 'branchaddress2', 'branchaddress3', 'branchzip', - 'branchcity', 'branchcountry', + 'branchcity', 'branchstate', 'branchcountry', 'branchphone', 'branchfax', - 'branchemail', 'branchurl', + 'branchemail', 'branchurl', 'opac_info', 'branchip', 'branchprinter', 'branchnotes' ) { @@ -358,7 +353,7 @@ sub branchinfotable { my $no_categories_p = 1; my @categories; foreach my $cat ( @{ $branch->{'categories'} } ) { - my ($catinfo) = @{ GetBranchCategory($cat) }; + my $catinfo = GetBranchCategory($cat); push @categories, { 'categoryname' => $catinfo->{'categoryname'} }; $no_categories_p = 0; } @@ -373,8 +368,8 @@ sub branchinfotable { } my @branchcategories = (); for my $ctype ( GetCategoryTypes() ) { - my $catinfo = GetBranchCategories(undef,$ctype); - my @categories; + my $catinfo = GetBranchCategories($ctype); + my @categories; foreach my $cat (@$catinfo) { push @categories, { categoryname => $cat->{'categoryname'}, @@ -383,7 +378,7 @@ sub branchinfotable { categorytype => $cat->{'categorytype'}, }; } - push @branchcategories, { categorytype => $ctype , $ctype => 1 , catloop => \@categories}; + push @branchcategories, { categorytype => $ctype , $ctype => 1 , catloop => ( @categories ? \@categories : undef) }; } $innertemplate->param( branches => \@loop_data, @@ -402,11 +397,13 @@ sub _branch_to_template { branchaddress3 => $data->{'branchaddress3'}, branchzip => $data->{'branchzip'}, branchcity => $data->{'branchcity'}, + branchstate => $data->{'branchstate'}, branchcountry => $data->{'branchcountry'}, branchphone => $data->{'branchphone'}, branchfax => $data->{'branchfax'}, branchemail => $data->{'branchemail'}, branchurl => $data->{'branchurl'}, + opac_info => $data->{'opac_info'}, branchip => $data->{'branchip'}, branchnotes => $data->{'branchnotes'}, );