/**
  * 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;
 }