public function testUpdateUserSettings() { $user = $this->createUser(); $values = array('display_name' => 'olala', 'language' => 'de_DE', 'notifications' => false); $user = $this->userService->updateUserSettings($user, $values); $this->assertInstanceOf('\\Secretary\\Entity\\User', $user); $this->assertSame($values['display_name'], $user->getDisplayName()); $this->assertSame($values['language'], $user->getLanguage()); $this->assertSame($values['notifications'], $user->getNotifications()); }
/** * User settings * * @return \Zend\View\Model\ViewModel */ public function settingsAction() { $form = $this->getUserForm(); $viewModel = new ViewModel(); $viewVars = array('userForm' => $form); $messages = $this->flashMessenger()->getCurrentSuccessMessages(); if (!empty($messages)) { $viewVars['msg'] = array('success', $messages[0]); } $this->flashMessenger()->clearMessages(); if ($this->getRequest()->isPost()) { $form->setInputFilter($form->getInputFilter()); $form->setData($this->getRequest()->getPost()); if ($form->isValid()) { $values = $form->getData(); // Upgrade User to KeyUser Role $this->userService->updateUserSettings($this->identity, $values); // Success $this->flashMessenger()->addSuccessMessage($this->translator->translate('Your settings were updated')); return $this->redirect()->toRoute('user-settings'); } $viewVars['msg'] = array('error', 'An error occurred'); } $viewModel->setVariables($viewVars); return $viewModel; }