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

(-)a/Koha/CoverImage.pm (-3 / +4 lines)
Lines 64-72 sub new { Link Here
64
        my $fullsize = $class->_scale_image( $src_image, 600, 800 )
64
        my $fullsize = $class->_scale_image( $src_image, 600, 800 )
65
          ;    # MAX pixel dims are 600 X 800 for full-size image...
65
          ;    # MAX pixel dims are 600 X 800 for full-size image...
66
66
67
        $params->{mimetype} = 'image/png';
67
        $params->{mimetype} = $params->{mimetype} // 'image/png';
68
        $params->{imagefile} = $fullsize->png();
68
        my ( $app, $format ) = split('/',$params->{mimetype});
69
        $params->{thumbnail} = $thumbnail->png();
69
        $params->{imagefile} = $fullsize->$format();
70
        $params->{thumbnail} = $thumbnail->$format();
70
    }
71
    }
71
72
72
    return $class->SUPER::new($params);
73
    return $class->SUPER::new($params);
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/upload-images.tt (+2 lines)
Lines 215-223 Link Here
215
                            [% IF itemnumber %]
215
                            [% IF itemnumber %]
216
                                <input type="hidden" id="itemnumber" name="itemnumber" value="[% itemnumber | html %]" />
216
                                <input type="hidden" id="itemnumber" name="itemnumber" value="[% itemnumber | html %]" />
217
                                <input type="hidden" name="filetype" value="image" />
217
                                <input type="hidden" name="filetype" value="image" />
218
                                <input type="text" name="mimetype" id="mimetype" value="" />
218
                            [% ELSIF biblionumber %]
219
                            [% ELSIF biblionumber %]
219
                                <input type="hidden" id="biblionumber" name="biblionumber" value="[% biblionumber | html %]" />
220
                                <input type="hidden" id="biblionumber" name="biblionumber" value="[% biblionumber | html %]" />
220
                                <input type="hidden" name="filetype" value="image" />
221
                                <input type="hidden" name="filetype" value="image" />
222
                                <input type="text" name="mimetype" id="mimetype" value="" />
221
                            [% END %]
223
                            [% END %]
222
224
223
225
(-)a/koha-tmpl/intranet-tmpl/prog/js/upload-images.js (+2 lines)
Lines 89-95 function prepUpLoad( event ){ Link Here
89
    $("#fileuploadstatus, #upload_options").show();
89
    $("#fileuploadstatus, #upload_options").show();
90
    var fd = new FormData();
90
    var fd = new FormData();
91
    fd.append('file', file);
91
    fd.append('file', file);
92
    $("#mimetype").val('');
92
    if( ParseFile( file ) ){
93
    if( ParseFile( file ) ){
94
        $("#mimetype").val(file.type);
93
        StartUpload( fd );
95
        StartUpload( fd );
94
    }
96
    }
95
}
97
}
(-)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 91-94 Koha::CoverImage->new( Link Here
91
is( $biblio->cover_images->count, 3, );
91
is( $biblio->cover_images->count, 3, );
92
is( $item->cover_images->count, 2, );
92
is( $item->cover_images->count, 2, );
93
93
94
$logo_filepath = "$Bin/../../../koha-tmpl/intranet-tmpl/prog/img/koha-logo.gif";
95
my $mimetype = 'image/gif';
96
$image = Koha::CoverImage->new(
97
    {
98
        biblionumber => $biblio->biblionumber,
99
        src_image    => GD::Image->new($logo_filepath),
100
        mimetype     => $mimetype
101
    }
102
)->store;
103
$cover_image = $biblio->cover_images->last;
104
ok( $cover_image->imagefile, 'image is stored in imagefile' );
105
ok( $cover_image->thumbnail, 'thumbnail has been generated' );
106
is(
107
    $cover_image->mimetype, $mimetype,
108
    'The original mimetype has been kept'
109
);
110
111
$logo_filepath = "$Bin/../../../koha-tmpl/intranet-tmpl/prog/img/koha-logo.png";
112
$mimetype      = 'image/png';
113
$image         = Koha::CoverImage->new(
114
    {
115
        biblionumber => $biblio->biblionumber,
116
        src_image    => GD::Image->new($logo_filepath),
117
        mimetype     => $mimetype
118
    }
119
)->store;
120
$cover_image = $biblio->cover_images->last;
121
ok( $cover_image->imagefile, 'image is stored in imagefile' );
122
ok( $cover_image->thumbnail, 'thumbnail has been generated' );
123
is(
124
    $cover_image->mimetype, $mimetype,
125
    'The original mimetype has been kept'
126
);
127
128
$logo_filepath = "$Bin/../../../koha-tmpl/intranet-tmpl/lib/greybox/GreyBox_v5_5/static_files/night_valley.jpg";
129
$mimetype      = 'image/jpeg';
130
$image         = Koha::CoverImage->new(
131
    {
132
        biblionumber => $biblio->biblionumber,
133
        src_image    => GD::Image->new($logo_filepath),
134
        mimetype     => $mimetype
135
    }
136
)->store;
137
$cover_image = $biblio->cover_images->last;
138
ok( $cover_image->imagefile, 'image is stored in imagefile' );
139
ok( $cover_image->thumbnail, 'thumbnail has been generated' );
140
is(
141
    $cover_image->mimetype, $mimetype,
142
    'The original mimetype has been kept'
143
);
94
$schema->storage->txn_rollback;
144
$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