Lines 25-31
use C4::Members::Messaging;
Link Here
|
25 |
use Koha::Database; |
25 |
use Koha::Database; |
26 |
use Koha::DateUtils; |
26 |
use Koha::DateUtils; |
27 |
|
27 |
|
28 |
use base qw(Koha::Object); |
28 |
use base qw(Koha::Object Koha::Object::Limit::Library); |
29 |
|
29 |
|
30 |
=head1 NAME |
30 |
=head1 NAME |
31 |
|
31 |
|
Lines 103-219
sub default_messaging {
Link Here
|
103 |
return \@messaging; |
103 |
return \@messaging; |
104 |
} |
104 |
} |
105 |
|
105 |
|
106 |
=head3 branch_limitations |
|
|
107 |
|
108 |
my $limitations = $category->branch_limitations(); |
109 |
|
110 |
$category->branch_limitations( \@branchcodes ); |
111 |
|
112 |
=cut |
113 |
|
114 |
sub branch_limitations { |
115 |
my ( $self, $branchcodes ) = @_; |
116 |
|
117 |
if ($branchcodes) { |
118 |
return $self->replace_branch_limitations($branchcodes); |
119 |
} |
120 |
else { |
121 |
return $self->get_branch_limitations(); |
122 |
} |
123 |
|
124 |
} |
125 |
|
126 |
=head3 get_branch_limitations |
127 |
|
128 |
my $limitations = $category->get_branch_limitations(); |
129 |
|
130 |
=cut |
131 |
|
132 |
sub get_branch_limitations { |
133 |
my ($self) = @_; |
134 |
|
135 |
my @branchcodes = |
136 |
$self->_catb_resultset->search( { categorycode => $self->categorycode } ) |
137 |
->get_column('branchcode')->all(); |
138 |
|
139 |
return \@branchcodes; |
140 |
} |
141 |
|
142 |
=head3 add_branch_limitation |
143 |
|
144 |
$category->add_branch_limitation( $branchcode ); |
145 |
|
146 |
=cut |
147 |
|
148 |
sub add_branch_limitation { |
149 |
my ( $self, $branchcode ) = @_; |
150 |
|
151 |
croak("No branchcode passed in!") unless $branchcode; |
152 |
|
153 |
my $limitation = $self->_catb_resultset->update_or_create( |
154 |
{ categorycode => $self->categorycode, branchcode => $branchcode } ); |
155 |
|
156 |
return $limitation ? 1 : undef; |
157 |
} |
158 |
|
159 |
=head3 del_branch_limitation |
160 |
|
161 |
$category->del_branch_limitation( $branchcode ); |
162 |
|
163 |
=cut |
164 |
|
165 |
sub del_branch_limitation { |
166 |
my ( $self, $branchcode ) = @_; |
167 |
|
168 |
croak("No branchcode passed in!") unless $branchcode; |
169 |
|
170 |
my $limitation = |
171 |
$self->_catb_resultset->find( |
172 |
{ categorycode => $self->categorycode, branchcode => $branchcode } ); |
173 |
|
174 |
unless ($limitation) { |
175 |
my $categorycode = $self->categorycode; |
176 |
carp( |
177 |
"No branch limit for branch $branchcode found for categorycode $categorycode to delete!" |
178 |
); |
179 |
return; |
180 |
} |
181 |
|
182 |
return $limitation->delete(); |
183 |
} |
184 |
|
185 |
=head3 replace_branch_limitations |
186 |
|
187 |
$category->replace_branch_limitations( \@branchcodes ); |
188 |
|
189 |
=cut |
190 |
|
191 |
sub replace_branch_limitations { |
192 |
my ( $self, $branchcodes ) = @_; |
193 |
|
194 |
$self->_catb_resultset->search( { categorycode => $self->categorycode } )->delete; |
195 |
|
196 |
my @return_values = |
197 |
map { $self->add_branch_limitation($_) } @$branchcodes; |
198 |
|
199 |
return \@return_values; |
200 |
} |
201 |
|
202 |
=head3 Koha::Objects->_catb_resultset |
203 |
|
204 |
Returns the internal resultset or creates it if undefined |
205 |
|
206 |
=cut |
207 |
|
208 |
sub _catb_resultset { |
209 |
my ($self) = @_; |
210 |
|
211 |
$self->{_catb_resultset} ||= |
212 |
Koha::Database->new->schema->resultset('CategoriesBranch'); |
213 |
|
214 |
return $self->{_catb_resultset}; |
215 |
} |
216 |
|
217 |
sub get_expiry_date { |
106 |
sub get_expiry_date { |
218 |
my ($self, $date ) = @_; |
107 |
my ($self, $date ) = @_; |
219 |
if ( $self->enrolmentperiod ) { |
108 |
if ( $self->enrolmentperiod ) { |
Lines 299-304
sub override_hidden_items {
Link Here
|
299 |
|
188 |
|
300 |
=head2 Internal methods |
189 |
=head2 Internal methods |
301 |
|
190 |
|
|
|
191 |
=head3 _library_limits |
192 |
|
193 |
configure library limits |
194 |
|
195 |
=cut |
196 |
|
197 |
sub _library_limits { |
198 |
return { |
199 |
class => "CategoriesBranch", |
200 |
id => "categorycode", |
201 |
library => "branchcode", |
202 |
}; |
203 |
} |
204 |
|
302 |
=head3 type |
205 |
=head3 type |
303 |
|
206 |
|
304 |
=cut |
207 |
=cut |