generated from boboko/starter
Chore: Moving Recovery Consent to Core
This commit is contained in:
@@ -242,7 +242,7 @@ public function saveAddress(string $locale, Request $request): JsonResponse
|
||||
$this->checkout->setRecoveryConsent($request->boolean('recovery_consent'));
|
||||
|
||||
if (Auth::check()) {
|
||||
$this->rememberRecoveryConsent($request->boolean('recovery_consent'));
|
||||
$this->account->setRecoveryConsent(Auth::user(), $request->boolean('recovery_consent'));
|
||||
}
|
||||
|
||||
$rateKeyAfter = $cart->shippingAddress?->only(['postcode', 'state', 'country_id']);
|
||||
@@ -665,29 +665,6 @@ private function prefillFromAccount(Cart $cart): Cart
|
||||
return $cart;
|
||||
}
|
||||
|
||||
/**
|
||||
* The shopper's latest reminder choice, kept on their customer record
|
||||
* (meta, same shape CheckoutService::setRecoveryConsent() writes on the
|
||||
* cart) so their next checkout starts from it. The storefront's account
|
||||
* page reads/writes the same keys. Candidate for a boboko-core method.
|
||||
*/
|
||||
private function rememberRecoveryConsent(bool $consent): void
|
||||
{
|
||||
$customer = $this->account->customer(Auth::user());
|
||||
|
||||
if (! $customer || (bool) data_get($customer, 'meta.recovery_consent') === $consent) {
|
||||
return;
|
||||
}
|
||||
|
||||
$customer->meta = [
|
||||
...($customer->meta?->toArray() ?? []),
|
||||
'recovery_consent' => $consent,
|
||||
'recovery_consent_at' => $consent ? now()->toIso8601String() : null,
|
||||
'recovery_consent_policy_version' => $consent ? config('legal.privacy_policy_version') : null,
|
||||
];
|
||||
$customer->save();
|
||||
}
|
||||
|
||||
private function storeCountry(): ?Country
|
||||
{
|
||||
if (self::STORE_COUNTRY_ISO3 === null) {
|
||||
|
||||
Reference in New Issue
Block a user