src/Logging/Activity/IkeaServiceOrderUpdateLog.php line 17

Open in your IDE?
  1. <?php
  2. //----------------------------------------------------------------------
  3. // src/Logging/Activity/IkeaServiceOrderUpdateLog.php
  4. //----------------------------------------------------------------------
  5. namespace App\Logging\Activity;
  6. use Doctrine\Persistence\ManagerRegistry;
  7. use App\Entity\Ikea\ServiceOrderUpdate;
  8. use App\Logging\Tools;
  9. use App\Services\LogTools;
  10. class IkeaServiceOrderUpdateLog
  11. {
  12.     private array $pendingLogArgs = [];
  13.     public function __construct(ManagerRegistry $doctrineLogTools $logToolsTools $tools)
  14.     {
  15.         $this->em $doctrine->getManager();
  16.         $this->logTools $logTools;
  17.         $this->tools $tools;
  18.     }
  19.     public function logCreation(ServiceOrderUpdate $serviceOrderUpdate)
  20.     {
  21.         $serviceOrder $serviceOrderUpdate->getServiceOrder();
  22.         if ($serviceOrder === null) return [];
  23.         $pendingLogArgs = [];
  24.         //----------------------------------------------------------------------
  25.         // Fetch eventual info stored in the object
  26.         $loggingData $this->logTools->handleLoggingData($serviceOrderUpdate);
  27.         $info $loggingData['info'];
  28.         $specialAuthor $loggingData['special_author'];
  29.         $ignore $loggingData['ignore'];
  30.         if ($ignore) return $pendingLogArgs;
  31.         //----------------------------------------------------------------------
  32.         // Init base log args
  33.         // This does not contain action
  34.         $args $this->initArgs($serviceOrderUpdate$loggingData);
  35.         //----------------------------------------------------------------------
  36.         $action "ikea_service_order_add_update_not_applied";
  37.         if ($serviceOrderUpdate->getVersionIsHighest())
  38.         {
  39.             $action "ikea_service_order_add_update_applied";
  40.         }
  41.         $args["action"] = $action;
  42.         $args["new_value"] = "Version ".$serviceOrderUpdate->getVersion();
  43.         $pendingLogArgs[] = $args;
  44.         return $pendingLogArgs;
  45.     }
  46.     public function logChanges(ServiceOrderUpdate $serviceOrderUpdate$changes)
  47.     {
  48.         $pendingLogArgs = [];
  49.         return $pendingLogArgs;
  50.     }
  51.     public function logRemoval(ServiceOrderUpdate $serviceOrderUpdate)
  52.     {
  53.         $pendingLogArgs = [];
  54.         return $pendingLogArgs;
  55.     }
  56.     private function initArgs(ServiceOrderUpdate $serviceOrderUpdate$loggingData)
  57.     {
  58.         $serviceOrder $serviceOrderUpdate->getServiceOrder();
  59.         $receiver $serviceOrder->getClient();
  60.         $society $serviceOrder->getSociety();
  61.         $societyGroup $serviceOrder->getSocietyGroup();
  62.         $args = array(
  63.             "object_id"                    =>    $serviceOrder->getId(),
  64.             "object_bundle"                =>    "Ikea",
  65.             "object_entity"                =>    "ServiceOrder",
  66.             "object_display"            =>    $serviceOrder->display(),
  67.             "object_client_id"            =>    $receiver !== null $receiver->getId() : null,
  68.             "object_client_display"        =>    $receiver !== null $receiver->getName() : null,
  69.             "society_group"                =>    $societyGroup,
  70.             "society"                    =>    $society,
  71.             "info"                        =>    $loggingData['info'],
  72.             "special_author"            =>    $loggingData['special_author'],
  73.         );
  74.         return $args;
  75.     }
  76. }