/** * Gather user profile data * * @return mixed */ public function profileAction() { $user = $this->getUser(); if ($user == false) { return $this->forceLogin(); } $values = $this->getRequest()->getPost(); if ($this->formWasSubmitted('saveUserProfile')) { $validator = new \Zend\Validator\EmailAddress(); if ($validator->isValid($values->email)) { $user->email = $values->email; if (isset($values->due_date_reminder)) { $user->finna_due_date_reminder = $values->due_date_reminder; } $user->save(); $this->flashMessenger()->setNamespace('info')->addMessage('profile_update'); } else { $this->flashMessenger()->setNamespace('error')->addMessage('profile_update_failed'); } } $view = parent::profileAction(); $profile = $view->profile; if ($this->formWasSubmitted('saveLibraryProfile')) { $this->processLibraryDataUpdate($profile, $values, $user); $this->flashMessenger()->setNamespace('info')->addMessage('profile_update'); $view = parent::profileAction(); $profile = $view->profile; } $parentTemplate = $view->getTemplate(); // If returned view is not profile view, show it below our profile part. if ($parentTemplate != '' && $parentTemplate != 'myresearch/profile') { $childView = $this->createViewModel(); $childView->setTemplate('myresearch/profile'); $compoundView = $this->createViewModel(); $compoundView->addChild($childView, 'child'); $compoundView->addChild($view, 'parent'); return $compoundView; } // Check if due date reminder settings should be displayed $config = $this->getConfig(); $view->hideDueDateReminder = $user->finna_due_date_reminder == 0 && isset($config->Site->hideDueDateReminder) && $config->Site->hideDueDateReminder; // Check whether to hide email address in profile $view->hideProfileEmailAddress = isset($config->Site->hideProfileEmailAddress) && $config->Site->hideProfileEmailAddress; return $view; }
/** * Gather user profile data * * @return mixed */ public function profileAction() { $user = $this->getUser(); if ($user == false) { return $this->forceLogin(); } $values = $this->getRequest()->getPost(); if ($this->formWasSubmitted('saveUserProfile')) { $validator = new \Zend\Validator\EmailAddress(); if ($validator->isValid($values->email)) { $user->email = $values->email; if (isset($values->due_date_reminder)) { $user->finna_due_date_reminder = $values->due_date_reminder; } $user->save(); $this->flashMessenger()->setNamespace('info')->addMessage('profile_update'); } else { $this->flashMessenger()->setNamespace('error')->addMessage('profile_update_failed'); } } $view = parent::profileAction(); $profile = $view->profile; if ($this->formWasSubmitted('saveLibraryProfile')) { $this->processLibraryDataUpdate($profile, $values); } $parentTemplate = $view->getTemplate(); // If returned view is not profile view, show it below our profile part. if ($parentTemplate != '' && $parentTemplate != 'myresearch/profile') { $childView = $this->createViewModel(); $childView->setTemplate('myresearch/profile'); $compoundView = $this->createViewModel(); $compoundView->addChild($childView, 'child'); $compoundView->addChild($view, 'parent'); return $compoundView; } return $view; }
public function profileAction() { // Stop now if the user does not have valid catalog credentials available: if (!is_array($patron = $this->catalogLogin())) { return $patron; } $view = parent::profileAction(); if ($view) { $catalog = $this->getILS(); $view->profileChange = $catalog->checkCapability('changeUserRequest'); } $this->flashExceptions($this->flashMessenger()); return $view; }