Bug 10363: Use Koha::AuthorisedValue[s] in the admin page

Now we have packages, we need use them in the pl script.

Test plan:
Verify there are no regression on addind/editing/deleting authorised
values.
Done forget to test the branch limitation.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
Jonathan Druart 2014-11-10 14:11:20 +01:00 committed by Tomas Cohen Arazi
parent 12c8242755
commit 64aa24d593
4 changed files with 206 additions and 270 deletions

View File

@ -23,7 +23,7 @@ use Carp;
use Koha::Database;
use Koha::Borrower;
use Koha::AuthorisedValue;
use base qw(Koha::Objects);
@ -46,27 +46,39 @@ my @objects = Koha::AuthorisedValues->search($params);
sub search {
my ( $self, $params ) = @_;
carp("No branchcode passed in for authorised values search!")
unless $params->{branchcode};
my $branchcode = $params->{branchcode};
delete( $params->{branchcode} );
my $rs = $self->_resultset()->search(
{
%$params,
-or => [
'authorised_values_branches.branchcode' => undef,
'authorised_values_branches.branchcode' => $branchcode,
],
},
{ join => 'authorised_values_branches' }
);
my $or =
$branchcode
? {
'-or' => [
'authorised_values_branches.branchcode' => undef,
'authorised_values_branches.branchcode' => $branchcode,
]
}
: {};
my $join = $branchcode ? { join => 'authorised_values_branches' } : {};
my $rs = $self->_resultset()
->search( { %$params, %$or, }, $join );
my $class = ref($self);
return wantarray ? $self->_wrap( $rs->all() ) : $class->new_from_dbic($rs);
}
sub categories {
my ( $self ) = @_;
my $rs = $self->_resultset->search(
undef,
{
select => ['category'],
distinct => 1,
order_by => 'category',
},
);
return map $_->get_column('category'), $rs->all;
}
=head3 type
=cut

View File

