View | Details | Raw Unified | Return to bug 38290
Collapse All | Expand All

(-)a/Koha/Object/Limit/LibraryGroup.pm (-8 / +23 lines)
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
- 

Return to bug 38290