From 94423e6d631bed3292fd05a1ad8eaf7f011b9285 Mon Sep 17 00:00:00 2001 From: jeremy breuillard Date: Fri, 4 Mar 2022 14:16:33 +0100 Subject: [PATCH] Bug 30506: Value builder for field 182 This patch provides values builders for the subfields $a, $c and $2. Those are unimarc official codes who help to identify the kind of items Test plan: 1)Go to Home > Cataloging > New record 2)Section 1 - field 182 : it contains subfields $a, $c & $2 3)Inputs are writable but notice that no plugins are suggested 4)Apply patch and repeat 1) to 3) 5)Values builders plugins are available for $a, $c and $2 Signed-off-by: David Nind Signed-off-by: Kyle M Hall Signed-off-by: Tomas Cohen Arazi --- .../value_builder/unimarc_field_182-2.pl | 60 ++++++++++ .../value_builder/unimarc_field_182a.pl | 71 ++++++++++++ .../value_builder/unimarc_field_182c.pl | 66 +++++++++++ .../value_builder/unimarc_field_182-2.tt | 58 ++++++++++ .../value_builder/unimarc_field_182a.tt | 95 ++++++++++++++++ .../value_builder/unimarc_field_182c.tt | 105 ++++++++++++++++++ 6 files changed, 455 insertions(+) create mode 100755 cataloguing/value_builder/unimarc_field_182-2.pl create mode 100755 cataloguing/value_builder/unimarc_field_182a.pl create mode 100755 cataloguing/value_builder/unimarc_field_182c.pl create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_182-2.tt create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_182a.tt create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_182c.tt diff --git a/cataloguing/value_builder/unimarc_field_182-2.pl b/cataloguing/value_builder/unimarc_field_182-2.pl new file mode 100755 index 0000000000..c5f98c87ad --- /dev/null +++ b/cataloguing/value_builder/unimarc_field_182-2.pl @@ -0,0 +1,60 @@ +#!/usr/bin/perl + + +# 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 3 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, see . + +use Modern::Perl; + +use Date::Calc; + +use Koha::Util::FrameworkPlugin qw(wrapper); +use C4::Auth qw( get_template_and_user ); +use CGI qw ( -utf8 ); +use C4::Context; +use C4::Output qw( output_html_with_http_headers ); + +my $builder= sub { + my $params = shift; + my $id = $params->{id}; + + return qq| +|; +}; + +my $launcher= sub { + my $params = shift; + my $cgi = $params->{cgi}; + my ( $template, $loggedinuser, $cookie ) = get_template_and_user({ + template_name => "cataloguing/value_builder/unimarc_field_182-2.tt", + query => $cgi, + type => "intranet", + flagsrequired => {editcatalogue => '*'}, + }); + $template->param( + index => scalar $cgi->param('index'), + result => scalar $cgi->param('result'), + ); + output_html_with_http_headers $cgi, $cookie, $template->output; +}; + +return { builder => $builder, launcher => $launcher }; diff --git a/cataloguing/value_builder/unimarc_field_182a.pl b/cataloguing/value_builder/unimarc_field_182a.pl new file mode 100755 index 0000000000..7460903f5f --- /dev/null +++ b/cataloguing/value_builder/unimarc_field_182a.pl @@ -0,0 +1,71 @@ +#!/usr/bin/perl + +# Copyright 2014 Rijksmuseum +# +# 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 3 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, see . + +use Modern::Perl; + +use Date::Calc; + +use Koha::Util::FrameworkPlugin qw(wrapper); +use C4::Auth qw( get_template_and_user ); +use CGI qw ( -utf8 ); +use C4::Context; +use C4::Output qw( output_html_with_http_headers ); + +my $builder= sub { + my $params = shift; + my $id = $params->{id}; + + return qq| +|; +}; + +my $launcher= sub { + my $params = shift; + my $cgi = $params->{cgi}; + my ( $template, $loggedinuser, $cookie ) = get_template_and_user({ + template_name => "cataloguing/value_builder/unimarc_field_182a.tt", + query => $cgi, + type => "intranet", + flagsrequired => {editcatalogue => '*'}, + }); + my $results = scalar $cgi->param('result'); + + $template->param( + index => scalar $cgi->param('index'), + result => $results, + ); + + # Return the result of the position in the string, ex: abcde = 1=a, 2=b, 3=c... + my @x = split(//, $results); + my $i = 1; + for my $fresult (@x) { + $template->param("f$i" => $fresult); + ++$i; + } + output_html_with_http_headers $cgi, $cookie, $template->output; +}; + +return { builder => $builder, launcher => $launcher }; diff --git a/cataloguing/value_builder/unimarc_field_182c.pl b/cataloguing/value_builder/unimarc_field_182c.pl new file mode 100755 index 0000000000..1a8891d010 --- /dev/null +++ b/cataloguing/value_builder/unimarc_field_182c.pl @@ -0,0 +1,66 @@ +#!/usr/bin/perl + +# Copyright 2014 Rijksmuseum +# +# 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 3 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, see . + +use Modern::Perl; + +use Date::Calc; + +use Koha::Util::FrameworkPlugin qw(wrapper); +use C4::Auth qw( get_template_and_user ); +use CGI qw ( -utf8 ); +use C4::Context; +use C4::Output qw( output_html_with_http_headers ); + +my $builder= sub { + my $params = shift; + my $id = $params->{id}; + + return qq| +|; +}; + +my $launcher= sub { + my $params = shift; + my $cgi = $params->{cgi}; + my ( $template, $loggedinuser, $cookie ) = get_template_and_user({ + template_name => "cataloguing/value_builder/unimarc_field_182c.tt", + query => $cgi, + type => "intranet", + flagsrequired => {editcatalogue => '*'}, + }); + my $results = scalar $cgi->param('result'); + my $input_a = substr $results, 0, 3; + + $template->param( + index => scalar $cgi->param('index'), + result => $results, + f1 => $input_a, + ); + + output_html_with_http_headers $cgi, $cookie, $template->output; +}; + +return { builder => $builder, launcher => $launcher }; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_182-2.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_182-2.tt new file mode 100644 index 0000000000..b759a2d21c --- /dev/null +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_182-2.tt @@ -0,0 +1,58 @@ +[% INCLUDE 'doc-head-open.inc' %] +Framework plugin example › Cataloguing › Koha +[% INCLUDE 'doc-head-close.inc' %] + + + + +

UNIMARC field 182-2 builder

+ +
+ + + + + +
+ +
+

Cancel

+
+ + + +[% INCLUDE 'popup-bottom.inc' %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_182a.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_182a.tt new file mode 100644 index 0000000000..907cb5dc39 --- /dev/null +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_182a.tt @@ -0,0 +1,95 @@ +[% INCLUDE 'doc-head-open.inc' %] +Framework plugin example › Cataloguing › Koha +[% INCLUDE 'doc-head-close.inc' %] + + + + +

UNIMARC field 182a builder

+ +
+ + + + + + +
+ +
+

Cancel

+
+ + + +[% INCLUDE 'popup-bottom.inc' %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_182c.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_182c.tt new file mode 100644 index 0000000000..a496e05379 --- /dev/null +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_182c.tt @@ -0,0 +1,105 @@ +[% INCLUDE 'doc-head-open.inc' %] +Framework plugin example › Cataloguing › Koha +[% INCLUDE 'doc-head-close.inc' %] + + + + +

UNIMARC field 182c builder

+ +
+ + + + + + +
+ +
+

Cancel

+
+ + + +[% INCLUDE 'popup-bottom.inc' %] -- 2.39.5