コード例 #1
0
 public function userEditAction()
 {
     $data = $this->getRequest()->getPost('data');
     $id = $this->_getParam('id');
     $aclLoader = HCMS_Acl_Loader::getInstance();
     //check permission
     if ($aclLoader->getAcl()->isAllowed($aclLoader->getCurrentRoleCode(), "admin", "master")) {
         $this->view->isAdminLogged = true;
         $data["isAdminLogged"] = true;
     } else {
         $this->view->isAdminLogged = false;
         $data["isAdminLogged"] = false;
     }
     //check if cancel button is pressed
     if ($this->_formHelper->isCancel()) {
         //cancel form
         return $this->_formHelper->returnCancel($this->view->url(array('action' => 'user-edit')), $this->translate('Action canceled'));
     }
     //create form object
     $form = new Auth_Form_User($data);
     //postback - save?
     if ($this->_formHelper->isSave()) {
         //check if valid
         if ($form->isValid()) {
             $values = $form->getValues();
             //create entity object from submitted values, and save
             $user = new Auth_Model_User($values);
             $date = new Zend_Date();
             $user->set_changed_password_dt($date->toString('yyyy-MM-dd HH:mm:ss'));
             if (isset($id) && $id > 0) {
                 if (isset($values['new_password']) && $values['new_password'] != '') {
                     $user->set_password($values['new_password']);
                 }
                 $this->savePassHistory($id);
             }
             Auth_Model_UserMapper::getInstance()->save($user);
             //save done, return success
             return $this->_formHelper->returnSuccess($this->view->url(array('action' => 'user-edit')), $this->translate('User saved.'));
         } else {
             //we have errors - return json or continue
             $this->_formHelper->returnError($form->getMessages());
         }
     } elseif (!$this->_formHelper->getRequest()->isPost()) {
         //edit action
         if (isset($id) && $id > 0) {
             $user = new Auth_Model_User();
             if (!Auth_Model_UserMapper::getInstance()->find($id, $user)) {
                 throw new Exception("User not found");
             }
             //fetch data
             $data = $user->toArray();
         }
     }
     $criteria = array();
     $roles = Auth_Model_RoleMapper::getInstance()->fetchAll($criteria);
     $languages = Application_Model_TranslateMapper::getInstance()->getLanguages();
     $this->view->roles = $roles;
     $this->view->languages = $languages;
     $this->view->data = $data;
     //die(print_R($data));
 }