- E-Mail-Aenderung durch Berater wird erst nach Bestaetigung durch den Kunden aktiv (Link an die neue Adresse, Portal kunde/email-bestaetigen); danach ziehen alle Eintraege des Kunden und seine Abos mit. Admins aendern direkt. - Kundenhoheit: E-Mail eines Beraterkontos oder eines Kunden eines anderen Beraters wird abgelehnt (beim Speichern und bei der Bestaetigung). - Fix CustomerPriority::entryExists: aelteste gepruefte Zuordnung gilt, Eintraege in Pruefung (is_like) dienen nicht mehr als Vorlage. - "Berater zuweisen" voreingestellt auf alle Bestellungen des Kunden. - Neue Admin-Seite Kundenhoheit: offene Pruefungen, Kunden bei mehreren Beratern, abgelehnte/offene E-Mail-Aenderungen; Zaehler im Menue. - Neue Tabelle shopping_user_email_changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
36 lines
1.1 KiB
PHP
36 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Mail;
|
|
|
|
use App\Models\ShoppingUser;
|
|
use App\Services\Util;
|
|
use Illuminate\Bus\Queueable;
|
|
use Illuminate\Mail\Mailable;
|
|
use Illuminate\Queue\SerializesModels;
|
|
|
|
class CustomerEmailChangeMail extends Mailable
|
|
{
|
|
use Queueable, SerializesModels;
|
|
|
|
public function __construct(public ShoppingUser $shoppingUser, public string $token) {}
|
|
|
|
public function build(): self
|
|
{
|
|
$firstname = $this->shoppingUser->billing_firstname;
|
|
$salutation = $firstname ? __('email.hello').' '.$firstname : __('email.hello');
|
|
|
|
// Link zeigt immer auf das Kundenportal (in.mivita.care), unabhängig vom Versand-Kontext.
|
|
$link = rtrim(Util::getMyMivitaPortalUrl(), '/').'/kunde/email-bestaetigen/'.$this->token;
|
|
$subject = __('customer.email_change_mail_subject');
|
|
|
|
return $this->subject($subject)
|
|
->view('emails.customer_email_change')
|
|
->with([
|
|
'salutation' => $salutation,
|
|
'link' => $link,
|
|
'mailTitle' => $subject,
|
|
'greetings' => __('email.greetings'),
|
|
'sender' => __('email.sender'),
|
|
]);
|
|
}
|
|
}
|