--- /dev/null
+# This file has been auto-generated only because it didn't exist.
+# Feel free to modify it at will; it will not be overwritten automatically.
+
+package SL::DB::Shop;
+
+use strict;
+
+use SL::DB::MetaSetup::Shop;
+use SL::DB::Manager::Shop;
+use SL::DB::Helper::ActsAsList;
+use SL::Locale::String qw(t8);
+
+__PACKAGE__->meta->initialize;
+
+sub validate {
+ my ($self) = @_;
+
+ my @errors;
+ # critical checks
+ push @errors, $::locale->text('The description is missing.') unless $self->{description};
+ push @errors, $::locale->text('The path is missing.') unless $self->{path};
+ push @errors, $::locale->text('The Host Name is missing') unless $self->{server};
+ push @errors, $::locale->text('The Host Name seems invalid') unless $self->{server} =~ m/[0-9A-Za-z].\.[0-9A-Za-z]/;
+ push @errors, $::locale->text('The Protocol for Host Name seems invalid (expected: http:// or https://)!')
+ if ($self->{server} =~ m/:/ && $self->{server} !~ m/(^https:\/\/|^http:\/\/)/);
+ push @errors, $::locale->text('The Proxy Name seems invalid') . $self->{proxy} . ':' unless !$self->{proxy} || $self->{proxy} =~ m/[0-9A-Za-z].\.[0-9A-Za-z]/;
+ push @errors, $::locale->text('Orders to fetch neeeds a positive Integer')
+ unless $self->{orders_to_fetch} > 0;
+
+ # not yet implemented checks
+ if ($self->{connector} eq 'shopware6') {
+ push @errors, $::locale->text('Transaction Description is not yet implemented') if $self->{transaction_description};
+ push @errors, $::locale->text('Shipping cost article is not implemented') if $self->{shipping_costs_parts_id};
+ push @errors, $::locale->text('Fetch from last order number is not implemented') if $self->{last_order_number};
+ } else {
+ push @errors, $::locale->text('Use Long Description from Parts is only for Shopware6 implemented')
+ if $self->{use_part_longdescription};
+ }
+ return @errors;
+}
+
+sub shops_dd {
+ my ( $self ) = @_;
+
+ my @shops_dd = ( { title => t8("all") , value =>'' } );
+ my $shops = SL::DB::Manager::Shop->get_all( where => [ obsolete => 0 ] );
+ my @tmp = map { { title => $_->{description}, value => $_->{id} } } @{ $shops } ;
+ push @shops_dd, @tmp;
+ return \@shops_dd;
+}
+
+1;
+
+__END__
+
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+SL::DB::Shop - Model for the 'shops' table
+
+=head1 SYNOPSIS
+
+This is a standard Rose::DB::Object based model and can be used as one.
+
+=head1 METHODS
+
+=over 4
+
+=item C<validate>
+
+Returns an error if the shop description is missing
+
+=item C<shops_dd>
+
+Returns an array of hashes for dropdowns in filters
+
+=back
+
+=head1 AUTHORS
+
+Werner Hahn E<lt>wh@futureworldsearch.netE<gt>
+
+G. Richardson E<lt>grichardson@kivitendo-premium.deE<gt>
+
+=cut