/** * @param EventgalleryLibraryCart $cart * @return EventgalleryLibraryOrder */ public function createOrder($cart) { $db = JFactory::getDBO(); $data = $cart->_getInternalDataObject(); $uuid = uniqid("", true); $uuid = base_convert($uuid, 16, 10); $query = $db->getQuery(true); $query->insert("#__eventgallery_order"); $query->columns('id'); $query->values($db->quote($uuid)); $db->setQuery($query); $db->execute(); $user = JFactory::getUser(); $data['id'] = $uuid; if (!$user->guest) { $data['userid'] = $user->id; } /** * @var TableOrder $orderTable */ $orderTable = $this->store($data, 'Order'); /** * @var EventgalleryLibraryImagelineitem $lineitem * @var EventgalleryLibraryFactoryImagelineitem $imageLineItemFactory */ $imageLineItemFactory = EventgalleryLibraryFactoryImagelineitem::getInstance(); foreach ($cart->getLineItems() as $lineitem) { $imageLineItemFactory->copyLineItem($orderTable->id, $lineitem); } /** * @var EventgalleryLibraryServicelineitem $lineitem * @var EventgalleryLibraryFactoryServicelineitem $serviceLineItemFactory */ $serviceLineItemFactory = EventgalleryLibraryFactoryServicelineitem::getInstance(); foreach ($cart->getServiceLineItems() as $lineitem) { $serviceLineItemFactory->copyLineItem($orderTable->id, $lineitem); } /** * @var EventgalleryLibraryManagerOrderstatus $orderstatusMgr */ $orderstatusMgr = EventgalleryLibraryManagerOrderstatus::getInstance(); /** * @var EventgalleryLibraryOrder $order */ $order = new EventgalleryLibraryOrder($orderTable->id); $order->setOrderStatus($orderstatusMgr->getDefaultOrderStatus(EventgalleryLibraryOrderstatus::TYPE_ORDER)); $order->setPaymentStatus($orderstatusMgr->getDefaultOrderStatus(EventgalleryLibraryOrderstatus::TYPE_PAYMENT)); $order->setShippingStatus($orderstatusMgr->getDefaultOrderStatus(EventgalleryLibraryOrderstatus::TYPE_SHIPPING)); $order->setDocumentNumber(EventgalleryLibraryDatabaseSequence::generateNewId()); return $order; }
protected function addToolbar() { JToolbarHelper::title(JText::_('COM_EVENTGALLERY_ORDERS'), 'generic.png'); JToolbarHelper::deleteList(JText::_('COM_EVENTGALLERY_ORDERS_REMOVE_ALERT'), 'orders.delete', 'Remove'); // Build the active state filter options. $options = array(); /** * @var EventgalleryLibraryManagerOrderstatus $orderstatusMgr * @var EventgalleryLibraryOrderstatus $orderstatus */ $orderstatusMgr = EventgalleryLibraryManagerOrderstatus::getInstance(); /** * ORDER */ $orderstatuses = $orderstatusMgr->getOrderStatuses(EventgalleryLibraryOrderstatus::TYPE_ORDER); foreach ($orderstatuses as $orderstatus) { $options[] = JHtml::_('select.option', $orderstatus->getId(), $orderstatus->getDisplayName()); } $options[] = JHtml::_('select.option', '*', 'JALL'); JHtmlSidebar::addFilter(JText::_('COM_EVENTGALLERY_ORDER_ORDERSTATUS'), 'filter_orderstatus', JHtml::_('select.options', $options, 'value', 'text', $this->state->get('filter.orderstatus'), true)); /** * PAYMENT */ $orderstatuses = $orderstatusMgr->getOrderStatuses(EventgalleryLibraryOrderstatus::TYPE_PAYMENT); $options = array(); foreach ($orderstatuses as $orderstatus) { $options[] = JHtml::_('select.option', $orderstatus->getId(), $orderstatus->getDisplayName()); } $options[] = JHtml::_('select.option', '*', 'JALL'); JHtmlSidebar::addFilter(JText::_('COM_EVENTGALLERY_ORDER_PAYMENTSTATUS'), 'filter_paymentstatus', JHtml::_('select.options', $options, 'value', 'text', $this->state->get('filter.paymentstatus'), true)); /** * SHIPPING */ $orderstatuses = $orderstatusMgr->getOrderStatuses(EventgalleryLibraryOrderstatus::TYPE_SHIPPING); $options = array(); foreach ($orderstatuses as $orderstatus) { $options[] = JHtml::_('select.option', $orderstatus->getId(), $orderstatus->getDisplayName()); } $options[] = JHtml::_('select.option', '*', 'JALL'); JHtmlSidebar::addFilter(JText::_('COM_EVENTGALLERY_ORDER_SHIPPINGSTATUS'), 'filter_shippingstatus', JHtml::_('select.options', $options, 'value', 'text', $this->state->get('filter.shippingstatus'), true)); }
public function getInput() { /** * @var EventgalleryLibraryManagerOrderstatus $orderstatusMgr */ $orderstatusMgr = EventgalleryLibraryManagerOrderstatus::getInstance(); $statuses = $orderstatusMgr->getOrderStatuses($this->currentOrderstatusId); if ($this->value == null) { $this->value = $orderstatusMgr->getDefaultOrderStatus($this->currentOrderstatusId)->getId(); } $currentorderstatus = new EventgalleryLibraryOrderstatus($this->value); $return = ""; $return .= '<select name=' . $this->name . ' id=' . $this->id . '>'; foreach ($statuses as $orderstatus) { /** * @var EventgalleryLibraryOrderstatus $orderstatus */ $this->value == $orderstatus->getId() ? $selected = 'selected="selected"' : ($selected = ''); $return .= '<option ' . $selected . ' value="' . $orderstatus->getId() . '">' . $orderstatus->getDisplayName() . '</option>'; } $return .= "</select>"; $return .= "<br><small>" . $currentorderstatus->getDisplayName() . "</small>"; return $return; }
/** * @return EventgalleryLibraryOrderstatus */ public function getShippingStatus() { if (null == $this->_shippingstatus) { /** * @var EventgalleryLibraryManagerOrderstatus $orderstatusMgr */ $orderstatusMgr = EventgalleryLibraryManagerOrderstatus::getInstance(); $this->_shippingstatus = $orderstatusMgr->getOrderStatus($this->_lineitemcontainer->shippingstatusid); } return $this->_shippingstatus; }