[Koha-bugs] [Bug 35288] ApplyFrameworkDefaults add plugin to add more fine grained defaults handling

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Thu Nov 9 12:04:39 CET 2023


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35288

--- Comment #1 from Mark Hofstetter <koha at trust-box.at> ---
Created attachment 158710
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=158710&action=edit
Bug 35288: ApplyFrameworkDefaults add plugin to add more fine grained defaults
handling

The "new" ApplyFrameworkDefaults option is to coarse sometimes
ie quite often you also want to apply default values even if then field wasn't
empty before
e.g. on duplicating a new controlnumber should be generated etc

This patch adds a new plugin call 'framework_defaults_override' and tidies up
the code a little

Plugin call:
Koha::Plugins->call( 'framework_defaults_override', $tag, $subfield, $value,
$form_mode );

ie marc tag, marc subfield, the "before value", the action which triggered the
change
possible actions are new, duplicate, changed (Framework), imported (via SRU)

the plugin has to return a hashref containing two keys

apply_override - undef or a true if the default value from the framework should
be applied
override_default_value - a completly new derived value

sub framework_defaults_override {
    my ( $self, $tag, $subfield, $value, $form_mode ) = @_;
    # $framework_override->{override_default_value}
    # $framework_override->{apply_override}
    my $r = {override_default_value => undef, apply_override => undef};
    if ($tag eq '245' && $subfield eq 'a') {
        $r->{apply_override} = 1;
        $r->{override_default_value} =  $value .' added';
    }
    return $r;
}

for a demo implementation please see
https://github.com/HKS3/hks3-munde-framework-defaults-demo/blob/main/hks3-munde-framework-defaults-demo.kpz

To test:
1) apply patch
2) install demo plugin (and don't enable it yet)
3) create a record with a 245a field set to a value eg "My Title"
4) enable ApplyFrameworkDefaults for all 4 cases "Select all"
5) in Cataloging Edit the previously generated record
6) change framework via settings
7) nothing should happen to the title in 245a
8) enable plugin
9) repeat point 5+6
10) the title in 245a should change to  "My Title added"
11) please sign off

Sponsored-by: Styrian State Library
Co-authored-by: Thomas Klausner <domm at plix.at>

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list