public function userdetailsAction() { $staffdetails = array(); $successMsg = ""; $flashMessenger = $this->flashMessenger(); if ($flashMessenger->hasSuccessMessages()) { $successMsg = implode("<br>", $flashMessenger->getSuccessMessages()); } //Reset password form $resetform = new \Application\Form\Resetpassword($this->em); $resetform->bind($this->request->getPost()); if ($this->request->getPost('save')) { $resetform->setData($this->request->getPost()); if ($resetform->isValid()) { $formData = $resetform->getData(); //Get password expiry days $days = $this->preferences->getSystemsettings()->getPasswordExpireydays() + 1; //Set date interval $interval = "P" . $days . "D"; $date = new \DateTime(); //Back date password change date $date->sub(new \DateInterval($interval)); $user = $this->em->getRepository('\\Application\\Entity\\User')->find($formData['Password']['pkUserid']); $user->setPassword($this->cs->_hashing($formData['Password']['password'])); $user->setPasswordlastchanged($date); $this->preferences->saveUser($user); } } //Change department information form $deptform = new \Application\Form\Staff($this->em); if ($this->request->getPost('savedeptinfo')) { $staff = new \Application\Model\Staff($this->em); $deptform->bind($this->request->getPost()); $deptform->setData($this->request->getPost()); if ($deptform->isValid()) { $formdata = $deptform->getData(); //Initialize entity $staffentity = $this->em->getRepository('\\Application\\Entity\\Staff')->find($formdata['Staff']['pkStaffid']); $deptentity = $this->em->getRepository('\\Application\\Entity\\Department')->find($formdata['Staff']['fkDeptid']); $staffentity->setWorkmode($formdata['Staff']['workmode']); $staffentity->setFkDeptid($deptentity); $staff->saveStaff($staffentity); } } //Edit basic user details $userinfoform = new \Application\Form\Userinformation($this->em); $userinfoform->bind($this->request->getPost()); if ($this->request->getPost('btnchange')) { $userinfoform->setData($this->request->getPost()); if ($userinfoform->isValid()) { $formData = $userinfoform->getData(); $user = $this->em->getRepository('\\Application\\Entity\\User')->find($formData['User']['pkUserid']); $user->setFirstname($formData['User']['basicdetails']['firstname']); $user->setSurname($formData['User']['basicdetails']['surname']); $user->setGender($formData['User']['basicdetails']['gender']); $user->setEmailaddress($formData['User']['emailaddress']); $user->setTitle($formData['User']['basicdetails']['title']); $user->setOthernames($formData['User']['basicdetails']['othernames']); $user->setUsername($formData['User']['username']); $user->setFkRoleid($user->getFkRoleid()); $this->preferences->saveUser($user); } } $id = $this->getEvent()->getRouteMatch()->getParam('id'); //Get user details in user table $user = $this->em->getRepository("\\Application\\Entity\\User")->find($id); //Determine type of account if ($user->getAccounttype() == "STAFF") { $staffdetails = $this->em->getRepository("\\Application\\Entity\\Staff")->findOneBy(array("fkUserid" => $id)); } return new ViewModel(array("msg" => $successMsg, "user" => $user, "staffdetails" => $staffdetails, "resetform" => $resetform, "basicform" => $userinfoform, "deptform" => $deptform)); }
public function renewpasswordAction() { $form = new \Application\Form\Resetpassword($this->em); $usersession = new Container('USER'); $userid = $usersession->userid; $form->bind($this->request->getPost()); if ($this->request->isPost()) { $form->setData($this->request->getPost()); if ($form->isValid()) { //Reset password $formdata = $form->getData(); $preferences = new \Application\Model\Preferences($this->em); //Get current id object $userEntity = $this->em->getRepository('\\Application\\Entity\\User')->find($formdata['Password']['pkUserid']); $userEntity->setPassword($this->cs->_hashing($formdata['Password']['password'])); $userEntity->setPasswordlastchanged(new \DateTime()); $preferences->saveUser($userEntity); $usersession->getManager()->getStorage()->clear('USER'); return $this->redirect()->toRoute('login', array('action' => 'index')); } } return new ViewModel(array("form" => $form, "userid" => $userid)); }