View | Details | Raw Unified | Return to bug 35288
Collapse All | Expand All

(-)a/Koha/UI/Form/Builder/Biblio.pm (-14 / +26 lines)
Lines 92-118 sub generate_subfield_form { Link Here
92
    # based on the ApplyFrameworkDefaults setting.
92
    # based on the ApplyFrameworkDefaults setting.
93
    # Substitute date parts, user name
93
    # Substitute date parts, user name
94
    my $applydefaults = C4::Context->preference('ApplyFrameworkDefaults');
94
    my $applydefaults = C4::Context->preference('ApplyFrameworkDefaults');
95
    if ( $value eq '' && (
95
96
        ( $applydefaults =~ /new/ && !$self->{biblionumber} ) ||
96
    my $form_mode;
97
        ( $applydefaults =~ /duplicate/ && $op eq 'duplicate' ) ||
97
    if ( !$self->{biblionumber} ) {
98
        ( $applydefaults =~ /changed/ && $changed_framework ) ||
98
        $form_mode = 'new';
99
        ( $applydefaults =~ /imported/ && $breedingid )
99
    } elsif ( $op eq 'duplicate' ) {
100
    ) ) {
100
        $form_mode = 'duplicate';
101
        $value = $tagslib->{$tag}->{$subfield}->{defaultvalue} // q{};
101
    } elsif ($changed_framework) {
102
        $form_mode = 'changed';
103
    } elsif ($breedingid) {
104
        $form_mode = 'imported';
105
    }
106
107
    my ($framework_override) =
108
        Koha::Plugins->call( 'framework_defaults_override', $tag, $subfield, $value, $form_mode );
109
110
    if (   ( $value eq '' || $framework_override->{apply_override} )
111
        && ( $applydefaults =~ /$form_mode/ ) )
112
    {
113
        $value = $framework_override->{override_default_value} // $tagslib->{$tag}->{$subfield}->{defaultvalue} // q{};
102
114
103
        # get today date & replace <<YYYY>>, <<YY>>, <<MM>>, <<DD>> if provided in the default value
115
        # get today date & replace <<YYYY>>, <<YY>>, <<MM>>, <<DD>> if provided in the default value
104
        my $today_dt = dt_from_string;
116
        my $today_dt  = dt_from_string;
105
        my $year = $today_dt->strftime('%Y');
117
        my $year      = $today_dt->strftime('%Y');
106
        my $shortyear = $today_dt->strftime('%y');
118
        my $shortyear = $today_dt->strftime('%y');
107
        my $month = $today_dt->strftime('%m');
119
        my $month     = $today_dt->strftime('%m');
108
        my $day = $today_dt->strftime('%d');
120
        my $day       = $today_dt->strftime('%d');
109
        $value =~ s/<<YYYY>>/$year/g;
121
        $value =~ s/<<YYYY>>/$year/g;
110
        $value =~ s/<<YY>>/$shortyear/g;
122
        $value =~ s/<<YY>>/$shortyear/g;
111
        $value =~ s/<<MM>>/$month/g;
123
        $value =~ s/<<MM>>/$month/g;
112
        $value =~ s/<<DD>>/$day/g;
124
        $value =~ s/<<DD>>/$day/g;
125
113
        # And <<USER>> with surname (?)
126
        # And <<USER>> with surname (?)
114
        my $username=(C4::Context->userenv?C4::Context->userenv->{'surname'}:"superlibrarian");
127
        my $username = ( C4::Context->userenv ? C4::Context->userenv->{'surname'} : "superlibrarian" );
115
        $value=~s/<<USER>>/$username/g;
128
        $value =~ s/<<USER>>/$username/g;
116
    }
129
    }
117
130
118
    my $dbh = C4::Context->dbh;
131
    my $dbh = C4::Context->dbh;
119
- 

Return to bug 35288