&TransformHtmlToMarc
&TransformHtmlToXml
&GetNoZebraIndexes
+ prepare_host_field
);
}
return ($holds);
}
+=head2 prepare_host_field
+
+$marcfield = prepare_host_field( $hostbiblioitem, $marcflavour );
+Generate the host item entry for an analytic child entry
+
+=cut
+
+sub prepare_host_field {
+ my ( $hostbiblio, $marcflavour ) = @_;
+ $marcflavour ||= 'MARC21';
+ my $host = GetMarcBiblio($hostbiblio);
+ if ( $marcflavour eq 'MARC21' ) {
+
+ # unfortunately as_string does not 'do the right thing'
+ # if field returns undef
+ my %sfd;
+ my $field;
+ if ( $field = $host->author() ) {
+ $sfd{a} = $field;
+ }
+ if ( $field = $host->title() ) {
+ $sfd{t} = $field;
+ }
+ if ( $field = $host->field('260') ) {
+ my $s = $field->as_string('abc');
+ if ($s) {
+ $sfd{d} = $s;
+ }
+ }
+ if ( $field = $host->field('240') ) {
+ my $s = $field->as_string();
+ if ($s) {
+ $sfd{b} = $s;
+ }
+ }
+ if ( $field = $host->field('022') ) {
+ my $s = $field->as_string('a');
+ if ($s) {
+ $sfd{x} = $s;
+ }
+ }
+ if ( $field = $host->field('020') ) {
+ my $s = $field->as_string('a');
+ if ($s) {
+ $sfd{x} = $s;
+ }
+ }
+ if ( $field = $host->field('001') ) {
+ $sfd{w} = $field->data(),;
+ }
+ my $host_field = MARC::Field->new( 773, '0', ' ', %sfd );
+ return $host_field;
+ }
+ return;
+}
1;
+
__END__
=head1 AUTHOR
my $input = new CGI;
my $error = $input->param('error');
my $biblionumber = $input->param('biblionumber'); # if biblionumber exists, it's a modif, not a new biblio.
+my $parentbiblio = $input->param('parentbiblionumber');
my $breedingid = $input->param('breedingid');
my $z3950 = $input->param('z3950');
my $op = $input->param('op');
if ($breedingid) {
( $record, $encoding ) = MARCfindbreeding( $breedingid ) ;
}
+
#populate hostfield if hostbiblionumber is available
-if ($hostbiblionumber){
- my $marcflavour = C4::Context->preference("marcflavour");
- $record=MARC::Record->new();
- $record->leader('');
- my $field = PrepHostMarcField($hostbiblionumber, $hostitemnumber,$marcflavour);
- $record->append_fields($field);
+if ($hostbiblionumber) {
+ my $marcflavour = C4::Context->preference("marcflavour");
+ $record = MARC::Record->new();
+ $record->leader('');
+ my $field =
+ PrepHostMarcField( $hostbiblionumber, $hostitemnumber, $marcflavour );
+ $record->append_fields($field);
+}
+
+# This is a child record
+if ($parentbiblio) {
+ my $marcflavour = C4::Context->preference('marcflavour');
+ $record = MARC::Record->new();
+ my $hostfield = prepare_host_field($parentbiblio,$marcflavour);
+ if ($hostfield) {
+ $record->append_fields($hostfield);
+ }
}
$is_a_modif = 0;
);
output_html_with_http_headers $input, $cookie, $template->output;
+
+sub get_host_control_num {
+ my $host_biblio_nr = shift;
+ my $host = GetMarcBiblio($host_biblio_nr);
+ my $control_num = GetMarcControlnumber($host, C4::Context->preference('marcflavour'));
+ $host = GetBiblioData($host_biblio_nr);
+ $host->{control_number} = $control_num;
+ return $host;
+}
YAHOO.util.Event.onContentReady("cattoolbar", function () {
// Menu for new record, new item, new subscription
var newmenu = [
- [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]{text: _("New Record"), url: "/cgi-bin/koha/cataloguing/addbiblio.pl" },[% END %]
- [% IF ( CAN_user_editcatalogue_edit_items ) %]{text: _("New Item"), url: "/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% biblionumber %]#additema" },[% END %]
- [% IF ( CAN_user_serials_create_subscription ) %]
- {text: _("New Subscription"), url: "/cgi-bin/koha/serials/subscription-add.pl?biblionumber_for_new_subscription=[% biblionumber %]"},[% END %]
- [% IF ( EasyAnalyticalRecords ) %][% IF ( CAN_user_editcatalogue_edit_catalogue ) %]{text: _("Analyze items"), url: "/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber %]&analyze=1" },[% END %][% END %]
+ [% IF CAN_user_editcatalogue_edit_catalogue %]
+ {text: _("New Record"), url: "/cgi-bin/koha/cataloguing/addbiblio.pl" },
+ [% END %]
+ [% IF ( CAN_user_editcatalogue_edit_items ) %]
+ {text: _("New Item"), url: "/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% biblionumber %]#additema" },
+ [% END %]
+ [% IF ( CAN_user_serials_create_subscription ) %]
+ {text: _("New Subscription"), url: "/cgi-bin/koha/serials/subscription-add.pl?biblionumber_for_new_subscription=[% biblionumber %]"},
+ [% END %]
+ [% IF ( EasyAnalyticalRecords && CAN_user_editcatalogue_edit_catalogue ) %]
+ {text: _("Analyze Items"), url: "/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber %]&analyze=1" },
+ [% END %]
+ [% IF CAN_user_editcatalogue_edit_catalogue %]
+ {text: _("New Child Record"), url: "/cgi-bin/koha/cataloguing/addbiblio.pl?parentbiblionumber=[% biblionumber %]" },
+ [% END %]
];
if(newmenu.length){
new YAHOO.widget.Button({