summaryrefslogtreecommitdiff
path: root/app/Http/RequestHandlers/AddUnlinkedPage.php
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@gmail.com>2021-05-11 13:48:42 +0100
committerGreg Roach <fisharebest@gmail.com>2021-05-14 14:10:37 +0100
commitefd4768b0eab1f325771cdbc6181ff84f85f2149 (patch)
tree8eb6d588142b030f6080134fbd972a61f5baf14a /app/Http/RequestHandlers/AddUnlinkedPage.php
parent9b80d2d98159cfc0110760b8e215998864838ff9 (diff)
downloadwebtrees-efd4768b0eab1f325771cdbc6181ff84f85f2149.tar.gz
webtrees-efd4768b0eab1f325771cdbc6181ff84f85f2149.tar.bz2
webtrees-efd4768b0eab1f325771cdbc6181ff84f85f2149.zip
Working on GEDCOM elements
Diffstat (limited to 'app/Http/RequestHandlers/AddUnlinkedPage.php')
-rw-r--r--app/Http/RequestHandlers/AddUnlinkedPage.php29
1 files changed, 21 insertions, 8 deletions
diff --git a/app/Http/RequestHandlers/AddUnlinkedPage.php b/app/Http/RequestHandlers/AddUnlinkedPage.php
index 074ee70a7a..9557aa3095 100644
--- a/app/Http/RequestHandlers/AddUnlinkedPage.php
+++ b/app/Http/RequestHandlers/AddUnlinkedPage.php
@@ -19,14 +19,17 @@ declare(strict_types=1);
namespace Fisharebest\Webtrees\Http\RequestHandlers;
+use Fisharebest\Webtrees\Fact;
use Fisharebest\Webtrees\Http\ViewResponseTrait;
use Fisharebest\Webtrees\I18N;
+use Fisharebest\Webtrees\Registry;
use Fisharebest\Webtrees\Tree;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use function assert;
+use function route;
/**
* Create a new unlinked individual.
@@ -45,15 +48,25 @@ class AddUnlinkedPage implements RequestHandlerInterface
$tree = $request->getAttribute('tree');
assert($tree instanceof Tree);
+ // Create a dummy individual, so that we can create new/empty facts.
+ $element = Registry::elementFactory()->make('INDI:NAME');
+ $dummy = Registry::individualFactory()->new('', '0 @@ INDI', null, $tree);
+ $facts = [
+ 'i' => [
+ new Fact('1 SEX', $dummy, ''),
+ new Fact('1 NAME ' . $element->default($tree), $dummy, ''),
+ new Fact('1 BIRT', $dummy, ''),
+ new Fact('1 DEAT', $dummy, ''),
+ ],
+ ];
+
return $this->viewResponse('edit/new-individual', [
- 'next_action' => AddUnlinkedAction::class,
- 'tree' => $tree,
- 'title' => I18N::translate('Create an individual'),
- 'individual' => null,
- 'family' => null,
- 'name_fact' => null,
- 'famtag' => '',
- 'gender' => 'U',
+ 'cancel_url' => route('manage-trees', ['tree' => $tree->name()]),
+ 'facts' => $facts,
+ 'post_url' => route(AddUnlinkedAction::class, ['tree' => $tree->name()]),
+ 'tree' => $tree,
+ 'title' => I18N::translate('Create an individual'),
+ 'url' => $request->getQueryParams()['url'] ?? route('manage-trees', ['tree' => $tree->name()]),
]);
}
}