diff options
| author | Greg Roach <fisharebest@webtrees.net> | 2019-01-26 20:17:41 +0000 |
|---|---|---|
| committer | Greg Roach <fisharebest@webtrees.net> | 2019-01-26 20:17:41 +0000 |
| commit | 90d97cc88e321b41c62772619e24b8ab9bbc6cae (patch) | |
| tree | 8564c4deb59a3949be81489af3251471a7b5d4c9 | |
| parent | 47ad3efbe145aa0178ee015b6e7dd0d756ac60d0 (diff) | |
| download | webtrees-90d97cc88e321b41c62772619e24b8ab9bbc6cae.tar.gz webtrees-90d97cc88e321b41c62772619e24b8ab9bbc6cae.tar.bz2 webtrees-90d97cc88e321b41c62772619e24b8ab9bbc6cae.zip | |
Wrong check for RelationshipsChartModule
| -rw-r--r-- | app/Functions/FunctionsPrintFacts.php | 5 | ||||
| -rw-r--r-- | app/Http/Controllers/BranchesController.php | 18 | ||||
| -rw-r--r-- | resources/views/lists/individuals-table.phtml | 6 |
3 files changed, 21 insertions, 8 deletions
diff --git a/app/Functions/FunctionsPrintFacts.php b/app/Functions/FunctionsPrintFacts.php index 7c7400faef..082d94a936 100644 --- a/app/Functions/FunctionsPrintFacts.php +++ b/app/Functions/FunctionsPrintFacts.php @@ -33,6 +33,7 @@ use Fisharebest\Webtrees\I18N; use Fisharebest\Webtrees\Individual; use Fisharebest\Webtrees\Media; use Fisharebest\Webtrees\Module; +use Fisharebest\Webtrees\Module\ModuleInterface; use Fisharebest\Webtrees\Module\RelationshipsChartModule; use Fisharebest\Webtrees\Note; use Fisharebest\Webtrees\Repository; @@ -531,7 +532,9 @@ class FunctionsPrintFacts $values = ['<a href="' . e($person->url()) . '">' . $person->getFullName() . '</a>']; - $module = Module::findByInterface(RelationshipsChartModule::class)->first(); + $module = Module::findByComponent('chart', $person->tree(), Auth::user())->first(function (ModuleInterface $module) { + return $module instanceof RelationshipsChartModule; + }); if ($module instanceof RelationshipsChartModule) { foreach ($associates as $associate) { diff --git a/app/Http/Controllers/BranchesController.php b/app/Http/Controllers/BranchesController.php index 29be475550..25dcb8209f 100644 --- a/app/Http/Controllers/BranchesController.php +++ b/app/Http/Controllers/BranchesController.php @@ -17,12 +17,14 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\Controllers; +use Fisharebest\Webtrees\Auth; use Fisharebest\Webtrees\Family; use Fisharebest\Webtrees\GedcomCode\GedcomCodePedi; use Fisharebest\Webtrees\GedcomRecord; use Fisharebest\Webtrees\I18N; use Fisharebest\Webtrees\Individual; use Fisharebest\Webtrees\Module; +use Fisharebest\Webtrees\Module\ModuleInterface; use Fisharebest\Webtrees\Module\RelationshipsChartModule; use Fisharebest\Webtrees\Soundex; use Fisharebest\Webtrees\Tree; @@ -97,7 +99,7 @@ class BranchesController extends AbstractBaseController // @TODO - convert this to use views $html = view('branches-list', [ - 'branches' => $this->getPatriarchsHtml($individuals, $ancestors, $surname, $soundex_dm, $soundex_std), + 'branches' => $this->getPatriarchsHtml($tree, $individuals, $ancestors, $surname, $soundex_dm, $soundex_std), ]); return new Response($html); @@ -193,6 +195,7 @@ class BranchesController extends AbstractBaseController /** * For each individual with no ancestors, list their descendants. * + * @param Tree $tree * @param Individual[] $individuals * @param Individual[] $ancestors * @param string $surname @@ -201,7 +204,7 @@ class BranchesController extends AbstractBaseController * * @return string */ - public function getPatriarchsHtml(array $individuals, array $ancestors, string $surname, bool $soundex_dm, bool $soundex_std): string + public function getPatriarchsHtml(Tree $tree, array $individuals, array $ancestors, string $surname, bool $soundex_dm, bool $soundex_std): string { $html = ''; foreach ($individuals as $individual) { @@ -212,7 +215,7 @@ class BranchesController extends AbstractBaseController } } } - $html .= $this->getDescendantsHtml($individuals, $ancestors, $surname, $soundex_dm, $soundex_std, $individual, null); + $html .= $this->getDescendantsHtml($tree, $individuals, $ancestors, $surname, $soundex_dm, $soundex_std, $individual, null); } return $html; @@ -222,6 +225,7 @@ class BranchesController extends AbstractBaseController * Generate a recursive list of descendants of an individual. * If parents are specified, we can also show the pedigree (adopted, etc.). * + * @param Tree $tree * @param Individual[] $individuals * @param Individual[] $ancestors * @param string $surname @@ -232,9 +236,11 @@ class BranchesController extends AbstractBaseController * * @return string */ - private function getDescendantsHtml(array $individuals, array $ancestors, string $surname, bool $soundex_dm, bool $soundex_std, Individual $individual, Family $parents = null) + private function getDescendantsHtml(Tree $tree, array $individuals, array $ancestors, string $surname, bool $soundex_dm, bool $soundex_std, Individual $individual, Family $parents = null) { - $module = Module::findByInterface(RelationshipsChartModule::class)->first(); + $module = Module::findByComponent('chart', $tree, Auth::user())->first(function (ModuleInterface $module) { + return $module instanceof RelationshipsChartModule; + }); // A person has many names. Select the one that matches the searched surname $person_name = ''; @@ -315,7 +321,7 @@ class BranchesController extends AbstractBaseController $fam_html .= '<ol>'; foreach ($family->getChildren() as $child) { - $fam_html .= $this->getDescendantsHtml($individuals, $ancestors, $surname, $soundex_dm, $soundex_std, $child, $family); + $fam_html .= $this->getDescendantsHtml($tree, $individuals, $ancestors, $surname, $soundex_dm, $soundex_std, $child, $family); } $fam_html .= '</ol>'; } diff --git a/resources/views/lists/individuals-table.phtml b/resources/views/lists/individuals-table.phtml index 1cf1696b08..f878aa4bf1 100644 --- a/resources/views/lists/individuals-table.phtml +++ b/resources/views/lists/individuals-table.phtml @@ -3,7 +3,9 @@ <?php use Fisharebest\Webtrees\I18N; ?> <?php use Fisharebest\Webtrees\Individual; ?> <?php use Fisharebest\Webtrees\Module; ?> +<?php use Fisharebest\Webtrees\Module\ModuleInterface; ?> <?php use Fisharebest\Webtrees\Module\RelationshipsChartModule; ?> +<?php use Fisharebest\Webtrees\Auth; ?> <?php use Fisharebest\Webtrees\View; ?> <?php use Ramsey\Uuid\Uuid; ?> @@ -15,7 +17,9 @@ $table_id = 'table-indi-' . Uuid::uuid4()->toString(); $hundred_years_ago = new Date(date('Y') - 100); $unique_indis = []; // Don't double-count indis with multiple names. -$module = Module::findByInterface(RelationshipsChartModule::class)->first(); +$module = Module::findByComponent('chart', $tree, Auth::user())->first(function (ModuleInterface $module) { + return $module instanceof RelationshipsChartModule; +}); ?> <?php View::push('javascript') ?> |
