diff options
| -rw-r--r-- | app/Http/RequestHandlers/PendingChangesAcceptChange.php | 7 | ||||
| -rw-r--r-- | app/Http/RequestHandlers/PendingChangesRejectChange.php | 7 | ||||
| -rw-r--r-- | app/Services/PendingChangesService.php | 16 |
3 files changed, 10 insertions, 20 deletions
diff --git a/app/Http/RequestHandlers/PendingChangesAcceptChange.php b/app/Http/RequestHandlers/PendingChangesAcceptChange.php index fef4d38dc0..7ab4a6decb 100644 --- a/app/Http/RequestHandlers/PendingChangesAcceptChange.php +++ b/app/Http/RequestHandlers/PendingChangesAcceptChange.php @@ -19,8 +19,6 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\RequestHandlers; -use Fisharebest\Webtrees\GedcomRecord; -use Fisharebest\Webtrees\Registry; use Fisharebest\Webtrees\Services\PendingChangesService; use Fisharebest\Webtrees\Validator; use Psr\Http\Message\ResponseInterface; @@ -40,12 +38,9 @@ final class PendingChangesAcceptChange implements RequestHandlerInterface { $tree = Validator::attributes($request)->tree(); $xref = Validator::attributes($request)->isXref()->string('xref'); - $record = Registry::gedcomRecordFactory()->make($xref, $tree); $change = $request->getAttribute('change'); - if ($record instanceof GedcomRecord) { - $this->pending_changes_service->acceptChange($record, $change); - } + $this->pending_changes_service->acceptChange($tree, $xref, $change); return response(); } diff --git a/app/Http/RequestHandlers/PendingChangesRejectChange.php b/app/Http/RequestHandlers/PendingChangesRejectChange.php index 96b98bb97f..a6b532ca18 100644 --- a/app/Http/RequestHandlers/PendingChangesRejectChange.php +++ b/app/Http/RequestHandlers/PendingChangesRejectChange.php @@ -19,8 +19,6 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\RequestHandlers; -use Fisharebest\Webtrees\GedcomRecord; -use Fisharebest\Webtrees\Registry; use Fisharebest\Webtrees\Services\PendingChangesService; use Fisharebest\Webtrees\Validator; use Psr\Http\Message\ResponseInterface; @@ -40,12 +38,9 @@ final class PendingChangesRejectChange implements RequestHandlerInterface { $tree = Validator::attributes($request)->tree(); $xref = Validator::attributes($request)->isXref()->string('xref'); - $record = Registry::gedcomRecordFactory()->make($xref, $tree); $change = $request->getAttribute('change'); - if ($record instanceof GedcomRecord) { - $this->pending_changes_service->rejectChange($record, $change); - } + $this->pending_changes_service->rejectChange($tree, $xref, $change); return response(); } diff --git a/app/Services/PendingChangesService.php b/app/Services/PendingChangesService.php index 0dffefa2b9..f1c8adf1b5 100644 --- a/app/Services/PendingChangesService.php +++ b/app/Services/PendingChangesService.php @@ -189,11 +189,11 @@ class PendingChangesService } } - public function acceptChange(GedcomRecord $record, string $change_id): void + public function acceptChange(Tree $tree, string $xref, string $change_id): void { $changes = DB::table('change') - ->where('gedcom_id', '=', $record->tree()->id()) - ->where('xref', '=', $record->xref()) + ->where('gedcom_id', '=', $tree->id()) + ->where('xref', '=', $xref) ->where('change_id', '<=', $change_id) ->where('status', '=', 'pending') ->orderBy('change_id') @@ -202,10 +202,10 @@ class PendingChangesService foreach ($changes as $change) { if ($change->new_gedcom === '') { // delete - $this->gedcom_import_service->updateRecord($change->old_gedcom, $record->tree(), true); + $this->gedcom_import_service->updateRecord($change->old_gedcom, $tree, true); } else { // add/update - $this->gedcom_import_service->updateRecord($change->new_gedcom, $record->tree(), false); + $this->gedcom_import_service->updateRecord($change->new_gedcom, $tree, false); } DB::table('change') @@ -222,11 +222,11 @@ class PendingChangesService ->update(['status' => 'rejected']); } - public function rejectChange(GedcomRecord $record, string $change_id): void + public function rejectChange(Tree $tree, string $xref, string $change_id): void { DB::table('change') - ->where('gedcom_id', '=', $record->tree()->id()) - ->where('xref', '=', $record->xref()) + ->where('gedcom_id', '=', $tree->id()) + ->where('xref', '=', $xref) ->where('change_id', '>=', $change_id) ->where('status', '=', 'pending') ->update(['status' => 'rejected']); |