@ -17,8 +17,7 @@
# You should have received a copy of the GNU General Public License
# along with Koha; if not, see <http://www.gnu.org/licenses>.
use strict;
use warnings;
use Modern::Perl;
use CGI qw ( -utf8 );
use C4::Auth;
@ -27,31 +26,15 @@ use C4::Context;
use C4::Koha;
use C4::Output;
sub AuthorizedValuesForCategory {
my ($searchstring) = shift or return;
my $dbh = C4::Context->dbh;
$searchstring=~ s/\'/\\\'/g;
my @data=split(' ',$searchstring);
my $sth=$dbh->prepare('
SELECT id, category, authorised_value, lib, lib_opac, imageurl
FROM authorised_values
WHERE (category = ?)
ORDER BY category, authorised_value
');
$sth->execute("$data[0]");
return $sth->fetchall_arrayref({});
}
use Koha::AuthorisedValues;
my $input = new CGI;
my $id = $input->param('id');
my $op = $input->param('op') || '';
our $offset = $input->param('offset') || 0;
our $searchfield = $input->param('searchfield');
my $op = $input->param('op') || 'list';
my $searchfield = $input->param('searchfield');
$searchfield = '' unless defined $searchfield;
$searchfield =~ s/\,//g;
our $script_name = "/cgi-bin/koha/admin/authorised_values.pl";
our $dbh = C4::Context->dbh;
my @messages;
our ($template, $borrowernumber, $cookie)= get_template_and_user({
template_name => "admin/authorised_values.tt",
@ -62,31 +45,22 @@ our ($template, $borrowernumber, $cookie)= get_template_and_user({
debug => 1,
});
$template->param( script_name => $script_name,
($op||'else') => 1 );
################## ADD_FORM ##################################
# called by default. Used to create form to add or modify a record
if ($op eq 'add_form') {
my $data;
my @selected_branches;
if ($id) {
my $sth=$dbh->prepare("select id, category, authorised_value, lib, lib_opac, imageurl from authorised_values where id=?");
$sth->execute($id);
$data=$sth->fetchrow_hashref;
$sth = $dbh->prepare("SELECT b.branchcode, b.branchname FROM authorised_values_branches AS avb, branches AS b WHERE avb.branchcode = b.branchcode AND avb.av_id = ?;");
$sth->execute( $id );
while ( my $branch = $sth->fetchrow_hashref ) {
push @selected_branches, $branch;
}
} else {
$data->{'category'} = $input->param('category');
}
my ( $selected_branches, $category, $av );
if ($id) {
$av = Koha::AuthorisedValues->new->find( $id );
$selected_branches = $av->branch_limitations;
} else {
$category = $input->param('category');
}
my $branches = GetBranches;
my @branches_loop;
foreach my $branchcode ( sort { uc($branches->{$a}->{branchname}) cmp uc($branches->{$b}->{branchname}) } keys %$branches ) {
my $selected = ( grep {$_->{branchcode} eq $branchcode} @selected_branches ) ? 1 : 0;
my $selected = ( grep {$_->{branchcode} eq $branchcode} @$selected_branches ) ? 1 : 0;
push @branches_loop, {
branchcode => $branchcode,
branchname => $branches->{$branchcode}->{branchname},
@ -96,152 +70,104 @@ if ($op eq 'add_form') {
if ($id) {
$template->param(action_modify => 1);
$template->param('heading_modify_authorized_value_p' => 1);
} elsif ( ! $data->{'category'} ) {
} elsif ( ! $category ) {
$template->param(action_add_category => 1);
$template->param('heading_add_new_category_p' => 1);
} else {
$template->param(action_add_value => 1);
$template->param('heading_add_authorized_value_p' => 1);
}
$template->param('use_heading_flags_p' => 1);
$template->param( category => $data->{'category'},
authorised_value => $data->{'authorised_value'},
lib => $data->{'lib'},
lib_opac => $data->{'lib_opac'},
id => $data->{'id'},
imagesets => C4::Koha::getImageSets( checked => $data->{'imageurl'} ),
offset => $offset,
branches_loop => \@branches_loop,
);
################## ADD_VALIDATE ##################################
# called by add_form, used to insert/modify data in DB
} elsif ($op eq 'add_validate') {
if ( $av ) {
$template->param(
category => $av->category,
authorised_value => $av->authorised_value,
lib => $av->lib,
lib_opac => $av->lib_opac,
id => $av->id,
imagesets => C4::Koha::getImageSets( checked => $av->imageurl ),
);
} else {
$template->param(
category => $category,
imagesets => C4::Koha::getImageSets(),
);
}
$template->param(
branches_loop => \@branches_loop,
);
} elsif ($op eq 'add') {
my $new_authorised_value = $input->param('authorised_value');
my $new_category = $input->param('category');
my $imageurl = $input->param( 'imageurl' ) || '';
$imageurl = '' if $imageurl =~ /removeImage/;
$imageurl = '' if $imageurl =~ /removeImage/;
my $duplicate_entry = 0;
my @branches = $input->param('branches');
if ( $id ) { # Update
my $sth = $dbh->prepare( "SELECT category, authorised_value FROM authorised_values WHERE id = ? ");
$sth->execute($id);
my ($category, $authorised_value) = $sth->fetchrow_array();
if ( $authorised_value ne $new_authorised_value ) {
my $sth = $dbh->prepare_cached( "SELECT COUNT(*) FROM authorised_values " .
"WHERE category = ? AND authorised_value = ? and id <> ? ");
$sth->execute($new_category, $new_authorised_value, $id);
($duplicate_entry) = $sth->fetchrow_array();
}
unless ( $duplicate_entry ) {
my $sth=$dbh->prepare( 'UPDATE authorised_values
SET category = ?,
authorised_value = ?,
lib = ?,
lib_opac = ?,
imageurl = ?
WHERE id=?' );
my $lib = $input->param('lib');
my $lib_opac = $input->param('lib_opac');
undef $lib if ($lib eq ""); # to insert NULL instead of a blank string
undef $lib_opac if ($lib_opac eq ""); # to insert NULL instead of a blank string
$sth->execute($new_category, $new_authorised_value, $lib, $lib_opac, $imageurl, $id);
if ( @branches ) {
$sth = $dbh->prepare("DELETE FROM authorised_values_branches WHERE av_id = ?");
$sth->execute( $id );
$sth = $dbh->prepare(
"INSERT INTO authorised_values_branches
( av_id, branchcode )
VALUES ( ?, ? )"
);
for my $branchcode ( @branches ) {
next if not $branchcode;
$sth->execute($id, $branchcode);
}
}
$sth->finish;
print $input->redirect("/cgi-bin/koha/admin/authorised_values.pl?searchfield=$new_category&amp;offset=$offset");
exit;
my $av = Koha::AuthorisedValues->new->find( $id );
$av->lib( $input->param('lib') || undef );
$av->lib_opac( $input->param('lib_opac') || undef );
$av->category( $new_category );
$av->authorised_value( $new_authorised_value );
$av->imageurl( $imageurl );
eval{
$av->store;
$av->branch_limitations( \@branches );
};
if ( $@ ) {
push @messages, {type => 'error', code => 'error_on_update' };
} else {
push @messages, { type => 'message', code => 'success_on_update' };
}
}
else { # Insert
my $sth = $dbh->prepare_cached( "SELECT COUNT(*) FROM authorised_values " .
"WHERE category = ? AND authorised_value = ? ");
$sth->execute($new_category, $new_authorised_value);
($duplicate_entry) = $sth->fetchrow_array();
unless ( $duplicate_entry ) {
my $sth=$dbh->prepare( 'INSERT INTO authorised_values
( category, authorised_value, lib, lib_opac, imageurl )
values (?, ?, ?, ?, ?)' );
my $lib = $input->param('lib');
my $lib_opac = $input->param('lib_opac');
undef $lib if ($lib eq ""); # to insert NULL instead of a blank string
undef $lib_opac if ($lib_opac eq ""); # to insert NULL instead of a blank string
$sth->execute( $new_category, $new_authorised_value, $lib, $lib_opac, $imageurl );
$id = $dbh->{'mysql_insertid'};
if ( @branches ) {
$sth = $dbh->prepare(
"INSERT INTO authorised_values_branches
( av_id, branchcode )
VALUES ( ?, ? )"
);
for my $branchcode ( @branches ) {
next if not $branchcode;
$sth->execute($id, $branchcode);
}
}
my $category = $input->param('category');
print $input->redirect("/cgi-bin/koha/admin/authorised_values.pl?searchfield=$category&amp;offset=$offset");
exit;
my $av = Koha::AuthorisedValue->new( {
category => $new_category,
authorised_value => $new_authorised_value,
lib => $input->param('lib') || undef,
lib_opac => $input->param('lib_opac') || undef,
imageurl => $imageurl,
} );
eval {
$av->store;
$av->branch_limitations( \@branches );
};
if ( $@ ) {
push @messages, {type => 'error', code => 'error_on_insert' };
} else {
push @messages, { type => 'message', code => 'success_on_insert' };
}
}
if ( $duplicate_entry ) {
$template->param(duplicate_category => $new_category,
duplicate_value => $new_authorised_value,
else => 1);
default_form();
}
################## DELETE_CONFIRM ##################################
# called by default form, used to confirm deletion of data in DB
} elsif ($op eq 'delete_confirm') {
my $sth=$dbh->prepare("select category,authorised_value,lib,lib_opac from authorised_values where id=?");
$sth->execute($id);
my $data=$sth->fetchrow_hashref;
$id = $input->param('id') unless $id;
$template->param(searchfield => $searchfield,
Tlib => $data->{'lib'},
Tlib_opac => $data->{'lib_opac'},
Tvalue => $data->{'authorised_value'},
id =>$id,
);
# 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') {
my $id = $input->param('id');
my $sth=$dbh->prepare("delete from authorised_values where id=?");
$sth->execute($id);
print $input->redirect("/cgi-bin/koha/admin/authorised_values.pl?searchfield=$searchfield&amp;offset=$offset");
exit;
# END $OP eq DELETE_CONFIRMED
################## DEFAULT ##################################
} else { # DEFAULT
default_form();
} #---- END $OP eq DEFAULT
output_html_with_http_headers $input, $cookie, $template->output;
$op = 'list';
$searchfield = $new_category;
} elsif ($op eq 'delete') {
my $av = Koha::AuthorisedValues->new->find( $input->param('id') );
my $deleted = eval {$av->delete};
if ( $@ or not $deleted ) {
push @messages, {type => 'error', code => 'error_on_delete' };
} else {
push @messages, { type => 'message', code => 'success_on_delete' };
}
exit 0;
$op = 'list';
$template->param( delete_success => 1 );
}
sub default_form {
$template->param(
op => $op,
searchfield => $searchfield,
messages => \@messages,
);
if ( $op eq 'list' ) {
# build categories list
my $category_list = C4::Koha::GetAuthorisedValueCategories();
my @category_list = @{$category_list};
my @categories = Koha::AuthorisedValues->new->categories;
my @category_list;
my %categories; # a hash, to check that some hardcoded categories exist.
for my $category ( @category_list ) {
for my $category ( @categories ) {
push( @category_list, $category );
$categories{$category} = 1;
}
@ -250,42 +176,31 @@ sub default_form {
push @category_list, $_ unless $categories{$_};
}
#reorder the list
@category_list = sort {lc($a) cmp lc($b)} @category_list;
if (!$searchfield) {
$searchfield=$category_list[0];
}
my $tab_list = {
values => \@category_list,
default => $searchfield,
};
my ($results) = AuthorizedValuesForCategory($searchfield);
my $count = scalar(@$results);
my @loop_data = ();
# builds value list
my $sth = $dbh->prepare("SELECT b.branchcode, b.branchname FROM authorised_values_branches AS avb, branches AS b WHERE avb.branchcode = b.branchcode AND avb.av_id = ?");
for (my $i=0; $i < $count; $i++){
$sth->execute( $results->[$i]{id} );
my @selected_branches;
while ( my $branch = $sth->fetchrow_hashref ) {
push @selected_branches, $branch;
}
my %row_data; # get a fresh hash for the row data
$row_data{category} = $results->[$i]{'category'};
$row_data{authorised_value} = $results->[$i]{'authorised_value'};
$row_data{lib} = $results->[$i]{'lib'};
$row_data{lib_opac} = $results->[$i]{'lib_opac'};
$row_data{imageurl} = getitemtypeimagelocation( 'intranet', $results->[$i]{'imageurl'} );
$row_data{edit} = "$script_name?op=add_form&amp;id=".$results->[$i]{'id'}."&amp;offset=$offset";
$row_data{delete} = "$script_name?op=delete_confirm&amp;searchfield=$searchfield&amp;id=".$results->[$i]{'id'}."&amp;offset=$offset";
$row_data{branches} = \@selected_branches;
push(@loop_data, \%row_data);
}
#reorder the list
@category_list = sort {$a cmp $b} @category_list;
$searchfield ||= $category_list[0];
my @avs_by_category = Koha::AuthorisedValues->new->search( { category => $searchfield } );
my @loop_data = ();
# builds value list
for my $av ( @avs_by_category ) {
my %row_data; # get a fresh hash for the row data
$row_data{category} = $av->category;
$row_data{authorised_value} = $av->authorised_value;
$row_data{lib} = $av->lib;
$row_data{lib_opac} = $av->lib_opac;
$row_data{imageurl} = getitemtypeimagelocation( 'intranet', $av->imageurl );
$row_data{branches} = $av->branch_limitations;
$row_data{id} = $av->id;
push(@loop_data, \%row_data);
}
$template->param(
loop => \@loop_data,
tab_list => $tab_list,
category => $searchfield,
loop => \@loop_data,
category => $searchfield,
categories => \@category_list,
);
}
}
output_html_with_http_headers $input, $cookie, $template->output;

View File

@ -1,9 +1,11 @@
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Administration &rsaquo; Authorized values [% IF ( add_form ) %] &rsaquo; [% IF ( action_modify ) %]Modify authorized value[% END %]
[% IF ( action_add_value ) %] &rsaquo; New authorized value[% END %]
[% IF ( action_add_category ) %] &rsaquo; New category[% END %][% END %]
[% IF ( delete_confirm ) %] &rsaquo; Confirm deletion[% END %]
[% IF ( else ) %]Authorized values[% END %]</title>
<title>Koha &rsaquo; Administration &rsaquo; Authorized values
[% IF op == 'add_form' %]
[% IF ( action_modify ) %] &rsaquo; Modify authorized value[% END %]
[% IF ( action_add_value ) %] &rsaquo; New authorized value[% END %]
[% IF ( action_add_category ) %] &rsaquo; New category[% END %]
[% END %]
</title>
[% INCLUDE 'doc-head-close.inc' %]
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
@ -23,11 +25,15 @@
$("#branches option:first").attr("selected", "selected");
}
$('#icons').tabs();
$("a.delete").click(function(){
return confirm(_("Are you sure you want to delete this authorised value?"));
});
});
//]]>
</script>
[% IF ( else ) %]
[% IF op == 'list' %]
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
@ -50,11 +56,10 @@ $(document).ready(function() {
<body id="admin_authorised_values" class="admin">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'cat-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo; [% IF ( add_form ) %] <a href="/cgi-bin/koha/admin/authorised_values.pl">Authorized values</a> &rsaquo; [% IF ( action_modify ) %]Modify authorized value[% END %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo; [% IF op == 'add_form' %] <a href="/cgi-bin/koha/admin/authorised_values.pl">Authorized values</a> &rsaquo; [% IF ( action_modify ) %]Modify authorized value[% END %]
[% IF ( action_add_value ) %]New authorized value[% END %]
[% IF ( action_add_category ) %]New category[% END %][% END %]
[% IF ( delete_confirm ) %] <a href="/cgi-bin/koha/admin/authorised_values.pl">Authorized values</a> &rsaquo; Confirm deletion[% END %]
[% IF ( else ) %]Authorized values[% END %]</div>
[% IF op == 'list' %]Authorized values[% END %]</div>
<div id="doc3" class="yui-t2">
@ -62,7 +67,7 @@ $(document).ready(function() {
<div id="yui-main">
<div class="yui-b">
[% IF ( add_form ) %]
[% IF op == 'add_form' %]
<h1>
[% IF ( action_modify ) %]Modify authorized value[% END %]
[% IF ( action_add_value ) %]New authorized value[% END %]
@ -71,9 +76,8 @@ $(document).ready(function() {
[% IF ( action_modify ) %]<div class="note"><strong>NOTE:</strong> If you change an authorized value code, existing records using it won't be updated. Changes to value descriptions will show immediately.</div>[% END %]
<form action="[% script_name %]" name="Aform" method="post">
<input type="hidden" name="op" value="add_validate" />
<input type="hidden" name="offset" value="[% offset %]" />
<form action="/cgi-bin/koha/admin/authorised_values.pl" name="Aform" method="post">
<input type="hidden" name="op" value="add" />
<fieldset class="rows"><ol>
<li>
[% IF ( action_add_category ) %]<label for="category">Category: </label>
@ -155,32 +159,7 @@ $(document).ready(function() {
[% END %]
[% IF ( delete_confirm ) %]
<div class="dialog alert">
<h3>Confirm deletion</h3>
<table>
<tr>
<th>Category</th>
<th>Value</th>
<th>Description</th>
<th>Description (OPAC)</th>
</tr>
<tr>
<td>[% searchfield %]</td>
<td>[% Tvalue %]</td>
<td>[% Tlib %]</td>
<td>[% Tlib_opac %]</td>
</tr>
</table>
<form action="[% script_name %]" method="post">
<input type="hidden" name="op" value="delete_confirmed" />
<input type="hidden" name="id" value="[% id %]" />
<input type="hidden" name="searchfield" value="[% searchfield %]" /><fieldset class="action"><input type="submit" value="Yes, delete" class="approve" /></form>
<form action="[% script_name %]" method="get"><input type="hidden" name="searchfield" value="[% searchfield %]" /><input type="submit" value="No, do not delete" class="deny" /></form>
</div>
[% END %]
[% IF ( else ) %]
[% IF op == 'list' %]
<div id="toolbar" class="btn-toolbar">
<a id="addauth" class="btn btn-small" href= "/cgi-bin/koha/admin/authorised_values.pl?op=add_form&amp;category=[% category %]"><i class="icon-plus"> </i> New authorized value for [% category %]</a>
@ -190,22 +169,38 @@ $(document).ready(function() {
<h1>Authorized values</h1>
<div class="note"><strong>NOTE:</strong> If you change an authorized value code, existing records using it won't be updated. Changes to value descriptions will show immediately.</div>
[% IF ( duplicate_category ) %]
<div class="dialog alert">Could not add value &quot;[% duplicate_value %]&quot; for category &quot;[% duplicate_category %]&quot; &mdash; value already present.
</div>
[% FOR m IN messages %]
<div class="dialog [% m.type %]">
[% SWITCH m.code %]
[% CASE 'error_on_update' %]
An error occurred when updating this authorised values. Perhaps the value already exists.
[% CASE 'error_on_insert' %]
An error occurred when inserting this authorised values. Perhaps the value or the category already exists.
[% CASE 'error_on_delete' %]
An error occurred when deleteing this authorised values. Check the logs.
[% CASE 'success_on_update' %]
Authorised value updated with success.
[% CASE 'success_on_insert' %]
Authorised value inserted with success.
[% CASE 'success_on_delete' %]
Authorised value deleted with success.
[% CASE %]
[% m.code %]
[% END %]
</div>
[% END %]
<form action="/cgi-bin/koha/admin/authorised_values.pl" method="post" id="category">
<label for="searchfield">Show category: </label>
<select name="searchfield" id="searchfield" size="1">
[% FOREACH value IN tab_list.values %]
[% IF ( value == tab_list.default ) %]
<option value="[% value %]" selected="selected">[% value %]</option>
<label for="searchfield">Show category: </label>
<select name="searchfield" id="searchfield" size="1">
[% FOR c IN categories %]
[% IF c == searchfield %]
<option value="[% c %]" selected="selected">[% c %]</option>
[% ELSE %]
<option value="[% value %]">[% value %]</option>
<option value="[% c %]">[% c %]</option>
[% END %]
[% END %]
</select>
<input type="submit" value="Submit" />
[% END %]
<input type="submit" value="Submit" />
</form>
[% IF ( category == 'Bsort1' ) %]
<p>An authorized value attached to patrons, that can be used for stats purposes</p>
@ -285,8 +280,8 @@ $(document).ready(function() {
No limitation
[% END %]
</td>
<td><a href="[% loo.edit %]">Edit</a></td>
<td><a href="[% loo.delete %]">Delete</a></td>
<td><a href="/cgi-bin/koha/admin/authorised_values.pl?op=add_form&amp;id=[% loo.id %]">Edit</a></td>
<td><a class="delete" href="/cgi-bin/koha/admin/authorised_values.pl?op=delete&amp;searchfield=[% searchfield %]&amp;id=[% loo.id %]">Delete</a></td>
</tr>
[% END %]
</tbody></table>[% ELSE %]
@ -294,8 +289,8 @@ $(document).ready(function() {
[% END %]
[% IF ( isprevpage ) %]
<form class="inline" action="[% script_name %]" method="post">
<input type="hidden" name="offset" value="[% prevpage %]" /><input type="hidden" name="searchfield" value="[% searchfield %]" />
<form class="inline" action="/cgi-bin/koha/admin/authorised_values.pl" method="post">
<input type="hidden" name="searchfield" value="[% searchfield %]" />
<input type="submit" value="&lt;&lt; Previous" /></form>
[% END %]

View File

@ -1,7 +1,7 @@
#!/usr/bin/perl
use Modern::Perl;
use Test::More; # tests => 25;
use Test::More tests => 14;
use C4::Context;
use Koha::AuthorisedValue;
@ -44,9 +44,20 @@ my $av3 = Koha::AuthorisedValue->new(
}
)->store();
my $av4 = Koha::AuthorisedValue->new(
{
category => 'aaav_for_testing',
authorised_value => 'value 4',
lib => 'display value 4',
lib_opac => 'opac display value 4',
imageurl => 'image4.png',
}
)->store();
ok( $av1->id(), 'AV 1 is inserted' );
ok( $av2->id(), 'AV 2 is inserted' );
ok( $av3->id(), 'AV 3 is inserted' );
ok( $av4->id(), 'AV 4 is inserted' );
is( $av3->opac_description, 'opac display value 3', 'Got correction opac description if lib_opac is set' );
$av3->lib_opac('');
@ -80,4 +91,7 @@ $av1->branch_limitations( [ $branchcode1, $branchcode2 ] );
my $limits = $av1->branch_limitations;
is( @$limits, 2, 'branch_limitations functions correctly both as setter and getter' );
done_testing;
my @categories = Koha::AuthorisedValues->new->categories;
is( @categories, 2, 'There should have 2 categories inserted' );
is( $categories[0], $av4->category, 'The first category should be correct (ordered by category name)' );
is( $categories[1], $av1->category, 'The second category should be correct (ordered by category name)' );