summaryrefslogtreecommitdiff
path: root/app/Http/RequestHandlers/NotePage.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Http/RequestHandlers/NotePage.php')
-rw-r--r--app/Http/RequestHandlers/NotePage.php32
1 files changed, 22 insertions, 10 deletions
diff --git a/app/Http/RequestHandlers/NotePage.php b/app/Http/RequestHandlers/NotePage.php
index 024eb7a002..ab24048c85 100644
--- a/app/Http/RequestHandlers/NotePage.php
+++ b/app/Http/RequestHandlers/NotePage.php
@@ -24,13 +24,12 @@ use Fisharebest\Webtrees\Auth;
use Fisharebest\Webtrees\Http\ViewResponseTrait;
use Fisharebest\Webtrees\Registry;
use Fisharebest\Webtrees\Services\ClipboardService;
+use Fisharebest\Webtrees\Services\LinkedRecordService;
use Fisharebest\Webtrees\Validator;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
-use function assert;
-use function is_string;
use function redirect;
/**
@@ -42,14 +41,16 @@ class NotePage implements RequestHandlerInterface
private ClipboardService $clipboard_service;
+ private LinkedRecordService $linked_record_service;
+
/**
- * NotePage constructor.
- *
* @param ClipboardService $clipboard_service
+ * @param LinkedRecordService $linked_record_service
*/
- public function __construct(ClipboardService $clipboard_service)
+ public function __construct(ClipboardService $clipboard_service, LinkedRecordService $linked_record_service)
{
- $this->clipboard_service = $clipboard_service;
+ $this->clipboard_service = $clipboard_service;
+ $this->linked_record_service = $linked_record_service;
}
/**
@@ -70,12 +71,23 @@ class NotePage implements RequestHandlerInterface
return redirect($record->url(), StatusCodeInterface::STATUS_MOVED_PERMANENTLY);
}
+ $linked_families = $this->linked_record_service->linkedFamilies($record);
+ $linked_individuals = $this->linked_record_service->linkedIndividuals($record);
+ $linked_locations = $this->linked_record_service->linkedLocations($record);
+ $linked_media = $this->linked_record_service->linkedMedia($record);
+ $linked_repositories = $this->linked_record_service->linkedRepositories($record);
+ $linked_sources = $this->linked_record_service->linkedSources($record);
+ $linked_submitters = $this->linked_record_service->linkedSubmitters($record);
+
return $this->viewResponse('note-page', [
'clipboard_facts' => $this->clipboard_service->pastableFacts($record),
- 'linked_families' => $record->linkedFamilies('NOTE'),
- 'linked_individuals' => $record->linkedIndividuals('NOTE'),
- 'linked_media_objects' => $record->linkedMedia('NOTE'),
- 'linked_sources' => $record->linkedSources('NOTE'),
+ 'linked_families' => $linked_families,
+ 'linked_individuals' => $linked_individuals,
+ 'linked_locations' => $linked_locations->isEmpty() ? null : $linked_locations,
+ 'linked_media_objects' => $linked_media,
+ 'linked_repositories' => $linked_repositories,
+ 'linked_sources' => $linked_sources,
+ 'linked_submitters' => $linked_submitters,
'meta_description' => '',
'meta_robots' => 'index,follow',
'record' => $record,