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

refs #16486 [fid] additional journal information for order hydrator

* add complete record-link
parent 998dd188
No related merge requests found
...@@ -75,7 +75,8 @@ trait FidAcquisitionTrait ...@@ -75,7 +75,8 @@ trait FidAcquisitionTrait
$form->setData($request->getPost()); $form->setData($request->getPost());
if ($form->isValid()) { if ($form->isValid()) {
$user = $this->client->requestUserDetails(); $user = $this->client->requestUserDetails();
$form->getHydrator()->hydrate(compact('driver','user', 'type'), $order = new Order()); $url = $this->getRecordUrl($recordId);
$form->getHydrator()->hydrate(compact('driver','user', 'type','url'), $order = new Order());
$response = $this->client->requestOrderCreation($order); $response = $this->client->requestOrderCreation($order);
$message = $this->translate('fid::aquisition_success'); $message = $this->translate('fid::aquisition_success');
$messenger->addSuccessMessage($message); $messenger->addSuccessMessage($message);
...@@ -118,7 +119,8 @@ trait FidAcquisitionTrait ...@@ -118,7 +119,8 @@ trait FidAcquisitionTrait
$form->setData($request->getPost()); $form->setData($request->getPost());
if ($form->isValid()) { if ($form->isValid()) {
$user = $this->client->requestUserDetails(); $user = $this->client->requestUserDetails();
$form->getHydrator()->hydrate(compact('driver','user', 'type'), $order = new Order()); $url = $this->getRecordUrl($recordId);
$form->getHydrator()->hydrate(compact('driver','user', 'type','url'), $order = new Order());
$response = $this->client->requestOrderCreation($order); $response = $this->client->requestOrderCreation($order);
$message = $this->translate('fid::aquisition_success'); $message = $this->translate('fid::aquisition_success');
$messenger->addSuccessMessage($message); $messenger->addSuccessMessage($message);
...@@ -160,8 +162,9 @@ trait FidAcquisitionTrait ...@@ -160,8 +162,9 @@ trait FidAcquisitionTrait
$form->setData($request->getPost()); $form->setData($request->getPost());
if ($form->isValid()) { if ($form->isValid()) {
$user = $this->client->requestUserDetails(); $user = $this->client->requestUserDetails();
$url = $this->getRecordUrl($recordId);
$pages = $form->getData()['pages']; $pages = $form->getData()['pages'];
$form->getHydrator()->hydrate(compact('driver','user', 'type','pages'), $order = new Order()); $form->getHydrator()->hydrate(compact('driver','user', 'type', 'url', 'pages'), $order = new Order());
$this->client->requestOrderCreation($order); $this->client->requestOrderCreation($order);
$message = $this->translate('fid::aquisition_success'); $message = $this->translate('fid::aquisition_success');
$messenger->addSuccessMessage($message); $messenger->addSuccessMessage($message);
...@@ -184,4 +187,8 @@ trait FidAcquisitionTrait ...@@ -184,4 +187,8 @@ trait FidAcquisitionTrait
return $view; return $view;
} }
function getRecordUrl($recordId) {
return $this->url()->fromRoute('record',['id' => $recordId], ['force_canonical' => true]);
}
} }
...@@ -27,7 +27,7 @@ class OrderHydrator extends AbstractHydrator { ...@@ -27,7 +27,7 @@ class OrderHydrator extends AbstractHydrator {
$object->setType($data['type']); $object->setType($data['type']);
$object->setUser($data['user']); $object->setUser($data['user']);
$pages = array_key_exists('pages',$data) ? $data['pages'] : null; $partialCopyPages = array_key_exists('pages',$data) ? $data['pages'] : null;
/* Collect needed record data */ /* Collect needed record data */
$id = $driver->tryMethod('getUniqueID'); $id = $driver->tryMethod('getUniqueID');
...@@ -40,6 +40,10 @@ class OrderHydrator extends AbstractHydrator { ...@@ -40,6 +40,10 @@ class OrderHydrator extends AbstractHydrator {
$issn = $driver->tryMethod('getCleanISSN'); $issn = $driver->tryMethod('getCleanISSN');
$languages = $driver->tryMethod('getLanguages'); $languages = $driver->tryMethod('getLanguages');
$price = $driver->tryMethod('getPrice'); $price = $driver->tryMethod('getPrice');
/* pre generated record-url */
$url = $data['url'];
/* Collect special journal data used for subito-article*/
$publishedIn = $driver->tryMethod('getPublishedIn');
$record = compact( $record = compact(
'id', 'id',
...@@ -52,10 +56,11 @@ class OrderHydrator extends AbstractHydrator { ...@@ -52,10 +56,11 @@ class OrderHydrator extends AbstractHydrator {
'isbn', 'isbn',
'languages', 'languages',
'price', 'price',
'pages' 'publishedIn',
'url'
); );
$object->setData(compact('record')); $object->setData(compact('record','partialCopyPages'));
$object->setLabel($title); $object->setLabel($title);
return; return;
} }
......
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