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

(-)a/Koha/Plugins/Base.pm (-3 / +5 lines)
Lines 45-51 sub new { Link Here
45
    my $self = bless( $args, $class );
45
    my $self = bless( $args, $class );
46
46
47
    my $plugin_version = $self->get_metadata->{version};
47
    my $plugin_version = $self->get_metadata->{version};
48
    my $database_version = $self->retrieve_data('__INSTALLED_VERSION__');
48
    my $database_version = $self->retrieve_data('__INSTALLED_VERSION__') || 0;
49
49
50
    ## Run the installation method if it exists and hasn't been run before
50
    ## Run the installation method if it exists and hasn't been run before
51
    if ( $self->can('install') && !$self->retrieve_data('__INSTALLED__') ) {
51
    if ( $self->can('install') && !$self->retrieve_data('__INSTALLED__') ) {
Lines 57-69 sub new { Link Here
57
        } else {
57
        } else {
58
            warn "Plugin $class failed during installation!";
58
            warn "Plugin $class failed during installation!";
59
        }
59
        }
60
    } elsif ( $self->can('upgrade') && $plugin_version && $database_version ) {
60
    } elsif ( $self->can('upgrade') ) {
61
        if ( _version_compare( $plugin_version, $database_version ) == 1 ) {
61
        if ( _version_compare( $plugin_version, $database_version ) == 1 ) {
62
            if ( $self->upgrade() ) {
62
            if ( $self->upgrade() ) {
63
                $self->store_data({ '__INSTALLED_VERSION__' => $plugin_version });
63
                $self->store_data({ '__INSTALLED_VERSION__' => $plugin_version });
64
            } else {
64
                warn "Plugin $class failed during upgrade!";
65
                warn "Plugin $class failed during upgrade!";
65
            }
66
            }
66
        }
67
        }
68
    } elsif ( $plugin_version ne $database_version ) {
69
        $self->store_data({ '__INSTALLED_VERSION__' => $plugin_version });
67
    }
70
    }
68
71
69
    return $self;
72
    return $self;
70
- 

Return to bug 22084