Skip to content
Snippets Groups Projects
Commit 3769f822 authored by Alexander Purr's avatar Alexander Purr Committed by Dorian Merz
Browse files

refs #16669 [fid_adlr] add LiberoId into feedback mail if user is logged in

* get LiberoId via Client
* add FeedbackControllerDelegatorFactory
parent 1c8258bf
No related merge requests found
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
use fid\Controller\RecordControllerDelegatorFactory; use fid\Controller\RecordControllerDelegatorFactory;
use fid\FormModel\PasswordChangeModel; use fid\FormModel\PasswordChangeModel;
use fid_adlr\Controller\FeedbackController; use fid_adlr\Controller\FeedbackController;
use fid_adlr\Controller\FeedbackControllerDelegatorFactory;
use fid_adlr\Controller\MyResearchController; use fid_adlr\Controller\MyResearchController;
use fid_adlr\Controller\MyResearchControllerFactory; use fid_adlr\Controller\MyResearchControllerFactory;
use fid_adlr\Controller\RecordController; use fid_adlr\Controller\RecordController;
...@@ -55,6 +56,9 @@ $config = [ ...@@ -55,6 +56,9 @@ $config = [
RecordController::class => [ RecordController::class => [
RecordControllerDelegatorFactory::class, RecordControllerDelegatorFactory::class,
], ],
FeedbackController::class => [
FeedbackControllerDelegatorFactory::class,
],
], ],
], ],
'view_helpers' => [ 'view_helpers' => [
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
namespace fid_adlr\Controller; namespace fid_adlr\Controller;
use fid\Service\Client;
use VuFind\Controller\FeedbackController as BaseFeedbackController; use VuFind\Controller\FeedbackController as BaseFeedbackController;
use Zend\View\Model\ViewModel; use Zend\View\Model\ViewModel;
...@@ -37,6 +38,19 @@ use Zend\View\Model\ViewModel; ...@@ -37,6 +38,19 @@ use Zend\View\Model\ViewModel;
*/ */
class FeedbackController extends BaseFeedbackController class FeedbackController extends BaseFeedbackController
{ {
/**
* @var Client
*/
protected $client;
/**
* @param Client $client
*/
public function setClient(Client $client): void
{
$this->client = $client;
}
/** /**
* Display Feedback form. * Display Feedback form.
* *
...@@ -150,6 +164,13 @@ class FeedbackController extends BaseFeedbackController ...@@ -150,6 +164,13 @@ class FeedbackController extends BaseFeedbackController
protected function sendFeedback($form, $postParams): array protected function sendFeedback($form, $postParams): array
{ {
list($messageParams, $template) = $form->formatEmailMessage($postParams); list($messageParams, $template) = $form->formatEmailMessage($postParams);
if (!empty($this->getUser()) && $user = $this->client->requestUserDetails())
{
$messageParams["LiberoID"] = [
"type" => "text",
"value" => $user->getLiberoId()
];
}
$emailMessage = $this->getViewRenderer()->partial($template, ['fields' => $messageParams]); $emailMessage = $this->getViewRenderer()->partial($template, ['fields' => $messageParams]);
list($senderName, $senderEmail) = $this->getSender(); list($senderName, $senderEmail) = $this->getSender();
......
<?php
namespace fid_adlr\Controller;
use fid\Service\Client;
use Interop\Container\ContainerInterface;
use Zend\ServiceManager\Factory\DelegatorFactoryInterface;
class FeedbackControllerDelegatorFactory implements DelegatorFactoryInterface
{
public function __invoke(ContainerInterface $container, $name, callable $callback, array $options = null)
{
/** @var FeedbackController $instance */
$instance = call_user_func($callback);
$instance->setClient($container->get(Client::class));
return $instance;
}
}
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment