X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=admin%2Flibrary_groups.pl;h=5284a881f4850ef0a8801ead80d5abdc01a3889a;hb=2be3e079708e5beb0453e3534a9098af710cb3e5;hp=c540948b895d2cc1953d5d8023857e279e13ced0;hpb=f32cdb7211705a0950e98897820f3a4a7bc52cd8;p=koha-ffzg.git diff --git a/admin/library_groups.pl b/admin/library_groups.pl index c540948b89..5284a881f4 100755 --- a/admin/library_groups.pl +++ b/admin/library_groups.pl @@ -20,54 +20,71 @@ use Modern::Perl; use CGI qw ( -utf8 ); 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::Libraries; use Koha::Library::Group; use Koha::Library::Groups; -my $cgi = new CGI; +my $cgi = CGI->new; my ( $template, $loggedinuser, $cookie ) = get_template_and_user( { template_name => "admin/library_groups.tt", query => $cgi, type => "intranet", - authnotrequired => 0, - flagsrequired => { parameters => 'parameters_remaining_permissions' }, - debug => 1, + flagsrequired => { parameters => 'manage_libraries' }, } ); my $action = $cgi->param('action') || q{}; +my @messages; if ( $action eq 'add' ) { my $parent_id = $cgi->param('parent_id') || undef; my $title = $cgi->param('title') || undef; my $description = $cgi->param('description') || undef; my $branchcode = $cgi->param('branchcode') || undef; + my $ft_hide_patron_info = $cgi->param('ft_hide_patron_info') || 0; + my $ft_search_groups_opac = $cgi->param('ft_search_groups_opac') || 0; + my $ft_search_groups_staff = $cgi->param('ft_search_groups_staff') || 0; + my $ft_local_hold_group = $cgi->param('ft_local_hold_group') || 0; if ( !$branchcode && Koha::Library::Groups->search( { title => $title } )->count() ) { $template->param( error_duplicate_title => $title ); } else { - my $group = Koha::Library::Group->new( - { - parent_id => $parent_id, - title => $title, - description => $description, - branchcode => $branchcode, - } - )->store(); - - $template->param( added => $group ); + my $group = eval { + Koha::Library::Group->new( + { + parent_id => $parent_id, + title => $title, + description => $description, + ft_hide_patron_info => $ft_hide_patron_info, + ft_search_groups_opac => $ft_search_groups_opac, + ft_search_groups_staff => $ft_search_groups_staff, + ft_local_hold_group => $ft_local_hold_group, + branchcode => $branchcode, + } + )->store(); + }; + if ($@) { + push @messages, { type => 'alert', code => 'error_on_insert' }; + } + else { + $template->param( added => $group ); + } } } elsif ( $action eq 'edit' ) { my $id = $cgi->param('id') || undef; my $title = $cgi->param('title') || undef; my $description = $cgi->param('description') || undef; + my $ft_hide_patron_info = $cgi->param('ft_hide_patron_info') || 0; + my $ft_search_groups_opac = $cgi->param('ft_search_groups_opac') || 0; + my $ft_search_groups_staff = $cgi->param('ft_search_groups_staff') || 0; + my $ft_local_hold_group = $cgi->param('ft_local_hold_group') || 0; if ($id) { my $group = Koha::Library::Groups->find($id); @@ -76,6 +93,10 @@ elsif ( $action eq 'edit' ) { { title => $title, description => $description, + ft_hide_patron_info => $ft_hide_patron_info, + ft_search_groups_opac => $ft_search_groups_opac, + ft_search_groups_staff => $ft_search_groups_staff, + ft_local_hold_group => $ft_local_hold_group, } )->store(); @@ -102,6 +123,6 @@ elsif ( $action eq 'delete' ) { my $root_groups = Koha::Library::Groups->get_root_groups(); -$template->param( root_groups => $root_groups, ); +$template->param( root_groups => $root_groups, messages => \@messages, ); output_html_with_http_headers $cgi, $cookie, $template->output;