Lines 51-62
A method that can be used to embed or simply retrieve the library group limits f
Link Here
|
51 |
=cut |
51 |
=cut |
52 |
|
52 |
|
53 |
sub lib_group_limits { |
53 |
sub lib_group_limits { |
54 |
my ( $self ) = @_; |
54 |
my ($self) = @_; |
55 |
|
55 |
|
56 |
my $lib_group_visibility = $self->lib_group_visibility; |
56 |
my $lib_group_visibility_parameters = $self->object_class()->_library_group_visibility_parameters; |
|
|
57 |
my $visibility_column = $lib_group_visibility_parameters->{visibility_column}; |
58 |
|
59 |
my $lib_group_visibility = $self->$visibility_column; |
57 |
return [] if !$lib_group_visibility; |
60 |
return [] if !$lib_group_visibility; |
58 |
|
61 |
|
59 |
my @ids = grep(/[0-9]/, split(/\|/, $lib_group_visibility)); |
62 |
my @ids = grep( /[0-9]/, split( /\|/, $lib_group_visibility ) ); |
60 |
|
63 |
|
61 |
my @lib_groups = map { Koha::Library::Groups->find($_) } @ids; |
64 |
my @lib_groups = map { Koha::Library::Groups->find($_) } @ids; |
62 |
|
65 |
|
Lines 66-79
sub lib_group_limits {
Link Here
|
66 |
=head3 set_lib_group_visibility |
69 |
=head3 set_lib_group_visibility |
67 |
|
70 |
|
68 |
A method that can be used to set the library group visibility for an object |
71 |
A method that can be used to set the library group visibility for an object |
|
|
72 |
If passed an array, it will format it into a string of "|" separated ids |
73 |
If passed a string it will check it is formatted correctly and adjust it if needed |
69 |
|
74 |
|
70 |
=cut |
75 |
=cut |
71 |
|
76 |
|
72 |
sub set_lib_group_visibility { |
77 |
sub set_lib_group_visibility { |
73 |
my ( $self ) = @_; |
78 |
my ( $self, $args ) = @_; |
74 |
|
79 |
|
75 |
if ( $self->lib_group_visibility && $self->lib_group_visibility !~ /^\|.*\|$/ ) { |
80 |
my $new_visibility = $args->{new_visibility} || $self->lib_group_visibility; |
76 |
$self->lib_group_visibility( "|" . $self->lib_group_visibility . "|" ); |
81 |
my $lib_group_visibility_parameters = $self->object_class()->_library_group_visibility_parameters; |
|
|
82 |
my $visibility_column = $lib_group_visibility_parameters->{visibility_column}; |
83 |
|
84 |
if ( ref $new_visibility eq 'ARRAY' ) { |
85 |
if ( scalar( @{$new_visibility} ) == 0 ) { |
86 |
$self->$visibility_column(undef); |
87 |
return $self; |
88 |
} |
89 |
$self->$visibility_column( join( "|", grep( /[0-9]/, @{$new_visibility} ) ) ); |
90 |
} |
91 |
if ( $new_visibility && $new_visibility !~ /^\|.*\|$/ ) { |
92 |
$self->$visibility_column( "|" . $self->$visibility_column . "|" ); |
77 |
} |
93 |
} |
78 |
|
94 |
|
79 |
return $self; |
95 |
return $self; |
80 |
- |
|
|