don't overwrite already set response data when return_object is enabled
Alexander Hartmaier [Wed, 13 Jun 2018 13:48:29 +0000 (15:48 +0200)]
Changes
lib/Catalyst/Controller/DBIC/API.pm

diff --git a/Changes b/Changes
index 63a792b..aa3b4ed 100644 (file)
--- a/Changes
+++ b/Changes
@@ -3,6 +3,7 @@ Revision history for Catalyst-Controller-DBIC-API: {{ $dist->version }}
 {{ $NEXT }}
   - Improve data_root & item_root documentation
   - Fix grouped_by request argument documentation
+  - Don't overwrite already set response data when return_object is enabled
 
 2.006002  2014-08-26 12:31:27+02:00 Europe/Vienna
  - Fix missing Data::Printer test requirement
index 7b79e31..058e790 100644 (file)
@@ -964,7 +964,9 @@ sub end : Private {
     if ( $c->res->status == 200 ) {
         $c->stash->{ $self->stash_key }->{success} =
             $self->use_json_boolean ? JSON::true : 'true';
-        if ( $self->return_object && $c->req->has_objects ) {
+        if ( $self->return_object
+            && $c->req->has_objects
+            && ! exists $c->stash->{ $self->stash_key }->{ $self->data_root } ) {
             my $returned_objects = [];
             push( @$returned_objects, $self->each_object_inflate( $c, $_ ) )
                 for map { $_->[0] } $c->req->all_objects;