Ejemplo n.º 1
0
 /**
  * Login, register environments on this web application
  *
  * --------------------//Actual Login
  * <request>
  * 'Username'          //string
  * 'Password'          //string
  * <view-assign>
  * 'User'              //struct        $loggedUserInfo
  *
  * --------------------//Default
  * <request>
  * <view-assign>
  *
  * @return void
  */
 public function loginAction()
 {
     $request = $this->getRequest();
     if ($request->isPost()) {
         if ($this->getRequest()->isXmlHttpRequest()) {
             $this->getHelper('Layout')->disableLayout();
         }
         $username = $request->getParam("Username");
         $password = $request->getParam("Password");
         $webservice = $this->getInvokeArg('bootstrap')->getResource('webservice');
         $webservice->setAuth(array('user' => $username, 'password' => $password));
         $user = Streamwide_Web_Model::call('User.Login', array($username, $password));
         //$user = $user[0];
         Streamwide_Web_Log::debug("user {$username} login");
         $namespace = new Zend_Session_Namespace('SwIRS_Web');
         $namespace->userInfo = $user;
         $namespace->username = $username;
         $namespace->password = $password;
         $namespace->customerState = $user['TemporaryPassword'];
         $namespace->customerUserId = $user['UserId'];
         $namespace->customerAccountId = $user['CustomerAccountId'];
         $namespace->secondaryCustomerAccountId = $user['CustomerAccountId'];
         $profile = Streamwide_Web_Model::call('User.GetProfileById', array($user['ProfileId']));
         $namespace->profile = $profile;
         $role = SwIRS_Web_Request::getRole($profile);
         $_SESSION['APPLICATION_ROLE'] = $role;
         if ($role == SwIRS_Web_Request::SUPER_ADMIN) {
             $namespace->customerAccountId = SwIRS_Web_Request::SUPER_ADMIN_CUSTOMER_ACCOUNT_ID;
             $namespace->secondaryCustomerAccountId = SwIRS_Web_Request::SUPER_ADMIN_CUSTOMER_ACCOUNT_ID;
         }
         if ($namespace->customerState == SwIRS_Web_Request::STATE_PROVISIONAL) {
             $role = SwIRS_Web_Request::PROVISIONAL;
         }
         $menu = SwIRS_Web_Request::getMenu($role);
         $namespace->menu = $menu;
         $this->view->assign('User', $user);
         $this->getHelper('viewRenderer')->direct('login-ack');
     }
 }