public function editUserAction()
 {
     $request = $this->getRequest();
     $form = new Application_Form_EditUser();
     if ($request->isPost()) {
         $formData = $request->getPost();
         if ($form->isValid($formData) && $form->validateLogin($formData['cu_login'], $formData['cu_user_id'])) {
             $user = new Application_Model_User($formData['cu_user_id']);
             $user->setFirstName($formData['cu_first_name']);
             $user->setLastName($formData['cu_last_name']);
             // We don't allow 6 x's as a password.
             // The reason is because we use that as a password placeholder
             // on the client side.
             if ($formData['cu_password'] != "xxxxxx") {
                 $user->setPassword($formData['cu_password']);
             }
             $user->setEmail($formData['cu_email']);
             $user->setCellPhone($formData['cu_cell_phone']);
             $user->setSkype($formData['cu_skype']);
             $user->setJabber($formData['cu_jabber']);
             $user->save();
             Application_Model_Preference::SetUserLocale($formData['cu_locale']);
             Application_Model_Preference::SetUserTimezone($formData['cu_timezone']);
             //configure localization with new locale setting
             Application_Model_Locale::configureLocalization($formData['cu_locale']);
             //reinitialize form so language gets translated
             $form = new Application_Form_EditUser();
             $this->view->successMessage = "<div class='success'>" . _("Settings updated successfully!") . "</div>";
         }
         $this->view->form = $form;
         $this->view->html = $this->view->render('user/edit-user.phtml');
     }
     $this->view->form = $form;
     $this->view->html = $this->view->render('user/edit-user.phtml');
 }
示例#2
0
    public function editAction() {

        if (Zend_Auth::getInstance()->getIdentity())
            $role = Zend_Auth::getInstance()->getIdentity()->status;

        $acl = new App_Acl();

        if (!$acl->isAllowed($role, App_Resources::EDIT))
            $this->getHelper('Redirector')->gotoSimpleAndExit('index', 'error', '');

        $this->view->title = "HNA - Редактирование пользователя";
        $this->view->headTitle($this->view->title);

        $form = new Application_Form_EditUser();
        $this->view->form = $form;

        if ($this->getRequest()->isPost()) {
            $formData = $this->getRequest()->getPost();
            if ($form->isValid($formData)) {
                $user_id = (int) $form->getValue('user_id');

                $surname = $form->getValue('surname');
                $firstname = $form->getValue('firstname');
                $lastname = $form->getValue('lastname');
                $login = $form->getValue('contract') . $form->getValue('login');
                $pass = $form->getValue('pass');
                $group = $form->getValue('group');
                $block = $form->getValue('block');
                $room = $form->getValue('room');

                switch ($form->getValue('status')) {
                    case 'Активный пользователь':
                        $status = 0;
                        break;
                    case 'Забаненый пользователь':
                        $status = 1;
                        break;
                    case 'Архивный пользователь':
                        $status = 2;
                        break;
                    case 'Администратор':
                        $status = 3;
                        break;
                    default:
                        break;
                }

                $hostel = (int) $form->getValue('hostel');
                $cable = (int) $form->getValue('cable');
                $switch_id = (int) $form->getValue('switch_id');
                $note = $form->getValue('note');
                $users = new Application_Model_DbTable_Hna();
                $users->updateUser($user_id, $surname, $firstname, $lastname, $login, $pass, $group, $block, $room, $status, $note, $hostel, $cable, $switch_id);

                //$admin_id = Zend_Auth::getInstance();
                $userlog = new Application_Model_DbTable_Logs();
                $userlog->addMessage($user_id, Zend_Auth::getInstance()->getIdentity()->admin_id, 2, "ФИО: $surname $firstname $lastname; Логин:$login; Группа:$group, Блок:$block$room; Статус:$status; Примечание:$note");

                $this->_helper->redirector('index');
            } else {
                $form->populate($formData);
            }
        } else {
            $user_id = $this->_getParam('user_id', 0);
            if ($user_id > 0) {

                $delurl = $this->view->baseUrl() . "/hna/delete/user_id/$user_id";

                $this->view->Dojo()->addOnLoad("function() {
                                           dojo.connect(dojo.byId('del'),'onclick',function(){
                                               window.location = '$delurl';
                                           });
                        }");

                $users = new Application_Model_DbTable_Hna();
                $userinfo = $users->getUser($user_id);
                $userinfo['login'] = substr($userinfo['login'], 5, strlen($userinfo['login'])); //Перед отображение логина, вырезаем номер договора
                $form->populate($userinfo);

                $this->view->assign('user_id', $id);
            }

        }

    }