function quickAddRate()
 {
     AImporter::model('transport');
     $mainframe = JFactory::getApplication();
     $input = JFactory::getApplication()->input;
     $transport_id = $input->getInt('transport_id');
     $model = new BookProModelTransport();
     $transport = $model->getItem($transport_id);
     $params = $transport->rate_params;
     $weekdays = array(0, 1, 2, 3, 4, 5, 6);
     $startdate = new JDate();
     $startdate->setTime('00', '00', '00');
     $enddate = clone $startdate;
     $enddate->add(new DateInterval('P60D'));
     $frate = array('private_price' => null, 'private_state' => 0, 'share_price' => null, 'share_state' => 0);
     if (!empty($transport->private_price)) {
         $frate['private_price'] = $transport->private_price;
         $frate['private_state'] = 1;
     }
     if (!empty($transport->share_price)) {
         $frate['share_price'] = $transport->share_price;
         $frate['share_state'] = 1;
     }
     $result = $this->saveOne($weekdays, $frate, $transport_id, $startdate, $enddate, $params);
     if ($result) {
         $mainframe->enqueueMessage('Add rate from ' . JFactory::getDate()->format('Y-m-d', true) . ' to ' . $enddate->format('Y-m-d') . ' successful!');
     } else {
         $mainframe->enqueueMessage('Failed', 'error');
     }
     $this->setRedirect('index.php?option=com_bookpro&view=transports');
     return;
 }
 private function updateOrder($order_id)
 {
     $order = JTable::getInstance('orders', 'table');
     $order->load($order_id);
     if (!class_exists('BookProModelOrderInfos')) {
         AImporter::model('orderinfos');
     }
     $modelInfo = new BookProModelOrderinfos();
     $lists = array('order_id' => $order_id);
     $modelInfo->init($lists);
     $datas = $modelInfo->getData();
     $total = 0;
     switch ($order->type) {
         case 'TOUR':
             if (!class_exists('BookProModelTourPackagece')) {
                 AImporter::model('tourpackage');
             }
             foreach ($datas as $row) {
                 $modelpackprice = new BookProModelTourPackage();
                 $modelpackprice->setId($row->obj_id);
                 $price = $modelpackprice->getObject();
                 $total += $row->adult * $price->price + $row->child * $price->child_price;
             }
             $order->total = $total;
             break;
         case 'TRANSPORT':
             if (!class_exists('BookProModelTransport')) {
                 AImporter::model('transport');
             }
             foreach ($datas as $row) {
                 $modelTransport = new BookProModelTransport();
                 $modelTransport->setId($row->obj_id);
                 $trans = $modelTransport->getObject();
                 $total += $row->adult * $trans->price;
             }
             $order->total = $total;
             break;
         default:
             break;
     }
     $order->notes = JRequest::getString('notes');
     $order->order_status = JRequest::getString('order_status');
     $order->pay_status = JRequest::getString('pay_status');
     $order->store();
 }
示例#3
0
 private function getComplexTransport($order)
 {
     AImporter::helper('airport');
     $object = new JObject();
     $object->order = $order;
     $db = JFactory::getDBO();
     $query = $db->getQuery(true);
     // get Customer and Country name
     $query->select('customer.*, country.country_name AS country_name');
     $query->from('#__bookpro_customer AS customer');
     $query->leftJoin('#__bookpro_country AS country ON country.id = customer.country_id');
     $query->where('customer.id = ' . (int) $order->user_id);
     $db->setQuery($query);
     $object->customer = $db->loadObject();
     //get order info
     $query->clear();
     $query->select('orderinfo.*');
     $query->from('#__bookpro_orderinfo AS orderinfo');
     $query->where('orderinfo.order_id = ' . (int) $order->id);
     $db->setQuery($query);
     $object->orderinfo = $db->loadObjectList();
     //get route
     AImporter::model('transport');
     $model = new BookProModelTransport();
     foreach ($object->orderinfo as $orderinfo) {
         $orderinfo->trip = $model->getItem($orderinfo->route_id);
         $orderinfo->trip->from = AirportHelper::getItem($orderinfo->destfrom);
         $orderinfo->trip->to = AirportHelper::getItem($orderinfo->destto);
     }
     $object->addons = $this->getAddon($order->id);
     //passenger
     $query->clear();
     $query->select('passenger.*, country.country_name AS country');
     $query->from('#__bookpro_passenger AS passenger');
     $query->leftJoin('#__bookpro_country AS country ON country.id = passenger.country_id');
     $query->where('passenger.order_id = ' . (int) $order->id);
     $db->setQuery($query);
     $object->passengers = $db->loadObjectList();
     return $object;
 }