public function changePasswordAction()
 {
     $request = $this->getRequest();
     $form = new Security_Form_User();
     $userM = new Security_Model_User();
     $arrUser = $userM->getAllUsers();
     $form->addElement('select', 'userId', array('label' => 'Username:'******'required' => true, 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Please select username.')))), 'decorators' => array('ViewHelper', array('Errors', array('class' => 'input-notification-ul-li error png_bg')), array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'element')), array('Label', array('tag' => 'td')), array(array('row' => 'HtmlTag'), array('tag' => 'tr'))), 'filters' => array('StringTrim'), 'MultiOptions' => $arrUser));
     $elements = $form->getElements();
     $form->clearDecorators();
     foreach ($elements as $element) {
         $element->removeDecorator('label');
         //$element->removeDecorator('Errors');
         if ($element->getName() != "password" && $element->getName() != "confirmPassword" && $element->getName() != "userId" && $element->getName() != "submit") {
             $form->removeElement($element->getName());
         }
     }
     if ($request->isPost()) {
         $options = $request->getPost();
         if ($form->isValid($options)) {
             //        $usersNs = new Zend_Session_Namespace("members");
             $user = new Security_Model_User();
             $model = $user->find($options['userId']);
             $model->setPassword(md5($options['password']));
             $model->save();
             $this->_flashMessenger->addMessage(array('success' => 'Password has been changed successfully!'));
             $this->_helper->_redirector->gotoUrl($this->view->seoUrl('/security/user/change-password'));
         } else {
             $form->reset();
             $form->populate($options);
         }
     }
     // Assign the form to the view
     $this->view->form = $form;
 }
示例#2
0
 public function editUserAction()
 {
     $id = $this->_getParam('id');
     $this->view->user_id = $id;
     $model1 = new Security_Model_User();
     $model = $model1->find($id);
     if (false === $model) {
         $this->_flashMessenger->addMessage(array('error' => 'Invalid request! Please try again.'));
         $this->_helper->_redirector->gotoUrl($this->view->seoUrl('/admin/user'));
     }
     $options['firstName'] = $model->getFirstName();
     $options['middleName'] = $model->getMiddleName();
     $options['lastName'] = $model->getLastName();
     $options['email'] = $model->getEmail();
     $options['dob'] = $model->getDob();
     $options['sex'] = $model->getSex();
     $options['mobile'] = $model->getMobile();
     $options['groupId'] = $model->getGroupId();
     $options['subGroupId'] = $model->getSubGroupId();
     $options['roleId'] = $model->getRoleId();
     $options['status'] = $model->getStatus();
     $options['correspondenceAddress'] = $model->getCorrespondenceAddress();
     $this->view->username = $model->getUsername();
     $request = $this->getRequest();
     $form = new Security_Form_User();
     //remove fields do not need to display in Edit
     //$form->removeElement('employeeCode');
     //$form->getElement('employeeCode')->setAttrib("readonly", "true");
     $form->removeElement('username');
     $form->removeElement('password');
     $form->removeElement('confirmPassword');
     $usersNs = new Zend_Session_Namespace("members");
     if ($usersNs->userId == $id) {
         //$form->removeElement('groupId');
         //$form->removeElement('subGroupId');
         //$form->removeElement('roleId');
         $form->removeElement('status');
     }
     $modelP = new Base_Security_Privilege();
     $arrSubgroup = $modelP->getSubGroupArray($model->getGroupId());
     $form->getElement("subGroupId")->addMultiOptions($arrSubgroup);
     $form->populate($options);
     $arrUserRole = $modelP->getRoleArray($model->getSubGroupId());
     $form->getElement("roleId")->addMultiOptions($arrUserRole);
     $form->populate($options);
     $options = $request->getPost();
     if ($request->isPost()) {
         /*---- email validation ----*/
         if ($options['email'] != $model->getEmail()) {
             $form->getElement('email')->addValidators(array(array('Db_NoRecordExists', false, array('table' => 'user', 'field' => 'email', 'messages' => 'Email already exists, Please choose another email address.'))));
         }
         /*-------------------------*/
         $modelP = new Base_Security_Privilege();
         $arrSubgroup = $modelP->getSubGroupArray($options['groupId']);
         $form->getElement("subGroupId")->addMultiOptions($arrSubgroup);
         $form->populate($options);
         $arrUserRole = $modelP->getRoleArray($options['subGroupId']);
         $form->getElement("roleId")->addMultiOptions($arrUserRole);
         if ($form->isValid($options)) {
             $model->setOptions($options);
             $model->save();
             /*---------  Upload image START -------------------------*/
             $model->uploadProfilePicture($id, $options);
             /*---------  Upload image END -------------------------*/
             $this->_flashMessenger->addMessage(array('success' => 'User information has been updated successfully!'));
             $this->_helper->_redirector->gotoUrl($this->view->seoUrl('/security/user/edit-user/id/' . $id));
         } else {
             $this->_flashMessenger->addMessage(array('error' => 'Unable to save the data. Please provide valid inputs and try again.'));
             $form->reset();
             $form->populate($options);
         }
     }
     $this->view->profile_image = $model->getProfileImage();
     $this->view->form = $form;
 }