public function approveRejectObAction() { $type = ''; $status = ''; /* single approve */ if (isset($this->_params['single_uid'])) { $type = $this->_params['type']; $status = $this->_params['status']; /** @var do approval and email $ob */ $ob = $this->getOrders()->getByUidA($this->_params['uid']); $ob->setStatus($this->_params['status']); $ob->save(); $user_id = $ob->getCreatedUserId(); if (!is_null($user_id) && !empty($user_id)) { $user = $this->getUsers()->getById($user_id); $user = !is_null($user) ? $user->toArray() : array(); if (!is_null($user['email']) && !empty($user['email'])) { $email = new NL_HtmlMailer(); $email->sendObStatus($ob->toArray(), $user, $user['email']); } } /* Selected orders approved */ } elseif (isset($this->_params['order_approved'])) { $type = 'order'; $status = 'approved'; /* Selected order rejected */ } elseif (isset($this->_params['order_rejected'])) { $type = 'order'; $status = 'rejected'; /* Selected buybacks approved */ } elseif (isset($this->_params['buyback_approved'])) { $type = 'buyback'; $status = 'approved'; /* Selected buybacks rejected */ } elseif (isset($this->_params['buyback_rejected'])) { $type = 'buyback'; $status = 'rejected'; } /** @var do the multiple approve / reject */ if (isset($this->_params['order_approved']) || isset($this->_params['order_rejected']) || isset($this->_params['buyback_approved']) || isset($this->_params['buyback_rejected'])) { foreach ($this->_params['uid'] as $uid => $on) { $ob = $this->getOrders()->getByUidO($uid); foreach ($ob as $o) { /* set status */ $o->setStatus($status); $o->save(); /** @var send email $user_id */ $user_id = $o->getCreatedUserId(); if (!is_null($user_id) && !empty($user_id)) { $user = $this->getUsers()->getById($user_id); $user = !is_null($user) ? $user->toArray() : array(); if (!is_null($user['email']) && !empty($user['email'])) { $email = new NL_HtmlMailer(); $email->sendObStatus($o->toArray(), $user, $user['email']); } } } } } /** * send order status to user */ if (isset($this->_params['order_approved']) || isset($this->_params['order_rejected']) || isset($this->_params['buyback_approved']) || isset($this->_params['buyback_rejected']) || isset($this->_params['single_uid'])) { $this->redirect('/approve-reject-ob?type=' . $type . '&status=' . $status); } $filter = array(); if (isset($this->_params['status']) && !empty($this->_params['status'])) { $filter = array('status' => $this->_params['status']); } $type = isset($this->_params['type']) ? $this->_params['type'] : $type; $filter += array('type' => $type); $identity = (array) Zend_Auth::getInstance()->getIdentity(); if ($identity['role'] == 'approver') { $filter += array('company_id' => $identity['company_id']); } else { $filter += array('company_id' => $identity['id']); } $join_in = array(array('customers', 'customer_id'), array('companies', 'company_id'), array('centers', 'center_id'), array('rates', 'rate_id'), array('users', 'created_user_id'), array('users', 'response_user_id')); $_array = $this->getOrders()->getAll($filter)->toArray(); $array = $this->_buildJoinTbl($_array, $join_in); $this->view->assign('array', $array); }