diff options
| -rw-r--r-- | app/Http/RequestHandlers/ReorderChildrenAction.php | 3 | ||||
| -rw-r--r-- | app/Http/RequestHandlers/ReorderChildrenPage.php | 2 | ||||
| -rw-r--r-- | resources/views/edit/reorder-children.phtml | 4 | ||||
| -rw-r--r-- | resources/views/modules/relatives/family.phtml | 2 |
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; ?> |
