@@ -203,9 +203,7 @@ our $data_processors = {
203
203
$EDIT_RELATIONSHIP_DELETE => sub {
204
204
my ($c , $loader , $data ) = @_ ;
205
205
206
- if (defined $data -> {enteredFrom }) {
207
- $data -> {entered_from } = delete $data -> {enteredFrom };
208
- }
206
+ process_entered_from($c , $loader , $data );
209
207
},
210
208
211
209
$EDIT_RELATIONSHIPS_REORDER => sub {
@@ -225,9 +223,7 @@ our $data_processors = {
225
223
$ordering -> {old_order } = $relationship -> link_order;
226
224
}
227
225
228
- if (defined $data -> {enteredFrom }) {
229
- $data -> {entered_from } = delete $data -> {enteredFrom };
230
- }
226
+ process_entered_from($c , $loader , $data );
231
227
},
232
228
233
229
$EDIT_RELEASE_REORDER_MEDIUMS => sub {
@@ -284,9 +280,7 @@ sub process_entity {
284
280
$data -> {comment } = substr ($data -> {comment }, 0, 255);
285
281
}
286
282
287
- if (defined $data -> {enteredFrom }) {
288
- $data -> {entered_from } = delete $data -> {enteredFrom };
289
- }
283
+ process_entered_from($c , $loader , $data );
290
284
291
285
process_artist_credit($c , $loader , $data );
292
286
}
@@ -367,6 +361,19 @@ sub process_artist_credit {
367
361
if defined $data -> {artist_credit };
368
362
}
369
363
364
+ sub process_entered_from {
365
+ my ($c , $loader , $data ) = @_ ;
366
+
367
+ if (defined $data -> {enteredFrom }) {
368
+ my $entered_from = delete $data -> {enteredFrom };
369
+ my $entity_model = type_to_model($entered_from -> {entity_type });
370
+ my $entity = $c -> model($entity_model )-> get_by_gid($entered_from -> {gid });
371
+ if ($entity ) {
372
+ $data -> {entered_from } = $entered_from ;
373
+ }
374
+ }
375
+ }
376
+
370
377
sub process_medium {
371
378
my ($c , $loader , $data ) = @_ ;
372
379
@@ -476,9 +483,7 @@ sub process_relationship {
476
483
);
477
484
}
478
485
479
- if (defined $data -> {enteredFrom }) {
480
- $data -> {entered_from } = delete $data -> {enteredFrom };
481
- }
486
+ process_entered_from($c , $loader , $data );
482
487
483
488
delete $data -> {id };
484
489
delete $data -> {linkTypeID };
0 commit comments