summaryrefslogtreecommitdiff
path: root/app/Http/RequestHandlers/LinkSpouseToIndividualAction.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/LinkSpouseToIndividualAction.php
parent9b80d2d98159cfc0110760b8e215998864838ff9 (diff)
downloadwebtrees-efd4768b0eab1f325771cdbc6181ff84f85f2149.tar.gz
webtrees-efd4768b0eab1f325771cdbc6181ff84f85f2149.tar.bz2
webtrees-efd4768b0eab1f325771cdbc6181ff84f85f2149.zip
Working on GEDCOM elements
Diffstat (limited to 'app/Http/RequestHandlers/LinkSpouseToIndividualAction.php')
-rw-r--r--app/Http/RequestHandlers/LinkSpouseToIndividualAction.php17
1 files changed, 12 insertions, 5 deletions
diff --git a/app/Http/RequestHandlers/LinkSpouseToIndividualAction.php b/app/Http/RequestHandlers/LinkSpouseToIndividualAction.php
index b961c77699..9bda3def19 100644
--- a/app/Http/RequestHandlers/LinkSpouseToIndividualAction.php
+++ b/app/Http/RequestHandlers/LinkSpouseToIndividualAction.php
@@ -28,6 +28,7 @@ use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use function assert;
+use function is_string;
use function redirect;
/**
@@ -58,14 +59,20 @@ class LinkSpouseToIndividualAction implements RequestHandlerInterface
$tree = $request->getAttribute('tree');
assert($tree instanceof Tree);
- $xref = $request->getQueryParams()['xref'];
+ $xref = $request->getAttribute('xref');
+ assert(is_string($xref));
$individual = Registry::individualFactory()->make($xref, $tree);
$individual = Auth::checkIndividualAccess($individual, true);
$params = (array) $request->getParsedBody();
- $spid = $params['spid'];
+ $levels = $params['flevels'] ?? [];
+ $tags = $params['ftags'] ?? [];
+ $values = $params['fvalues'] ?? [];
+
+ // Create the new family
+ $spid = $params['spid'];
$spouse = Registry::individualFactory()->make($spid, $tree);
$spouse = Auth::checkIndividualAccess($spouse, true);
@@ -75,12 +82,12 @@ class LinkSpouseToIndividualAction implements RequestHandlerInterface
$gedcom = "0 @@ FAM\n1 WIFE @" . $individual->xref() . "@\n1 HUSB @" . $spouse->xref() . '@';
}
- $gedcom .= $this->gedcom_edit_service->addNewFact($request, $tree, 'MARR');
+ $gedcom .= "\n" . $this->gedcom_edit_service->editLinesToGedcom('FAM', $levels, $tags, $values);
$family = $tree->createFamily($gedcom);
- $individual->createFact('1 FAMS @' . $family->xref() . '@', true);
- $spouse->createFact('1 FAMS @' . $family->xref() . '@', true);
+ $individual->createFact('1 FAMS @' . $family->xref() . '@', false);
+ $spouse->createFact('1 FAMS @' . $family->xref() . '@', false);
return redirect($family->url());
}