summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@webtrees.net>2020-01-18 21:52:07 +0000
committerGreg Roach <fisharebest@webtrees.net>2020-01-18 21:52:07 +0000
commit7bb122d69bf8a45328cbee345e6744a32e16a8b0 (patch)
tree2b65260e4ca12d74f9335240b7143411d0213b57
parent29a51599e39417638370fe4c2c4d77201726c9ff (diff)
downloadwebtrees-7bb122d69bf8a45328cbee345e6744a32e16a8b0.tar.gz
webtrees-7bb122d69bf8a45328cbee345e6744a32e16a8b0.tar.bz2
webtrees-7bb122d69bf8a45328cbee345e6744a32e16a8b0.zip
Fix: #2979 - re-ordering deleted facts
-rw-r--r--app/Http/RequestHandlers/IndividualPage.php24
-rw-r--r--resources/views/edit/raw-gedcom-record.phtml24
-rw-r--r--resources/views/edit/reorder-names.phtml2
-rw-r--r--resources/views/individual-page-menu.phtml8
-rw-r--r--resources/views/individual-page.phtml3
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>