Пример #1
0
 public function createAction()
 {
     $form = new Admin_Form_User();
     $form->user_type->setMultioptions($this->userTypeService->getOptions());
     $form->author->setMultioptions(array('' => getGS('None')) + $this->_helper->service('author')->getOptions());
     $form->setDefaults(array('is_admin' => $this->_getParam('is_admin', 0), 'is_public' => $this->_getParam('is_public', 0)));
     $request = $this->getRequest();
     if ($request->isPost() && $form->isValid($request->getPost())) {
         try {
             $user = $this->userService->save($form->getValues());
             $this->_helper->flashMessenger(getGS("User '\$1' created", $user->getUsername()));
             $this->_helper->redirector('edit', 'user', 'admin', array('user' => $user->getId()));
         } catch (\InvalidArgumentException $e) {
             switch ($e->getMessage()) {
                 case 'username_conflict':
                     $form->username->addError(getGS('Username is used already'));
                     break;
                 case 'email_conflict':
                     $form->email->addError(getGS('Email is used already'));
                     break;
             }
         }
     }
     $this->view->form = $form;
 }