/** * Get all the domains not included in a order items * * * @param $detail_id * @return array */ public static function getFreeOrderDomainsList($detail_id) { $items = array(); try { $DomainsInOrders = OrdersItemsDomains::getList($detail_id); if (count($DomainsInOrders) > 0) { $DomainsInOrders = array_keys($DomainsInOrders); } $dq = Doctrine_Query::create()->select('d.domain_id, d.domain as domain, ws.tld as tld')->from('Domains d')->leftJoin('d.DomainsTlds dt')->leftJoin('dt.WhoisServers ws')->leftJoin('d.OrdersItemsDomains oid ')->leftJoin('d.Customers c')->whereIn('d.domain_id', $DomainsInOrders, true)->addWhere("c.isp_id = ?", Isp::getCurrentId())->orderBy('ws.tld, d.domain'); $domains = $dq->execute(array(), Doctrine_Core::HYDRATE_ARRAY); foreach ($domains as $domain) { $items[$domain['domain_id']] = $domain['domain'] . "." . $domain['tld']; } } catch (Exception $e) { die($e->getMessage()); } return $items; }
/** * editAction * Get a record and populate the application form * @return unknown_type */ public function editAction() { $form = $this->getForm('/admin/ordersitems/process'); $id = $this->getRequest()->getParam('id'); // Create the buttons in the edit form $this->view->buttons = array(array("url" => "#", "label" => $this->translator->translate('Save'), "params" => array('css' => null, 'id' => 'submit')), array("url" => "/admin/ordersitems/list", "label" => $this->translator->translate('List'), "params" => array('css' => null, 'id' => 'submit')), array("url" => "/admin/ordersitems/new/", "label" => $this->translator->translate('New'), "params" => array('css' => null))); if (!empty($id) && is_numeric($id)) { $rs = OrdersItems::getAllInfo($id); if (!empty($rs)) { // Load the domains attached to the order $form->getElement('domains_selected')->setMultiOptions(OrdersItemsDomains::getList($id)); $rs['date_start'] = Shineisp_Commons_Utilities::formatDateOut($rs['date_start']); $rs['date_end'] = !empty($rs['date_end']) ? Shineisp_Commons_Utilities::formatDateOut($rs['date_end']) : ""; $form->populate($rs); // send the order id in the view $this->view->order_id = $rs['order_id']; // send the customer id in the view $this->view->customer_id = $rs['Orders']['customer_id']; // Check if the product is a hosting plan $this->view->isHosting = !empty($rs['Products']['type']) && $rs['Products']['type'] == "hosting" ? true : false; // Create the buttons in the edit form $this->view->buttons[] = array("url" => "/admin/ordersitems/confirm/id/{$id}", "label" => $this->translator->translate('Delete'), "params" => array('css' => null)); $this->view->buttons[] = array("url" => "/admin/services/edit/id/{$id}", "label" => $this->translator->translate('Service'), "params" => array('css' => null)); $this->view->buttons[] = array("url" => "/admin/orders/edit/id/" . $rs['order_id'], "label" => $this->translator->translate('Order'), "params" => array('css' => null)); $this->view->buttons[] = array("url" => "/admin/customers/edit/id/" . $rs['Orders']['customer_id'], "label" => $this->translator->translate('Customers'), "params" => array('css' => null)); } else { $this->_helper->redirector('list', 'orders', 'admin', array('mex' => $this->translator->translate('Unable to find the order item selected.'), 'status' => 'danger')); } } else { $this->_helper->redirector('list', 'orders', 'admin', array('mex' => $this->translator->translate('Unable to find the order item selected.'), 'status' => 'danger')); } $this->view->title = $this->translator->translate("Service edit"); $this->view->description = $this->translator->translate("Here you can edit the service selected"); $this->view->form = $form; $this->render('applicantform'); }
/** * editAction * Get a record and populate the application form * @return unknown_type */ public function editAction() { $form = $this->getForm('/admin/services/process'); $service_domains = new OrdersItemsDomains(); $id = $this->getRequest()->getParam('id'); // Create the buttons in the edit form $this->view->buttons = array(array("url" => "#", "label" => $this->translator->translate('Save'), "params" => array('css' => null, 'id' => 'submit')), array("url" => "/admin/services/list", "label" => $this->translator->translate('List'), "params" => array('css' => null, 'id' => 'submit')), array("url" => "/admin/services/new/", "label" => $this->translator->translate('New'), "params" => array('css' => null))); try { if (!empty($id) && is_numeric($id)) { $form->getElement('domains')->setMultiOptions(Domains::getFreeOrderDomainsList($id)); $rs = $this->services->getAllInfo($id, null, true); if (!empty($rs)) { $form->getElement('domains_selected')->setMultiOptions($service_domains->getList($id)); $rs['date_start'] = Shineisp_Commons_Utilities::formatDateOut($rs['date_start']); $rs['date_end'] = Shineisp_Commons_Utilities::formatDateOut($rs['date_end']); $rs['customer_id'] = $rs['Orders']['customer_id']; $form->populate($rs); $this->view->buttons[] = array("url" => "/admin/services/confirm/id/{$id}", "label" => $this->translator->translate('Delete'), "params" => array('css' => null)); $this->view->buttons[] = array("url" => "/admin/orders/edit/id/" . $rs['Orders']['order_id'], "label" => $this->translator->translate('Order'), "params" => array('css' => null)); } // Get all the messages attached to the ordersitems $this->view->messages = Messages::getbyServiceId($id); $this->view->owner_datagrid = $this->ownerGrid($rs['Orders']['customer_id']); } } catch (Exception $e) { echo $e->getMessage(); } $this->view->title = $this->translator->translate("Service Details"); $this->view->description = $this->translator->translate("Here you can see the details of the service subscribed by the customer."); $this->view->mex = $this->getRequest()->getParam('mex'); $this->view->mexstatus = $this->getRequest()->getParam('status'); $this->view->form = $form; $this->render('applicantform'); }