summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/Http/RequestHandlers/ReorderChildrenAction.php3
-rw-r--r--app/Http/RequestHandlers/ReorderChildrenPage.php2
-rw-r--r--resources/views/edit/reorder-children.phtml4
-rw-r--r--resources/views/modules/relatives/family.phtml2
4 files changed, 8 insertions, 3 deletions
diff --git a/app/Http/RequestHandlers/ReorderChildrenAction.php b/app/Http/RequestHandlers/ReorderChildrenAction.php
index 5162b769e8..1bf43813f9 100644
--- a/app/Http/RequestHandlers/ReorderChildrenAction.php
+++ b/app/Http/RequestHandlers/ReorderChildrenAction.php
@@ -50,6 +50,7 @@ class ReorderChildrenAction implements RequestHandlerInterface
$xref = Validator::attributes($request)->isXref()->string('xref');
$family = Registry::familyFactory()->make($xref, $tree);
$family = Auth::checkFamilyAccess($family, true);
+ $url = Validator::parsedBody($request)->isLocalUrl()->string('url', $family->url());
$params = (array) $request->getParsedBody();
$order = $params['order'];
@@ -77,6 +78,6 @@ class ReorderChildrenAction implements RequestHandlerInterface
$family->updateRecord($gedcom, false);
- return redirect($family->url());
+ return redirect($url);
}
}
diff --git a/app/Http/RequestHandlers/ReorderChildrenPage.php b/app/Http/RequestHandlers/ReorderChildrenPage.php
index e9eeead81e..dfce48063f 100644
--- a/app/Http/RequestHandlers/ReorderChildrenPage.php
+++ b/app/Http/RequestHandlers/ReorderChildrenPage.php
@@ -46,6 +46,7 @@ class ReorderChildrenPage implements RequestHandlerInterface
$xref = Validator::attributes($request)->isXref()->string('xref');
$family = Registry::familyFactory()->make($xref, $tree);
$family = Auth::checkFamilyAccess($family, true);
+ $url = Validator::queryParams($request)->isLocalUrl()->string('url', $family->url());
$title = $family->fullName() . ' — ' . I18N::translate('Re-order children');
@@ -53,6 +54,7 @@ class ReorderChildrenPage implements RequestHandlerInterface
'family' => $family,
'title' => $title,
'tree' => $tree,
+ 'url' => $url,
]);
}
}
diff --git a/resources/views/edit/reorder-children.phtml b/resources/views/edit/reorder-children.phtml
index b0b3d33d32..031ba93656 100644
--- a/resources/views/edit/reorder-children.phtml
+++ b/resources/views/edit/reorder-children.phtml
@@ -13,6 +13,7 @@ use Fisharebest\Webtrees\View;
/**
* @var Family $family
* @var string $title
+ * @var string $url
*/
?>
@@ -20,6 +21,7 @@ use Fisharebest\Webtrees\View;
<h2 class="wt-page-title"><?= $title ?></h2>
<form method="post" action="<?= e(route(ReorderChildrenAction::class, ['tree' => $family->tree()->name(), 'xref' => $family->xref()])) ?>" class="wt-page-content">
+ <input type="hidden" name="url" value="<?= e($url) ?>">
<div class="wt-sortable-list">
<?php foreach ($family->facts(['CHIL'])->filter(static fn (Fact $fact): bool => $fact->target() instanceof Individual) as $fact) : ?>
<div class="card my-2 wt-sortable-item" data-wt-sort-by-date="<?= $fact->target()->getBirthDate()->julianDay() ?>">
@@ -47,7 +49,7 @@ use Fisharebest\Webtrees\View;
<?= /* I18N: A button label. */ I18N::translate('sort by date of birth') ?>
</button>
- <a class="btn btn-secondary" href="<?= e($family->url()) ?>">
+ <a class="btn btn-secondary" href="<?= e($url) ?>">
<?= view('icons/cancel') ?>
<?= /* I18N: A button label. */ I18N::translate('cancel') ?>
</a>
diff --git a/resources/views/modules/relatives/family.phtml b/resources/views/modules/relatives/family.phtml
index e97af17b59..00db1b6e30 100644
--- a/resources/views/modules/relatives/family.phtml
+++ b/resources/views/modules/relatives/family.phtml
@@ -231,7 +231,7 @@ use Fisharebest\Webtrees\Services\RelationshipService;
<?php if ($family->children()->count() > 1) : ?>
<br>
- <a href="<?= e(route(ReorderChildrenPage::class, ['tree' => $family->tree()->name(), 'xref' => $family->xref()])) ?>">
+ <a href="<?= e(route(ReorderChildrenPage::class, ['tree' => $family->tree()->name(), 'xref' => $family->xref(), 'url' => $individual->url() . '#tab-relatives'])) ?>">
<?= I18N::translate('Re-order children') ?>
</a>
<?php endif; ?>