diff --git a/C4/Biblio.pm b/C4/Biblio.pm index e15b93fbe8..a0c325a19c 100755 --- a/C4/Biblio.pm +++ b/C4/Biblio.pm @@ -50,6 +50,7 @@ BEGIN { # to get something push @EXPORT, qw( + &Get &GetBiblio &GetBiblioData &GetBiblioItemData diff --git a/admin/fieldmapping.pl b/admin/fieldmapping.pl new file mode 100755 index 0000000000..bd3ca1bf3c --- /dev/null +++ b/admin/fieldmapping.pl @@ -0,0 +1,77 @@ +#!/usr/bin/perl +# Copyright 2009 SARL BibLibre +# +# This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# Koha is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with +# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, +# Suite 330, Boston, MA 02111-1307 USA + +use strict; +use warnings; +use CGI; +use C4::Auth; +use C4::Biblio; +use C4::Koha; +use C4::Output; + +my $query = new CGI; + +my $framework = $query->param('framework') || ""; + +my $field = $query->param('fieldname'); +my $fieldcode = $query->param('marcfield'); +my $subfieldcode = $query->param('marcsubfield'); +my $op = $query->param('op'); +my $id = $query->param('id'); + +my ($template, $loggedinuser, $cookie) + = get_template_and_user({template_name => "admin/fieldmapping.tmpl", + query => $query, + type => "intranet", + authnotrequired => 0, + flagsrequired => {parameters => 1}, + debug => 1, + }); + +# get framework list +my $frameworks = getframeworks(); +my @frameworkloop; +foreach my $thisframeworkcode (keys %$frameworks) { + my $selected = 1 if $thisframeworkcode eq $framework; + my %row =(value => $thisframeworkcode, + selected => $selected, + frameworktext => $frameworks->{$thisframeworkcode}->{'frameworktext'}, + ); + push @frameworkloop, \%row; +} + +if($op eq "delete" and $id){ + DeleteFieldMapping($id); + print $query->redirect("/cgi-bin/koha/admin/fieldmapping.pl?framework=".$framework); + exit; +} + +# insert operation +if($field and $fieldcode){ + SetFieldMapping($framework, $field, $fieldcode, $subfieldcode); +} + +my $fieldloop = GetFieldMapping($framework); +warn Data::Dumper::Dumper($fieldloop->[1]); + +$template->param( frameworkloop => \@frameworkloop, + framework => $framework, + fields => $fieldloop, + ); + +output_html_with_http_headers $query, $cookie, $template->output; \ No newline at end of file diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index fcc15ca89b..2abb197736 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -2482,6 +2482,21 @@ CREATE TABLE `aqorders_items` ( KEY `ordernumber` (`ordernumber`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; +-- +-- Table structure for table `fieldmapping` +-- + +DROP TABLE IF EXISTS `fieldmapping`; +CREATE TABLE `fieldmapping` ( + `id` int(11) NOT NULL auto_increment, + `field` varchar(255) NOT NULL, + `frameworkcode` char(4) NOT NULL default '', + `fieldcode` char(3) NOT NULL, + `subfieldcode` char(1) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index e2f4583a51..6c552f6df5 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -2704,6 +2704,23 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { print "Upgrade to $DBversion done (added csv export profiles)\n"; } +#$DBversion = "3.01.00.040"; +$DBversion = "3.01.00.063"; +if (C4::Context->preference("Version") < TransformToNum($DBversion)) { + $dbh->do(" + CREATE TABLE `fieldmapping` ( + `id` int(11) NOT NULL auto_increment, + `field` varchar(255) NOT NULL, + `frameworkcode` char(4) NOT NULL default '', + `fieldcode` char(3) NOT NULL, + `subfieldcode` char(1) NOT NULL, + PRIMARY KEY (`id`) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + "); + SetVersion ($DBversion); +} + + =item Acquisitions update diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tmpl index 32324c8b9b..25d43b667d 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tmpl +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tmpl @@ -64,6 +64,8 @@