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

(-)a/Koha/CoverImage.pm (-3 / +4 lines)
Lines 63-71 sub new { Link Here
63
        my $fullsize =
63
        my $fullsize =
64
            $class->_scale_image( $src_image, 600, 800 );    # MAX pixel dims are 600 X 800 for full-size image...
64
            $class->_scale_image( $src_image, 600, 800 );    # MAX pixel dims are 600 X 800 for full-size image...
65
65
66
        $params->{mimetype}  = 'image/png';
66
        $params->{mimetype} = $params->{mimetype} // 'image/png';
67
        $params->{imagefile} = $fullsize->png();
67
        my ( $app, $format ) = split('/',$params->{mimetype});
68
        $params->{thumbnail} = $thumbnail->png();
68
        $params->{imagefile} = $fullsize->$format();
69
        $params->{thumbnail} = $thumbnail->$format();
69
    }
70
    }
70
71
71
    return $class->SUPER::new($params);
72
    return $class->SUPER::new($params);
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/upload-images.tt (+2 lines)
Lines 227-235 Link Here
227
                [% IF itemnumber %]
227
                [% IF itemnumber %]
228
                    <input type="hidden" id="itemnumber" name="itemnumber" value="[% itemnumber | html %]" />
228
                    <input type="hidden" id="itemnumber" name="itemnumber" value="[% itemnumber | html %]" />
229
                    <input type="hidden" name="filetype" value="image" />
229
                    <input type="hidden" name="filetype" value="image" />
230
                    <input type="hidden" name="mimetype" id="mimetype" value="" />
230
                [% ELSIF biblionumber %]
231
                [% ELSIF biblionumber %]
231
                    <input type="hidden" id="biblionumber" name="biblionumber" value="[% biblionumber | html %]" />
232
                    <input type="hidden" id="biblionumber" name="biblionumber" value="[% biblionumber | html %]" />
232
                    <input type="hidden" name="filetype" value="image" />
233
                    <input type="hidden" name="filetype" value="image" />
234
                    <input type="hidden" name="mimetype" id="mimetype" value="" />
233
                [% END %]
235
                [% END %]
234
236
235
                <fieldset id="upload_options" class="rows">
237
                <fieldset id="upload_options" class="rows">
(-)a/koha-tmpl/intranet-tmpl/prog/js/upload-images.js (+2 lines)
Lines 93-99 function prepUpLoad(event) { Link Here
93
    $("#fileuploadstatus, #upload_options").show();
93
    $("#fileuploadstatus, #upload_options").show();
94
    var fd = new FormData();
94
    var fd = new FormData();
95
    fd.append("file", file);
95
    fd.append("file", file);
96
    $("#mimetype").val('');
96
    if (ParseFile(file)) {
97
    if (ParseFile(file)) {
98
        $("#mimetype").val(file.type);
97
        StartUpload(fd);
99
        StartUpload(fd);
98
    }
100
    }
99
}
101
}
(-)a/t/db_dependent/Koha/CoverImages.t (-1 / +51 lines)
Lines 19-25 Link Here
19
19
20
use Modern::Perl;
20
use Modern::Perl;
21
21
22
use Test::More tests => 14;
22
use Test::More tests => 23;
23
use Test::Exception;
23
use Test::Exception;
24
24
25
use FindBin '$Bin';
25
use FindBin '$Bin';
Lines 96-99 Koha::CoverImage->new( Link Here
96
is( $biblio->cover_images->count, 3, );
96
is( $biblio->cover_images->count, 3, );
97
is( $item->cover_images->count,   2, );
97
is( $item->cover_images->count,   2, );
98
98
99
$logo_filepath = "$Bin/../../../koha-tmpl/intranet-tmpl/prog/img/koha-logo.gif";
100
my $mimetype = 'image/gif';
101
$image = Koha::CoverImage->new(
102
    {
103
        biblionumber => $biblio->biblionumber,
104
        src_image    => GD::Image->new($logo_filepath),
105
        mimetype     => $mimetype
106
    }
107
)->store;
108
$cover_image = $biblio->cover_images->last;
109
ok( $cover_image->imagefile, 'image is stored in imagefile' );
110
ok( $cover_image->thumbnail, 'thumbnail has been generated' );
111
is(
112
    $cover_image->mimetype, $mimetype,
113
    'The original mimetype has been kept'
114
);
115
116
$logo_filepath = "$Bin/../../../koha-tmpl/intranet-tmpl/prog/img/koha-logo.png";
117
$mimetype      = 'image/png';
118
$image         = Koha::CoverImage->new(
119
    {
120
        biblionumber => $biblio->biblionumber,
121
        src_image    => GD::Image->new($logo_filepath),
122
        mimetype     => $mimetype
123
    }
124
)->store;
125
$cover_image = $biblio->cover_images->last;
126
ok( $cover_image->imagefile, 'image is stored in imagefile' );
127
ok( $cover_image->thumbnail, 'thumbnail has been generated' );
128
is(
129
    $cover_image->mimetype, $mimetype,
130
    'The original mimetype has been kept'
131
);
132
133
$logo_filepath = "$Bin/../../../koha-tmpl/intranet-tmpl/lib/greybox/GreyBox_v5_5/static_files/night_valley.jpg";
134
$mimetype      = 'image/jpeg';
135
$image         = Koha::CoverImage->new(
136
    {
137
        biblionumber => $biblio->biblionumber,
138
        src_image    => GD::Image->new($logo_filepath),
139
        mimetype     => $mimetype
140
    }
141
)->store;
142
$cover_image = $biblio->cover_images->last;
143
ok( $cover_image->imagefile, 'image is stored in imagefile' );
144
ok( $cover_image->thumbnail, 'thumbnail has been generated' );
145
is(
146
    $cover_image->mimetype, $mimetype,
147
    'The original mimetype has been kept'
148
);
99
$schema->storage->txn_rollback;
149
$schema->storage->txn_rollback;
(-)a/tools/upload-cover-image.pl (-2 / +3 lines)
Lines 67-72 my ( $template, $loggedinuser, $cookie ) = get_template_and_user( Link Here
67
my $filetype     = $input->param('filetype');
67
my $filetype     = $input->param('filetype');
68
my $biblionumber = $input->param('biblionumber');
68
my $biblionumber = $input->param('biblionumber');
69
my $itemnumber   = $input->param('itemnumber');
69
my $itemnumber   = $input->param('itemnumber');
70
my $mimetype     = $input->param('mimetype');
70
my $replace      = !C4::Context->preference("AllowMultipleCovers")
71
my $replace      = !C4::Context->preference("AllowMultipleCovers")
71
    || $input->param('replace');
72
    || $input->param('replace');
72
my $op = $input->param('op') // q{};
73
my $op = $input->param('op') // q{};
Lines 118-124 if ( $op eq 'cud-process' && $fileID ) { Link Here
118
                    {
119
                    {
119
                        biblionumber => $biblionumber,
120
                        biblionumber => $biblionumber,
120
                        itemnumber   => $itemnumber,
121
                        itemnumber   => $itemnumber,
121
                        src_image    => $srcimage
122
                        src_image    => $srcimage,
123
                        mimetype     => $mimetype
122
                    }
124
                    }
123
                )->store;
125
                )->store;
124
            };
126
            };
125
- 

Return to bug 33857