/** * @param \DDD\Domain\Booking\BookingTicket $booking * @param array $data * @param array $permission */ private function setGinosiComment($booking, $data, $permission) { /** * @var Logger $logger */ $logger = $this->getServiceLocator()->get('ActionLogger'); if ($permission['credit']) { if ($booking->getFunds_confirmed() != $data['finance_valid_card']) { $logger->save(Logger::MODULE_BOOKING, $booking->getId(), Logger::ACTION_BOOKING_CC_STATUS, (int) $data['finance_valid_card'] + 1); } } if ($booking->isKiViewed() != (int) $data['finance_key_instructions']) { $logger->save(Logger::MODULE_BOOKING, $booking->getId(), Logger::ACTION_KI_VIEWED, (int) $data['finance_key_instructions']); } if ($booking->getApartelId() != (int) $data['apartel_id']) { $logger->save(Logger::MODULE_BOOKING, $booking->getId(), Logger::ACTION_APARTEL_ID, (int) $data['apartel_id']); } if ($booking->getPartnerSettled() != (int) $data['finance_paid_affiliate']) { $logger->save(Logger::MODULE_BOOKING, $booking->getId(), Logger::ACTION_PARTNER_SETTLED, (int) $data['finance_paid_affiliate']); } if ($booking->getNo_collection() != (int) $data['finance_no_collection']) { $logger->save(Logger::MODULE_BOOKING, $booking->getId(), Logger::ACTION_NO_COLLECTION, (int) $data['finance_no_collection']); } if ($booking->getCccaVerified() != (int) $data['ccca_verified']) { $logger->save(Logger::MODULE_BOOKING, $booking->getId(), Logger::ACTION_CCCA_VERIFIED, (int) $data['ccca_verified']); } if ($permission['fin']) { if ($booking->getPayment_settled() != (int) $data['finance_reservation_settled']) { $logger->save(Logger::MODULE_BOOKING, $booking->getId(), Logger::ACTION_RESERVATION_SETTLED, (int) $data['finance_reservation_settled']); } } if (isset($data['booking_statuses']) && $booking->getStatus() != $data['booking_statuses']) { $logger->save(Logger::MODULE_BOOKING, $booking->getId(), Logger::ACTION_BOOKING_STATUSES, Objects::getBookingStatusMapping()[$data['booking_statuses']]); } if (isset($data['finance_booked_state']) && $booking->getArrivalStatus() != $data['finance_booked_state'] && ($booking->getArrivalStatus() != self::INSPECTED_STATE || $booking->getArrivalStatus() == self::INSPECTED_STATE && $data['finance_booked_state'] != self::CHECKOUT_STATE) && $data['finance_booked_state_changed'] == self::BOOKED_STATE_CHANGED) { $logger->save(Logger::MODULE_BOOKING, $booking->getId(), Logger::ACTION_CHECK_IN, $data['finance_booked_state']); } $msg = $data['booking_ginosi_comment']; if ($data['booking_ginosi_comment_team']) { $teamDao = $this->getServiceLocator()->get('dao_team_team'); $teamName = $teamDao->getTeamNameById($data['booking_ginosi_comment_team']); $msg .= '</br><b>' . $teamName . ' Notified</b>'; } if ($data['booking_ginosi_comment'] != '') { $logId = $logger->save(Logger::MODULE_BOOKING, $booking->getId(), empty($data['booking_ginosi_comment_frontier']) ? Logger::ACTION_COMMENT : Logger::ACTION_HOUSEKEEPING_COMMENT, $msg); if ($data['booking_ginosi_comment_team']) { $logsTeamDao = $this->getServiceLocator()->get('dao_action_logs_logs_team'); $logsTeamDao->save(['action_log_id' => $logId, 'team_id' => $data['booking_ginosi_comment_team']]); } } }