Lines 55-64
my $schema = Koha::Database->new()->schema();
Link Here
|
55 |
# First process a confirmed delete, or save a validated record |
55 |
# First process a confirmed delete, or save a validated record |
56 |
|
56 |
|
57 |
if( $op eq 'delete_confirmed' && $id ) { |
57 |
if( $op eq 'delete_confirmed' && $id ) { |
58 |
my $rs=$schema->resultset('Z3950server')->search( { id => $id } ); |
58 |
my $server=$schema->resultset('Z3950server')->find( { id => $id } ); |
59 |
my $name= $rs->first?$rs->first->name:''; |
59 |
if( $server ) { |
60 |
my $cnt=$rs->delete; |
60 |
$server->delete; |
61 |
$template->param( msg_deleted => 1, msg_add => $name ) if $cnt==1; |
61 |
$template->param( msg_deleted => 1, msg_add => $server->name ); |
|
|
62 |
} else { |
63 |
$template->param( msg_notfound => 1, msg_add => $id ); |
64 |
} |
62 |
$id=0; |
65 |
$id=0; |
63 |
} elsif( $op eq 'add_validated' ) { |
66 |
} elsif( $op eq 'add_validated' ) { |
64 |
my @fields=qw/host port db userid password rank syntax encoding timeout |
67 |
my @fields=qw/host port db userid password rank syntax encoding timeout |
Lines 67-75
if( $op eq 'delete_confirmed' && $id ) {
Link Here
|
67 |
#add name from servername (an input with name="name" gave problems) |
70 |
#add name from servername (an input with name="name" gave problems) |
68 |
$formdata->{name} = $input->param('servername'); |
71 |
$formdata->{name} = $input->param('servername'); |
69 |
if( $id ) { |
72 |
if( $id ) { |
70 |
my @res= $schema->resultset('Z3950server')->search( { id => $id } ); |
73 |
my $server= $schema->resultset('Z3950server')->find( { id => $id } ); |
71 |
$res[0]->update( $formdata ); |
74 |
if( $server ) { |
72 |
$template->param( msg_updated => 1, msg_add => $formdata->{name} ); |
75 |
$server->update( $formdata ); |
|
|
76 |
$template->param( msg_updated => 1, msg_add => $formdata->{name} ); |
77 |
} else { |
78 |
$template->param( msg_notfound => 1, msg_add => $id ); |
79 |
} |
73 |
$id=0; |
80 |
$id=0; |
74 |
} else { |
81 |
} else { |
75 |
$schema->resultset('Z3950server')->create( $formdata ); |
82 |
$schema->resultset('Z3950server')->create( $formdata ); |
Lines 99-112
output_html_with_http_headers $input, $cookie, $template->output;
Link Here
|
99 |
|
106 |
|
100 |
sub ServerSearch { #find server(s) by id or name |
107 |
sub ServerSearch { #find server(s) by id or name |
101 |
my ( $schema, $id, $searchstring )= @_; |
108 |
my ( $schema, $id, $searchstring )= @_; |
102 |
my @resobjs= $schema->resultset('Z3950server')->search( |
109 |
my $rs = $schema->resultset('Z3950server')->search( |
103 |
$id ? { id => $id }: { name => { like => $searchstring.'%' } }, |
110 |
$id ? { id => $id }: { name => { like => $searchstring.'%' } }, |
104 |
{ order_by => 'rank,name' }, |
111 |
{ result_class => 'DBIx::Class::ResultClass::HashRefInflator' } |
105 |
); |
112 |
); |
106 |
return [ map { {$_->get_columns} } @resobjs ]; |
113 |
return [ $rs->all ]; |
107 |
} |
114 |
} |
108 |
|
115 |
|
109 |
sub _form_data_hashref { |
116 |
sub _form_data_hashref { |
110 |
my ( $input, $fieldref ) = @_; |
117 |
my ( $input, $fieldref ) = @_; |
111 |
return { map { ( $_ => $input->param($_) ) } @$fieldref }; |
118 |
return { map { ( $_ => $input->param($_)//'' ) } @$fieldref }; |
112 |
} |
119 |
} |