From 6aeb4ac7a84d51f6356e2733ceffc7c5b7bdeb24 Mon Sep 17 00:00:00 2001 From: jeremy breuillard Date: Fri, 4 Mar 2022 14:16:33 +0100 Subject: [PATCH] Bug 30507: Value builder for field 183 This patch provides values builders for the subfields $a 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 183 : it contains subfields $a & $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 and $2 --- .../value_builder/unimarc_field_182-2.pl | 64 +++ .../value_builder/unimarc_field_182a.pl | 74 ++++ .../value_builder/unimarc_field_182c.pl | 74 ++++ .../value_builder/unimarc_field_183a.pl | 69 +++ .../value_builder/unimarc_field_182-2.tt | 58 +++ .../value_builder/unimarc_field_182a.tt | 95 ++++ .../value_builder/unimarc_field_182c.tt | 105 +++++ .../value_builder/unimarc_field_183-2.tt | 60 +++ .../value_builder/unimarc_field_183a.tt | 404 ++++++++++++++++++ 9 files changed, 1003 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 100755 cataloguing/value_builder/unimarc_field_183a.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 create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_183-2.tt create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_183a.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..02a93db86e --- /dev/null +++ b/cataloguing/value_builder/unimarc_field_182-2.pl @@ -0,0 +1,64 @@ +#!/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_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 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_182a.pl b/cataloguing/value_builder/unimarc_field_182a.pl new file mode 100755 index 0000000000..e9eea3a384 --- /dev/null +++ b/cataloguing/value_builder/unimarc_field_182a.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_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 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_182c.pl b/cataloguing/value_builder/unimarc_field_182c.pl new file mode 100755 index 0000000000..0d39da435b --- /dev/null +++ b/cataloguing/value_builder/unimarc_field_182c.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_182c.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_183a.pl b/cataloguing/value_builder/unimarc_field_183a.pl new file mode 100755 index 0000000000..a66e4b7417 --- /dev/null +++ b/cataloguing/value_builder/unimarc_field_183a.pl @@ -0,0 +1,69 @@ +#!/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_183a.tt", + query => $cgi, + type => "intranet", + flagsrequired => {editcatalogue => '*'}, + }); + my $results = scalar $cgi->param('result'); + + $template->param( + index => scalar $cgi->param('index'), + result => $results, + ); + + 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_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..03030b48b2 --- /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..e6eccb1922 --- /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' %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_183-2.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_183-2.tt new file mode 100644 index 0000000000..a9532f7677 --- /dev/null +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_183-2.tt @@ -0,0 +1,60 @@ +[% INCLUDE 'doc-head-open.inc' %] +Framework plugin example › Cataloguing › Koha +[% INCLUDE 'doc-head-close.inc' %] + + + + +

UNIMARC field 183-2 builder

+ +
+ + + + + +
+ +
+

Cancel

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

UNIMARC field 183a builder

+ +
+ + + + +
+ +
+

Cancel

+
+ + + +[% INCLUDE 'popup-bottom.inc' %] \ No newline at end of file -- 2.17.1