@@ -358,7 +358,7 @@ public function getFormDefinition(FAPI\Form $form, array &$form_state): FAPI\For
358358 ]);
359359 }
360360
361- if ($ this ->getRequest ()->query ->get ('product_type ' ) == 'downloadable ' && $ this ->getRequest ()->query ->get ('product_id ' )) {
361+ if ($ this ->getRequest ()->query ->get ('product_type ' ) == 'book ' && $ this ->getRequest ()->query ->get ('product_id ' )) {
362362 /** @var Book $product */
363363 $ product = $ this ->containerCall ([Book::class, 'load ' ], ['id ' => $ this ->getRequest ()->query ->get ('product_id ' )]);
364364 $ form ->addField ('product_id ' , [
@@ -484,7 +484,8 @@ function ($product) use ($not_in) {
484484 break ;
485485 case 'downloadable_product_deassoc ' :
486486 /** @var DownloadableProduct $product */
487- $ product = $ this ->containerCall ([DownloadableProduct::class, 'load ' ], ['id ' => $ this ->getRequest ()->query ->get ('product_id ' )]);
487+ $ product_id = $ this ->getRequest ()->query ->get ('product_id ' ) ?? $ form_state ['input_values ' ]['product_id ' ];
488+ $ product = $ this ->containerCall ([DownloadableProduct::class, 'load ' ], ['id ' => $ product_id ]);
488489 $ form ->addField ('product_id ' , [
489490 'type ' => 'hidden ' ,
490491 'default_value ' => $ product ->getId (),
@@ -536,7 +537,8 @@ function ($product) use ($not_in) {
536537 break ;
537538 case 'book_deassoc ' :
538539 /** @var Book $product */
539- $ product = $ this ->containerCall ([Book::class, 'load ' ], ['id ' => $ this ->getRequest ()->query ->get ('product_id ' )]);
540+ $ product_id = $ this ->getRequest ()->query ->get ('product_id ' ) ?? $ form_state ['input_values ' ]['product_id ' ];
541+ $ product = $ this ->containerCall ([Book::class, 'load ' ], ['id ' => $ product_id ]);
540542 $ form ->addField ('product_id ' , [
541543 'type ' => 'hidden ' ,
542544 'default_value ' => $ product ->getId (),
@@ -690,7 +692,7 @@ public function formSubmitted(FAPI\Form $form, &$form_state): mixed
690692 break ;
691693 case 'downloadable_product_deassoc ' :
692694 if ($ values ['product_id ' ]) {
693- /** @var DownloadableProduct $page */
695+ /** @var DownloadableProduct $product */
694696 $ product = $ this ->containerCall ([DownloadableProduct::class, 'load ' ], ['id ' => $ values ['product_id ' ]]);
695697 $ product ->removeMedia ($ media );
696698 }
@@ -702,6 +704,20 @@ public function formSubmitted(FAPI\Form $form, &$form_state): mixed
702704 $ product ->addMedia ($ media );
703705 }
704706 break ;
707+ case 'book_deassoc ' :
708+ if ($ values ['product_id ' ]) {
709+ /** @var Book $product */
710+ $ product = $ this ->containerCall ([Book::class, 'load ' ], ['id ' => $ values ['product_id ' ]]);
711+ $ product ->removeMedia ($ media );
712+ }
713+ break ;
714+ case 'book_assoc ' :
715+ if ($ values ['product_id ' ]) {
716+ /** @var Book $product */
717+ $ product = $ this ->containerCall ([Book::class, 'load ' ], ['id ' => $ values ['product_id ' ]]);
718+ $ product ->addMedia ($ media );
719+ }
720+ break ;
705721 case 'delete ' :
706722 if ($ media ->isDirectory ()) {
707723 $ deletedElements = $ this ->deleteMediaFolder ($ media );
0 commit comments