diff options
| author | Greg Roach <fisharebest@webtrees.net> | 2020-01-18 21:52:07 +0000 |
|---|---|---|
| committer | Greg Roach <fisharebest@webtrees.net> | 2020-01-18 21:52:07 +0000 |
| commit | 7bb122d69bf8a45328cbee345e6744a32e16a8b0 (patch) | |
| tree | 2b65260e4ca12d74f9335240b7143411d0213b57 | |
| parent | 29a51599e39417638370fe4c2c4d77201726c9ff (diff) | |
| download | webtrees-7bb122d69bf8a45328cbee345e6744a32e16a8b0.tar.gz webtrees-7bb122d69bf8a45328cbee345e6744a32e16a8b0.tar.bz2 webtrees-7bb122d69bf8a45328cbee345e6744a32e16a8b0.zip | |
Fix: #2979 - re-ordering deleted facts
| -rw-r--r-- | app/Http/RequestHandlers/IndividualPage.php | 24 | ||||
| -rw-r--r-- | resources/views/edit/raw-gedcom-record.phtml | 24 | ||||
| -rw-r--r-- | resources/views/edit/reorder-names.phtml | 2 | ||||
| -rw-r--r-- | resources/views/individual-page-menu.phtml | 8 | ||||
| -rw-r--r-- | resources/views/individual-page.phtml | 3 |
5 files changed, 17 insertions, 44 deletions
diff --git a/app/Http/RequestHandlers/IndividualPage.php b/app/Http/RequestHandlers/IndividualPage.php index f28eaa5e5d..6acf9c3dda 100644 --- a/app/Http/RequestHandlers/IndividualPage.php +++ b/app/Http/RequestHandlers/IndividualPage.php @@ -156,9 +156,6 @@ class IndividualPage implements RequestHandlerInterface return $this->viewResponse('individual-page', [ 'age' => $age, 'clipboard_facts' => $this->clipboard_service->pastableFacts($individual, new Collection()), - 'count_media' => $this->countFacts($individual, ['OBJE']), - 'count_names' => $this->countFacts($individual, ['NAME']), - 'count_sex' => $this->countFacts($individual, ['SEX']), 'individual' => $individual, 'individual_media' => $individual_media, 'meta_robots' => 'index,follow', @@ -174,27 +171,6 @@ class IndividualPage implements RequestHandlerInterface } /** - * Count the (non-pending-delete) name records for an individual. - * - * @param Individual $individual - * @param string[] $tags - * - * @return int - */ - private function countFacts(Individual $individual, array $tags): int - { - $count = 0; - - foreach ($individual->facts($tags) as $fact) { - if (!$fact->isPendingDeletion()) { - $count++; - } - } - - return $count; - } - - /** * Format a name record * * @param Tree $tree diff --git a/resources/views/edit/raw-gedcom-record.phtml b/resources/views/edit/raw-gedcom-record.phtml index cd097e67c9..8ba2a8c479 100644 --- a/resources/views/edit/raw-gedcom-record.phtml +++ b/resources/views/edit/raw-gedcom-record.phtml @@ -28,19 +28,17 @@ use Fisharebest\Webtrees\View; </div> <div id="wt-sortable-list"> - <?php foreach ($record->facts() as $fact) : ?> - <?php if (!$fact->isPendingDeletion()) : ?> - <div class="card my-2"> - <label class="card-header py-1 px-2 d-flex" for="fact-<?= e($fact->id()) ?>"> - <span class="drag-handle"> - <?= view('icons/drag-handle') ?> - </span> - <?= $fact->summary() ?> - </label> - <input type="hidden" name="fact_id[]" value="<?= e($fact->id()) ?>"> - <textarea class="card-body form-control py-1 px-2" dir="ltr" id="fact-<?= e($fact->id()) ?>" name="fact[]" rows="<?= 1 + preg_match_all('/\n/', $fact->gedcom()) ?>"><?= e($fact->gedcom()) ?></textarea> - </div> - <?php endif ?> + <?php foreach ($record->facts([], false, null, true) as $fact) : ?> + <div class="card my-2"> + <label class="card-header py-1 px-2 d-flex" for="fact-<?= e($fact->id()) ?>"> + <span class="drag-handle"> + <?= view('icons/drag-handle') ?> + </span> + <?= $fact->summary() ?> + </label> + <input type="hidden" name="fact_id[]" value="<?= e($fact->id()) ?>"> + <textarea class="card-body form-control py-1 px-2" dir="ltr" id="fact-<?= e($fact->id()) ?>" name="fact[]" rows="<?= 1 + preg_match_all('/\n/', $fact->gedcom()) ?>"><?= e($fact->gedcom()) ?></textarea> + </div> <?php endforeach ?> <div class="card my-2"> diff --git a/resources/views/edit/reorder-names.phtml b/resources/views/edit/reorder-names.phtml index e8018526c6..2491b233d0 100644 --- a/resources/views/edit/reorder-names.phtml +++ b/resources/views/edit/reorder-names.phtml @@ -14,7 +14,7 @@ use Fisharebest\Webtrees\View; <?= csrf_field() ?> <div class="wt-sortable-list"> - <?php foreach ($individual->facts(['NAME']) as $fact) : ?> + <?php foreach ($individual->facts(['NAME'], false, null, true) as $fact) : ?> <div class="card mb-2 wt-sortable-item"> <input type="hidden" name="order[]" value="<?= $fact->id() ?>"> <div class="card-header"> diff --git a/resources/views/individual-page-menu.phtml b/resources/views/individual-page-menu.phtml index 8f36744e5e..898e4f401f 100644 --- a/resources/views/individual-page-menu.phtml +++ b/resources/views/individual-page-menu.phtml @@ -24,7 +24,7 @@ use Fisharebest\Webtrees\I18N; <?= I18N::translate('Add a name') ?> </a> - <?php if ($count_names > 1) : ?> + <?php if ($individual->facts(['NAME'], false, null, true)->count() > 1) : ?> <a class="dropdown-item" href="<?= e(route(ReorderNamesPage::class, ['tree' => $tree->name(), 'xref' => $individual->xref()])) ?>"> <?= view('icons/reorder') ?> <?= I18N::translate('Re-order names') ?> @@ -38,14 +38,14 @@ use Fisharebest\Webtrees\I18N; <div class="dropdown-divider"></div> - <?php if ($count_sex === 0) : ?> + <?php if ($individual->facts(['SEX'], false, null, true)->isEmpty()) : ?> <a class="dropdown-item" href="<?= e(route(AddNewFact::class, ['fact' => 'SEX', 'tree' => $individual->tree()->name(), 'xref' => $individual->xref()])) ?>"> <?= view('icons/edit') ?> <?= I18N::translate('Edit the gender') ?> </a> <?php endif ?> - <?php foreach ($individual->facts(['SEX']) as $fact) : ?> + <?php foreach ($individual->facts(['SEX'], false, null, true) as $fact) : ?> <?php if ($fact->canEdit()) : ?> <a class="dropdown-item" href="<?= e(route(EditFact::class, ['xref' => $individual->xref(), 'fact_id' => $fact->id(), 'tree' => $individual->tree()->name()])) ?>"> <?= view('icons/edit') ?> @@ -75,7 +75,7 @@ use Fisharebest\Webtrees\I18N; <?= I18N::translate('Add a media object') ?> </a> - <?php if ($individual->facts(['OBJE'])->count() > 1) : ?> + <?php if ($individual->facts(['OBJE'], false, null, true)->count() > 1) : ?> <a class="dropdown-item" href="<?= e(route(ReorderMediaPage::class, ['tree' => $tree->name(), 'xref' => $individual->xref()])) ?>"> <?= view('icons/reorder') ?> <?= I18N::translate('Re-order media') ?> diff --git a/resources/views/individual-page.phtml b/resources/views/individual-page.phtml index a9e8421fa7..8001c1dc74 100644 --- a/resources/views/individual-page.phtml +++ b/resources/views/individual-page.phtml @@ -12,7 +12,6 @@ use Illuminate\Support\Collection; /** * @var Individual $individual * @var string $user_link - * @var int $count_names * @var Collection $sidebars * @var Collection $individual_media * @var Collection $name_records @@ -46,7 +45,7 @@ use Illuminate\Support\Collection; <?= $individual->fullName() ?><?= $user_link ?>, <?= $individual->lifespan() ?> <?= $age ?> </h2> <?php if ($individual->canEdit()) : ?> - <?= view('individual-page-menu', ['individual' => $individual, 'count_names' => $count_names, 'count_sex' => $count_sex, 'tree' => $tree]) ?> + <?= view('individual-page-menu', ['individual' => $individual, 'tree' => $tree]) ?> <?php endif ?> </div> |
