/** * @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']]); } } }
public function ajaxApplyCancelationAction() { /** * @var \DDD\Service\UniversalDashboard\Widget\PendingCancelation $pendingCancelationWidgetService */ $pendingCancelationWidgetService = $this->getServiceLocator()->get('service_universal_dashboard_widget_pending_cancellation'); $auth = $this->getServiceLocator()->get('library_backoffice_auth'); $request = $this->getRequest(); $result = ['status' => 'error', 'msg' => TextConstants::SERVER_ERROR]; if (!$auth->checkUniversalDashboardPermission(UserService::DASHBOARD_PENDING_CANCELLATION)) { return $this->redirect()->toRoute('home'); } $logger = $this->getServiceLocator()->get('ActionLogger'); try { if ($request->isPost() && $request->isXmlHttpRequest()) { $params = $this->params()->fromPost(); $resNumber = $params['res_number']; $bookingStatus = $params['booking_status']; $bookingId = $params['booking_id']; $resolveResult = $pendingCancelationWidgetService->applyCancelation($resNumber, $bookingStatus); if ($resolveResult) { $bookingStatusesDao = new Statuses($this->getServiceLocator(), '\\ArrayObject'); $bookingStatuses = $bookingStatusesDao->getAllList(); $result['status'] = 'success'; $statusName = ''; foreach ($bookingStatuses as $status) { if ($bookingStatus == $status['id']) { $statusName = $status['name']; } } $result['msg'] = 'Reservation with R# ' . $resNumber . ' marked as ' . $statusName; $logger->save(Logger::MODULE_BOOKING, $bookingId, Logger::ACTION_BOOKING_STATUSES, Objects::getBookingStatusMapping()[$bookingStatus]); } else { $result['msg'] = 'Problem during requested operation for R# ' . $resNumber; } } } catch (\Exception $e) { $result['msg'] = $e->getMessage(); } return new JsonModel($result); }