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

(-)a/C4/Installer/PerlModules.pm (-1 / +11 lines)
Lines 60-69 sub versions_info { Link Here
60
60
61
                my $module_infos = {
61
                my $module_infos = {
62
                    cur_ver  => 0,
62
                    cur_ver  => 0,
63
                    min_ver  => $reqs->requirements_for_module($module),
64
                    required => $type eq 'requires',
63
                    required => $type eq 'requires',
65
                };
64
                };
66
65
66
                my $vers = $reqs->structured_requirements_for_module($module);
67
                for my $req (@$vers) {
68
                    if ( $req->[0] eq '>=' || $req->[0] eq '>' ) {
69
                        $module_infos->{min_ver} = $req->[1];
70
                    } elsif ( $req->[0] eq '<=' || $req->[0] eq '<' ) {
71
                        $module_infos->{max_ver} = $req->[1];
72
                    } else {
73
                        push @{$module_infos->{exc_ver}}, $req->[1];
74
                    }
75
                }
76
67
                my $attr;
77
                my $attr;
68
78
69
                $Readonly::XS::MAGIC_COOKIE="Do NOT use or require Readonly::XS unless you're me.";
79
                $Readonly::XS::MAGIC_COOKIE="Do NOT use or require Readonly::XS unless you're me.";
(-)a/about.pl (+1 lines)
Lines 558-563 foreach my $pm_type(@pm_types) { Link Here
558
                current => ($pm_type eq 'current_pm' ? 1 : 0),
558
                current => ($pm_type eq 'current_pm' ? 1 : 0),
559
                require => $stats->{'required'},
559
                require => $stats->{'required'},
560
                reqversion => $stats->{'min_ver'},
560
                reqversion => $stats->{'min_ver'},
561
                maxversion => $stats->{'max_ver'}
561
            }
562
            }
562
        );
563
        );
563
    }
564
    }
(-)a/installer/install.pl (-8 / +26 lines)
Lines 101-124 if ( $step && $step == 1 ) { Link Here
101
    my $perl_modules = C4::Installer::PerlModules->new;
101
    my $perl_modules = C4::Installer::PerlModules->new;
102
    $perl_modules->versions_info;
102
    $perl_modules->versions_info;
103
103
104
    my $modules = $perl_modules->get_attr('missing_pm');
104
    my $missing_modules = $perl_modules->get_attr('missing_pm');
105
    if ( scalar(@$modules) ) {
105
    my $upgrade_modules = $perl_modules->get_attr('upgrade_pm');
106
        my @components  = ();
106
    if ( scalar(@$missing_modules) || scalar(@$upgrade_modules) ) {
107
        foreach (@$modules) {
107
        my @missing  = ();
108
        my @upgrade = ();
109
        foreach (@$missing_modules) {
108
            my ( $module, $stats ) = each %$_;
110
            my ( $module, $stats ) = each %$_;
109
            $checkmodule = 0 if $stats->{'required'};
111
            $checkmodule = 0 if $stats->{'required'};
110
            push(
112
            push(
111
                @components,
113
                @missing,
112
                {
114
                {
113
                    name    => $module,
115
                    name    => $module,
114
                    version => $stats->{'min_ver'},
116
                    min_version => $stats->{'min_ver'},
117
                    max_version => $stats->{'max_ver'},
115
                    require => $stats->{'required'}
118
                    require => $stats->{'required'}
116
                }
119
                }
117
            );
120
            );
118
        }
121
        }
119
        @components = sort { $a->{'name'} cmp $b->{'name'} } @components;
122
        foreach (@$upgrade_modules) {
123
            my ( $module, $stats ) = each %$_;
124
            $checkmodule = 0 if $stats->{'required'};
125
            push(
126
                @upgrade,
127
                {
128
                    name    => $module,
129
                    min_version => $stats->{'min_ver'},
130
                    max_version => $stats->{'max_ver'},
131
                    require => $stats->{'required'}
132
                }
133
            );
134
        }
135
        @missing = sort { $a->{'name'} cmp $b->{'name'} } @missing;
136
        @upgrade = sort { $a->{'name'} cmp $b->{'name'} } @upgrade;
120
        $template->param(
137
        $template->param(
121
            missing_modules => \@components,
138
            missing_modules => \@missing,
139
            upgrade_modules => \@upgrade,
122
            checkmodule     => $checkmodule,
140
            checkmodule     => $checkmodule,
123
            op              => $op
141
            op              => $op
124
        );
142
        );
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/about.tt (-1 / +1 lines)
Lines 168-174 Link Here
168
                    [% END %]
168
                    [% END %]
169
                    [% END %]
169
                    [% END %]
170
                    [% IF ( ro.name ) %]
170
                    [% IF ( ro.name ) %]
171
                    [% ro.name | html %] <span style="font-weight:normal; font-size:smaller"> ([% ro.reqversion | html %])</span>
171
                    [% ro.name | html %] <span style="font-weight:normal; font-size:smaller"> ([% ro.reqversion | html %][% IF ro.maxversion %] - [% ro.maxversion | html %][% END %])</span>
172
                    [% END %]
172
                    [% END %]
173
                    </th>
173
                    </th>
174
                    [% IF ( ro.name == '' ) %]
174
                    [% IF ( ro.name == '' ) %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/installer/step1.tt (-2 / +15 lines)
Lines 61-67 Link Here
61
                            <ul>
61
                            <ul>
62
                                [% FOREACH missing_module IN missing_modules %]
62
                                [% FOREACH missing_module IN missing_modules %]
63
                                    <li><strong>[% missing_module.name | html %]</strong> [% IF ( missing_module.require ) %]<span class="label label-danger">Required</span>[% END %]
63
                                    <li><strong>[% missing_module.name | html %]</strong> [% IF ( missing_module.require ) %]<span class="label label-danger">Required</span>[% END %]
64
                                        <br /> Version: [% missing_module.version | html %]
64
                                        <br /> Version: [% missing_module.min_version | html %]
65
                                    </li>
66
                                [% END %]
67
                            </ul>
68
                        [% END %]
69
70
                        [% IF ( upgrade_modules ) %]
71
                            <h2>Web installer &rsaquo; Perl modules due for upgrade</h2>
72
                            <p>Some Perl modules require upgrade. <span class="label label-danger">Important: </span>Required modules must be installed at the correct version before you may continue.<br />
73
                            <ul>
74
                                [% FOREACH upgrade_module IN upgrade_modules %]
75
                                    <li><strong>[% upgrade_module.name | html %]</strong> [% IF ( upgrade_module.require ) %]<span class="label label-danger">Required</span>[% END %]
76
                                        <br /> Installed version: [% upgrade_module.version | html %]
77
                                        <br /> Minimum version: [% upgrade_module.min_version | html %]
78
                                        <br /> Maximum version: [% upgrade_module.max_version | html %]
65
                                    </li>
79
                                    </li>
66
                                [% END %]
80
                                [% END %]
67
                            </ul>
81
                            </ul>
68
- 

Return to bug 19735