# You should have received a copy of the GNU General Public License
# along with Koha; if not, see <http://www.gnu.org/licenses>.
-use strict;
-use warnings;
+use Modern::Perl;
use CGI qw ( -utf8 );
use C4::Auth;
use C4::Koha;
use C4::Context;
use Koha::Caches;
+use Koha::AuthorisedValues;
use Koha::BiblioFrameworks;
# retrieve parameters
my $frameworkcode = $input->param('frameworkcode') || ''; # set to select framework
my $existingframeworkcode = $input->param('existingframeworkcode') || '';
my $searchfield = $input->param('searchfield') || 0;
-# set when we have to create a new framework (in frameworkcode) by copying an old one (in existingframeworkcode)
-my $frameworkinfo = getframeworkinfo($frameworkcode);
$searchfield=~ s/\,//g;
my $offset = $input->param('offset') || 0;
}
}
+my $framework = $frameworks->search({ frameworkcode => $frameworkcode })->next;
$template->param(
frameworks => $frameworks,
- frameworkcode => $frameworkcode,
- frameworktext => $frameworkinfo->{frameworktext},
+ framework => $framework,
script_name => $script_name,
( $op || 'else' ) => 1,
);
$data=$sth->fetchrow_hashref;
}
- my @authorised_values = @{C4::Koha::GetAuthorisedValueCategories()}; # function returns array ref, dereferencing
- unshift @authorised_values, ""; # put empty value first
- my $authorised_value = {
- values => \@authorised_values,
- default => $data->{'authorised_value'},
- };
-
if ($searchfield) {
$template->param(searchfield => $searchfield);
$template->param(action => "Modify tag");
libopac => $data->{'libopac'},
repeatable => $data->{'repeatable'},
mandatory => $data->{'mandatory'},
- authorised_value => $authorised_value,
+ authorised_value => $data->{authorised_value},
frameworkcode => $frameworkcode,
); # FIXME: move checkboxes to presentation layer
# END $OP eq ADD_FORM
my $repeatable = $input->param('repeatable') ? 1 : 0;
my $mandatory = $input->param('mandatory') ? 1 : 0;
my $authorised_value = $input->param('authorised_value');
- unless (C4::Context->config('demo')) {
- if ($input->param('modif')) {
- $sth = $dbh->prepare(
- "UPDATE marc_tag_structure SET liblibrarian=? ,libopac=? ,repeatable=? ,mandatory=? ,authorised_value=? WHERE frameworkcode=? AND tagfield=?"
- );
- $sth->execute( $liblibrarian,
- $libopac,
- $repeatable,
- $mandatory,
- $authorised_value,
- $frameworkcode,
- $tagfield
- );
- } else {
- $sth = $dbh->prepare(
- "INSERT INTO marc_tag_structure (tagfield,liblibrarian,libopac,repeatable,mandatory,authorised_value,frameworkcode) values (?,?,?,?,?,?,?)"
- );
- $sth->execute($tagfield,
- $liblibrarian,
- $libopac,
- $repeatable,
- $mandatory,
- $authorised_value,
- $frameworkcode
- );
- }
- $cache->clear_from_cache("MarcStructure-0-$frameworkcode");
- $cache->clear_from_cache("MarcStructure-1-$frameworkcode");
- $cache->clear_from_cache("default_value_for_mod_marc-$frameworkcode");
- $cache->clear_from_cache("MarcSubfieldStructure-$frameworkcode");
+ if ($input->param('modif')) {
+ $sth = $dbh->prepare(
+ "UPDATE marc_tag_structure SET liblibrarian=? ,libopac=? ,repeatable=? ,mandatory=? ,authorised_value=? WHERE frameworkcode=? AND tagfield=?"
+ );
+ $sth->execute( $liblibrarian,
+ $libopac,
+ $repeatable,
+ $mandatory,
+ $authorised_value,
+ $frameworkcode,
+ $tagfield
+ );
+ } else {
+ $sth = $dbh->prepare(
+ "INSERT INTO marc_tag_structure (tagfield,liblibrarian,libopac,repeatable,mandatory,authorised_value,frameworkcode) values (?,?,?,?,?,?,?)"
+ );
+ $sth->execute($tagfield,
+ $liblibrarian,
+ $libopac,
+ $repeatable,
+ $mandatory,
+ $authorised_value,
+ $frameworkcode
+ );
}
+ $cache->clear_from_cache("MarcStructure-0-$frameworkcode");
+ $cache->clear_from_cache("MarcStructure-1-$frameworkcode");
+ $cache->clear_from_cache("default_value_for_mod_marc-");
+ $cache->clear_from_cache("MarcSubfieldStructure-$frameworkcode");
print $input->redirect("/cgi-bin/koha/admin/marctagstructure.pl?searchfield=$tagfield&frameworkcode=$frameworkcode");
exit;
# END $OP eq ADD_VALIDATE
################## DELETE_CONFIRMED ##################################
# called by delete_confirm, used to effectively confirm deletion of data in DB
} elsif ($op eq 'delete_confirmed') {
- unless (C4::Context->config('demo')) {
- my $sth1 = $dbh->prepare("DELETE FROM marc_tag_structure WHERE tagfield=? AND frameworkcode=?");
- my $sth2 = $dbh->prepare("DELETE FROM marc_subfield_structure WHERE tagfield=? AND frameworkcode=?");
- $sth1->execute($searchfield, $frameworkcode);
- $sth2->execute($searchfield, $frameworkcode);
- $cache->clear_from_cache("MarcStructure-0-$frameworkcode");
- $cache->clear_from_cache("MarcStructure-1-$frameworkcode");
- $cache->clear_from_cache("default_value_for_mod_marc-$frameworkcode");
- $cache->clear_from_cache("MarcSubfieldStructure-$frameworkcode");
- }
+ my $sth1 = $dbh->prepare("DELETE FROM marc_tag_structure WHERE tagfield=? AND frameworkcode=?");
+ my $sth2 = $dbh->prepare("DELETE FROM marc_subfield_structure WHERE tagfield=? AND frameworkcode=?");
+ $sth1->execute($searchfield, $frameworkcode);
+ $sth2->execute($searchfield, $frameworkcode);
+ $cache->clear_from_cache("MarcStructure-0-$frameworkcode");
+ $cache->clear_from_cache("MarcStructure-1-$frameworkcode");
+ $cache->clear_from_cache("default_value_for_mod_marc-");
+ $cache->clear_from_cache("MarcSubfieldStructure-$frameworkcode");
$template->param(
searchfield => $searchfield,
frameworkcode => $frameworkcode,
}
$template->param(existingframeworkloop => \@existingframeworkloop,
frameworkcode => $frameworkcode,
-# FRtext => $frameworkinfo->{frameworktext},
);
################## DEFAULT ##################################
} else { # DEFAULT