use SL::File::Backend;
use SL::File::Object;
use SL::DB::History;
+use SL::DB::ShopImage;
use SL::DB::File;
use SL::Helper::UserPreferences;
+use SL::Controller::Helper::ThumbnailCreator qw(file_probe_type);
use SL::JSON;
use constant RENAME_OK => 0;
sub delete {
my ($self, %params) = @_;
- die "no id or dbfile" unless $params{id} || $params{dbfile};
+ die "no id or dbfile in delete" unless $params{id} || $params{dbfile};
my $rc = 0;
eval {
$rc = SL::DB->client->with_transaction(\&_delete, $self, %params);
$file->mtime(DateTime->now_local);
$file->save;
+ #ShopImage
+ if($file->object_type eq "shop_image"){
+ my $image_content = $params{file_contents};
+ my $thumbnail = file_probe_type($image_content);
+ my $shopimage = SL::DB::ShopImage->new();
+ $shopimage->assign_attributes(
+ file_id => $file->id,
+ thumbnail_content => $thumbnail->{thumbnail_img_content},
+ org_file_height => $thumbnail->{file_image_height},
+ org_file_width => $thumbnail->{file_image_width},
+ thumbnail_content_type => $thumbnail->{thumbnail_img_content_type},
+ object_id => $file->object_id,
+ );
+ $shopimage->save;
+ }
if ($params{file_type} eq 'document' && $params{source} ne 'created') {
SL::DB::History->new(
addition => 'IMPORT',
return unless $params{file_type};
my $file = SL::DB::File->new;
$file->file_type($params{file_type});
- my $backend = $self->_get_backend(dbfile => $file->backend);
+ my $backend = $self->_get_backend($self->_get_backend_by_file_type($file));
return unless $backend;
$backend->sync_from_backend(%params);
}
my ($self, $backend_name) = @_;
my $class = 'SL::File::Backend::' . $backend_name;
my $obj = undef;
+ die $::locale->text('no backend enabled') if $backend_name eq 'None';
eval {
eval "require $class";
$obj = $class->new;
- die 'backend not enabled' unless $obj->enabled;
+ die $::locale->text('backend "#1" not enabled',$backend_name) unless $obj->enabled;
1;
} or do {
- die 'backend class not found';
+ if ( $obj ) {
+ die $@;
+ } else {
+ die $::locale->text('backend "#1" not found',$backend_name);
+ }
};
return $obj;
}