summaryrefslogtreecommitdiff
path: root/app/Census/AbstractCensusColumn.php
diff options
context:
space:
mode:
authorDavid Drury <ddrury@users.noreply.github.com>2020-12-23 17:54:33 +0000
committerGitHub <noreply@github.com>2020-12-23 17:54:33 +0000
commit13488723b3bf9fcdea2b042b578a867fbea78b42 (patch)
tree8cbbf7ad3c81b9ec5d1cbe6be70929703f1acbce /app/Census/AbstractCensusColumn.php
parent290708e9d32aa2f6b9cf7f348a93de3b731c87cc (diff)
downloadwebtrees-13488723b3bf9fcdea2b042b578a867fbea78b42.tar.gz
webtrees-13488723b3bf9fcdea2b042b578a867fbea78b42.tar.bz2
webtrees-13488723b3bf9fcdea2b042b578a867fbea78b42.zip
Census assistant - for females get correct married name when there is more than one marriage (#3601)
Diffstat (limited to 'app/Census/AbstractCensusColumn.php')
-rw-r--r--app/Census/AbstractCensusColumn.php32
1 files changed, 32 insertions, 0 deletions
diff --git a/app/Census/AbstractCensusColumn.php b/app/Census/AbstractCensusColumn.php
index c88b6c3e81..d01b80cf98 100644
--- a/app/Census/AbstractCensusColumn.php
+++ b/app/Census/AbstractCensusColumn.php
@@ -120,6 +120,38 @@ class AbstractCensusColumn
}
/**
+ * What was an individual's likely name on a given date, allowing
+ * for marriages and married names.
+ *
+ * @param Individual $individual
+ *
+ * @return string[]
+ */
+ protected function nameAtCensusDate(Individual $individual): array
+ {
+ $names = $individual->getAllNames();
+ $name = $names[0];
+ $family = $this->spouseFamily($individual);
+
+ if ($family instanceof Family) {
+ foreach ($family->facts(['MARR']) as $marriage) {
+ if ($marriage->date()->isOK()) {
+ $spouse = $family->spouse($individual);
+ foreach ($names as $individual_name) {
+ foreach ($spouse->getAllNames() as $spouse_name) {
+ if ($individual_name['type'] === '_MARNM' && $individual_name['surn'] === $spouse_name['surn']) {
+ return $individual_name;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return $name;
+ }
+
+ /**
* When did this census occur
*
* @return Date