summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/Http/RequestHandlers/PendingChangesAcceptChange.php7
-rw-r--r--app/Http/RequestHandlers/PendingChangesRejectChange.php7
-rw-r--r--app/Services/PendingChangesService.php16
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']);