summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@webtrees.net>2019-01-26 20:17:41 +0000
committerGreg Roach <fisharebest@webtrees.net>2019-01-26 20:17:41 +0000
commit90d97cc88e321b41c62772619e24b8ab9bbc6cae (patch)
tree8564c4deb59a3949be81489af3251471a7b5d4c9
parent47ad3efbe145aa0178ee015b6e7dd0d756ac60d0 (diff)
downloadwebtrees-90d97cc88e321b41c62772619e24b8ab9bbc6cae.tar.gz
webtrees-90d97cc88e321b41c62772619e24b8ab9bbc6cae.tar.bz2
webtrees-90d97cc88e321b41c62772619e24b8ab9bbc6cae.zip
Wrong check for RelationshipsChartModule
-rw-r--r--app/Functions/FunctionsPrintFacts.php5
-rw-r--r--app/Http/Controllers/BranchesController.php18
-rw-r--r--resources/views/lists/individuals-table.phtml6
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') ?>