Esempio n. 1
0
 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);
 }