}
}
+ # update shop status
+ my $invoice = SL::DB::Invoice->new( id => $form->{id} )->load;
+ my @linked_shop_orders = $invoice->linked_records(
+ from => 'ShopOrder',
+ via => ['Order', 'DeliveryOrder'],
+ );
+ if (scalar @linked_shop_orders == 1){
+ #do update
+ my $shop_order = $linked_shop_orders[0][0];
+ require SL::Shop;
+ my $shop_config = SL::DB::Manager::Shop->get_first( query => [ id => $shop_order->shop_id ] );
+ my $shop = SL::Shop->new( config => $shop_config );
+ $shop->connector->set_orderstatus($shop_order->shop_trans_id, "completed");
+ }
+
return 1;
}
sub get_article { die 'get_article needs to be implemented' }
-sub get_categories { die 'get_order needs to be implemented' }
+sub get_categories { die 'get_categories needs to be implemented' }
-sub get_version { die 'get_order needs to be implemented' }
+sub get_version { die 'get_version needs to be implemented' }
+
+sub set_orderstatus { die 'set_orderstatus needs to be implemented' }
1;
=item C<get_version>
+=item C<set_orderstatus>
+
=back
=head1 SEE ALSO
};
if(!@errors){
+ $self->set_orderstatus($import->{data}->{id}, "fetched");
$of++;
}else{
flash_later('error', $::locale->text('Database errors: #1', @errors));
};
if(!@errors){
+ $self->set_orderstatus($shoporder->{id}, "fetched");
$of++;
}else{
flash_later('error', $::locale->text('Database errors: #1', @errors));
return SL::JSON::decode_json($data_json);
}
+sub set_orderstatus {
+ my ($self,$order_id, $status) = @_;
+ if ($status eq "fetched") { $status = 1; }
+ if ($status eq "completed") { $status = 2; }
+ my %new_status = (orderStatusId => $status);
+ my $new_status_json = SL::JSON::to_json(\%new_status);
+ $self->connector->put($self->url . "api/orders/$order_id", Content => $new_status_json);
+}
+
sub init_url {
my ($self) = @_;
$self->url($self->config->protocol . "://" . $self->config->server . ":" . $self->config->port . $self->config->path);