From 0cb7f95c76b0a33d977134dda7315ffef60baa11 Mon Sep 17 00:00:00 2001 From: jeremy breuillard Date: Thu, 3 Mar 2022 10:32:04 +0100 Subject: [PATCH] Bug 30504: Value builder for field 181 This patch provides values builders for the subfields $a, $b, $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 181 : it contains subfields $a, $b, $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, $b, $c and $2 Signed-off-by: David Nind Signed-off-by: Kyle M Hall --- .../value_builder/unimarc_field_181-2.pl | 65 +++++ .../value_builder/unimarc_field_181a.pl | 74 +++++ .../value_builder/unimarc_field_181b.pl | 72 +++++ .../value_builder/unimarc_field_181c.pl | 70 +++++ .../value_builder/unimarc_field_181-2.tt | 58 ++++ .../value_builder/unimarc_field_181a.tt | 143 ++++++++++ .../value_builder/unimarc_field_181b.tt | 257 ++++++++++++++++++ .../value_builder/unimarc_field_181c.tt | 195 +++++++++++++ 8 files changed, 934 insertions(+) create mode 100755 cataloguing/value_builder/unimarc_field_181-2.pl create mode 100755 cataloguing/value_builder/unimarc_field_181a.pl create mode 100755 cataloguing/value_builder/unimarc_field_181b.pl create mode 100755 cataloguing/value_builder/unimarc_field_181c.pl create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_181-2.tt create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_181a.tt create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_181b.tt create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_181c.tt diff --git a/cataloguing/value_builder/unimarc_field_181-2.pl b/cataloguing/value_builder/unimarc_field_181-2.pl new file mode 100755 index 0000000000..f420c0505b --- /dev/null +++ b/cataloguing/value_builder/unimarc_field_181-2.pl @@ -0,0 +1,65 @@ +#!/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_181-2.tt", + query => $cgi, + type => "intranet", + flagsrequired => {editcatalogue => '*'}, + }); + $template->param( + index => scalar $cgi->param('index'), + result => scalar $cgi->param('result'), + cgi => $cgi, + ); + output_html_with_http_headers $cgi, $cookie, $template->output; +}; + +# Return the hashref with the builder and launcher to FrameworkPlugin object. +# NOTE: If you do not need a popup but only use e.g. Focus, Blur etc. for a +# particular plugin, you only need to define and return the builder. +return { builder => $builder, launcher => $launcher }; diff --git a/cataloguing/value_builder/unimarc_field_181a.pl b/cataloguing/value_builder/unimarc_field_181a.pl new file mode 100755 index 0000000000..a29691a95e --- /dev/null +++ b/cataloguing/value_builder/unimarc_field_181a.pl @@ -0,0 +1,74 @@ +#!/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_181a.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 the hashref with the builder and launcher to FrameworkPlugin object. +# NOTE: If you do not need a popup but only use e.g. Focus, Blur etc. for a +# particular plugin, you only need to define and return the builder. +return { builder => $builder, launcher => $launcher }; diff --git a/cataloguing/value_builder/unimarc_field_181b.pl b/cataloguing/value_builder/unimarc_field_181b.pl new file mode 100755 index 0000000000..d7dd4701e7 --- /dev/null +++ b/cataloguing/value_builder/unimarc_field_181b.pl @@ -0,0 +1,72 @@ +#!/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 ); +use Data::Dumper; + +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_181b.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_181c.pl b/cataloguing/value_builder/unimarc_field_181c.pl new file mode 100755 index 0000000000..49ac57d97a --- /dev/null +++ b/cataloguing/value_builder/unimarc_field_181c.pl @@ -0,0 +1,70 @@ +#!/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_181c.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 the hashref with the builder and launcher to FrameworkPlugin object. +# NOTE: If you do not need a popup but only use e.g. Focus, Blur etc. for a +# particular plugin, you only need to define and return the builder. +return { builder => $builder, launcher => $launcher }; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_181-2.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_181-2.tt new file mode 100644 index 0000000000..2aaf84e508 --- /dev/null +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_181-2.tt @@ -0,0 +1,58 @@ +[% INCLUDE 'doc-head-open.inc' %] +Framework plugin example › Cataloguing › Koha +[% INCLUDE 'doc-head-close.inc' %] + + + + +

UNIMARC field 181-2 builder

+ +
+ + + + + +
+ +
+

Cancel

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

UNIMARC field 181a builder

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

Cancel

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

UNIMARC field 181b builder

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

Cancel

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

UNIMARC field 181c builder

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

Cancel

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