public function indexAction() { $form = new Application_Form_Profile(); $form->setMethod('POST'); $form->setDefaultsFromEntity($this->user); $request = $this->getRequest(); if ($request->isPost() && $form->isValid($request->getPost())) { $values = $form->getValues(); try { if (!empty($values['image'])) { $imageInfo = array_pop($form->image->getFileInfo()); $values['image'] = $this->_helper->service('image')->save($imageInfo); } $this->service->save($values, $this->user); $this->_helper->redirector('index'); } catch (\InvalidArgumentException $e) { switch ($e->getMessage()) { case 'username_conflict': $form->username->addError($this->view->translate("User with given username exists.")); break; default: $form->image->addError($e->getMessage()); break; } } } $this->view->user_first_name = $this->user->getFirstName(); $this->view->user_last_name = $this->user->getLastName(); $this->view->user_email = $this->user->getEmail(); $this->view->form = $form; $this->view->user = new MetaUser($this->user); $this->view->first_time = $this->_getParam('first', false); }
public function setDefaultsFromEntity(User $user) { $defaults = array('first_name' => $user->getFirstName(), 'last_name' => $user->getLastName(), 'username' => $user->getUsername(), 'attributes' => array()); $profile = $this->getSubForm('attributes'); foreach ($profile as $field) { $defaults['attributes'][$field->getName()] = (string) $user->getAttribute($field->getName()); } $this->setDefaults($defaults); }
/** * Set form defaults * * @param Newscoop\Entity\User $user * @return Admin_Form_User */ public function setDefaultsFromEntity(User $user) { $defaults = array('first_name' => $user->getFirstName(), 'last_name' => $user->getLastName(), 'username' => $user->getUsername(), 'attributes' => array()); $profile = $this->getSubForm('attributes'); foreach ($profile as $field) { $defaults['attributes'][$field->getName()] = (string) $user->getAttribute($field->getName()); } $types = array(); foreach ($user->getUserTypes() as $type) { $types[] = $type->getId(); } try { $user->getAuthorId(); } catch (\Doctrine\ORM\EntityNotFoundException $e) { // deleted author $user->setAuthor(null); } $settings = array('first_name' => $user->getFirstName(), 'last_name' => $user->getLastName(), 'email' => $user->getEmail(), 'username' => $user->getUsername(), 'status' => $user->isActive(), 'is_admin' => $user->isAdmin(), 'is_public' => $user->isPublic(), 'is_verified' => $user->getAttribute('is_verified'), 'is_featured' => $user->getAttribute('is_featured'), 'user_type' => $types, 'author' => $user->getAuthorId()); return $this->setDefaults(array_merge($settings, $defaults)); }
public function testDeleteActive() { $this->user->setActive(true); $this->em->persist($this->user); $this->em->flush(); $this->user->addAttribute('tic', 'toc'); $this->em->persist($this->user); $this->em->flush(); $this->assertTrue($this->user->isActive()); $this->auth->expects($this->once())->method('getIdentity')->will($this->returnValue(3)); sleep(2); // for testing difference in create/update time $this->service->delete($this->user); $this->assertFalse($this->user->isActive()); $this->assertFalse($this->user->isPublic()); $this->assertFalse($this->user->isAdmin()); $this->assertEmpty($this->user->getEmail()); $this->assertEmpty($this->user->getFirstName()); $this->assertEmpty($this->user->getLastName()); $this->assertEmpty($this->user->getAttribute('tic')); $this->assertEmpty($this->user->getAttributes()); $this->assertGreaterThan($this->user->getCreated()->getTimestamp(), $this->user->getUpdated()->getTimestamp()); }
/** * Set form defaults * * @param Newscoop\Entity\User $user * @return Admin_Form_User */ public function setDefaultsFromEntity(User $user) { $types = array(); foreach ($user->getUserTypes() as $type) { $types[] = $type->getId(); } try { $user->getAuthorId(); } catch (\Doctrine\ORM\EntityNotFoundException $e) { // deleted author $user->setAuthor(null); } return $this->setDefaults(array('first_name' => $user->getFirstName(), 'last_name' => $user->getLastName(), 'email' => $user->getEmail(), 'username' => $user->getUsername(), 'status' => $user->isActive(), 'is_admin' => $user->isAdmin(), 'is_public' => $user->isPublic(), 'user_type' => $types, 'author' => $user->getAuthorId())); }
public function getLastName() { $this->__load(); return parent::getLastName(); }