|
Lines 132-141
use C4::Biblio qw( GetMarcFromKohaField );
Link Here
|
| 132 |
} |
132 |
} |
| 133 |
|
133 |
|
| 134 |
{ |
134 |
{ |
| 135 |
my $frameworks = Koha::BiblioFrameworks->search; |
135 |
my @framework_codes = Koha::BiblioFrameworks->search()->get_column('frameworkcode'); |
|
|
136 |
push @framework_codes,""; # The default is not stored in frameworks, we need to force it |
| 137 |
|
| 136 |
my $invalid_av_per_framework = {}; |
138 |
my $invalid_av_per_framework = {}; |
| 137 |
while ( my $framework = $frameworks->next ) { |
139 |
foreach my $frameworkcode ( @framework_codes ) { |
| 138 |
my $msss = Koha::MarcSubfieldStructures->search({ frameworkcode => $framework->frameworkcode, authorised_value => { '!=' => [ -and => ( undef, '' ) ]} }); |
140 |
# We are only checking fields that are mapped to DB fields |
|
|
141 |
my $msss = Koha::MarcSubfieldStructures->search({ |
| 142 |
frameworkcode => $frameworkcode, |
| 143 |
authorised_value => { |
| 144 |
'!=' => [ -and => ( undef, '' ) ] |
| 145 |
}, |
| 146 |
kohafield => { |
| 147 |
'!=' => [ -and => ( undef, '' ) ] |
| 148 |
} |
| 149 |
}); |
| 139 |
while ( my $mss = $msss->next ) { |
150 |
while ( my $mss = $msss->next ) { |
| 140 |
my $kohafield = $mss->kohafield; |
151 |
my $kohafield = $mss->kohafield; |
| 141 |
my $av = $mss->authorised_value; |
152 |
my $av = $mss->authorised_value; |
|
Lines 143-149
use C4::Biblio qw( GetMarcFromKohaField );
Link Here
|
| 143 |
|
154 |
|
| 144 |
my $avs = Koha::AuthorisedValues->search_by_koha_field( |
155 |
my $avs = Koha::AuthorisedValues->search_by_koha_field( |
| 145 |
{ |
156 |
{ |
| 146 |
frameworkcode => $framework->frameworkcode, |
157 |
frameworkcode => $frameworkcode, |
| 147 |
kohafield => $kohafield, |
158 |
kohafield => $kohafield, |
| 148 |
} |
159 |
} |
| 149 |
); |
160 |
); |
|
Lines 154-159
use C4::Biblio qw( GetMarcFromKohaField );
Link Here
|
| 154 |
$tmp_kohafield =~ s|items|me|; |
165 |
$tmp_kohafield =~ s|items|me|; |
| 155 |
} |
166 |
} |
| 156 |
# replace items.attr with me.attr |
167 |
# replace items.attr with me.attr |
|
|
168 |
|
| 169 |
# We are only checking biblios with items |
| 157 |
my $items = Koha::Items->search( |
170 |
my $items = Koha::Items->search( |
| 158 |
{ |
171 |
{ |
| 159 |
$tmp_kohafield => |
172 |
$tmp_kohafield => |
|
Lines 161-172
use C4::Biblio qw( GetMarcFromKohaField );
Link Here
|
| 161 |
-not_in => [ $avs->get_column('authorised_value'), '' ], |
174 |
-not_in => [ $avs->get_column('authorised_value'), '' ], |
| 162 |
'!=' => undef, |
175 |
'!=' => undef, |
| 163 |
}, |
176 |
}, |
| 164 |
'biblio.frameworkcode' => $framework->frameworkcode |
177 |
'biblio.frameworkcode' => $frameworkcode |
| 165 |
}, |
178 |
}, |
| 166 |
{ join => [ 'biblioitem', 'biblio' ] } |
179 |
{ join => [ 'biblioitem', 'biblio' ] } |
| 167 |
); |
180 |
); |
| 168 |
if ( $items->count ) { |
181 |
if ( $items->count ) { |
| 169 |
$invalid_av_per_framework->{ $framework->frameworkcode }->{$av} = |
182 |
$invalid_av_per_framework->{ $frameworkcode }->{$av} = |
| 170 |
{ items => $items, kohafield => $kohafield }; |
183 |
{ items => $items, kohafield => $kohafield }; |
| 171 |
} |
184 |
} |
| 172 |
} |
185 |
} |
| 173 |
- |
|
|