Basic user management
This commit is contained in:
37
app/MessageTemplates/MessageTemplate.php
Normal file
37
app/MessageTemplates/MessageTemplate.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
namespace App\MessageTemplates;
|
||||
|
||||
use App\Enumerations\MessageType;
|
||||
|
||||
abstract class MessageTemplate {
|
||||
protected string $subject;
|
||||
protected string $message;
|
||||
|
||||
public function __construct() {
|
||||
|
||||
}
|
||||
|
||||
public function getSubject(): string
|
||||
{
|
||||
return $this->subject;
|
||||
}
|
||||
|
||||
public function setSubject(string $subject): void
|
||||
{
|
||||
$this->subject = $subject;
|
||||
}
|
||||
|
||||
public function getMessage(): string
|
||||
{
|
||||
return $this->message;
|
||||
}
|
||||
|
||||
public function setMessage(string $message): void
|
||||
{
|
||||
$this->message = $message;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
namespace App\MessageTemplates\Registration;
|
||||
|
||||
use App\MessageTemplates\activationCodeTemplate;
|
||||
use App\MessageTemplates\MessageTemplate;
|
||||
use App\Models\User;
|
||||
use App\ValueObjects\EmailAddress;
|
||||
|
||||
class InformAdminAboutNewUserTemplate extends MessageTemplate
|
||||
{
|
||||
public static function createNew(User $user) : InformAdminAboutNewUserTemplate {
|
||||
$template = new InformAdminAboutNewUserTemplate();
|
||||
$template->composeMessage($user);
|
||||
return $template;
|
||||
}
|
||||
|
||||
public function __construct() {
|
||||
$this->subject = "Eine Person hat sich auf mareike registriert";
|
||||
}
|
||||
|
||||
public function composeMessage(User $user): void {
|
||||
$this->message =
|
||||
<<<HTML
|
||||
|
||||
<h1>Eine Person hat sich auf mareike angemeldet</h1>
|
||||
<p>Soeben hat sich eine neue Person auf mareike angemeldet:</p>
|
||||
<table>
|
||||
<tr>
|
||||
<th>Name:</th>
|
||||
<td>%1\$s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Email:</th>
|
||||
<td>%2\$s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Stamm:</th>
|
||||
<td>%3\$s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Freischaltcode:</th>
|
||||
<td>%4\$s</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
Sollte die Person unberechtigt angemeldet sein, lösche den Account.
|
||||
</p>
|
||||
HTML;
|
||||
|
||||
$this->message = sprintf($this->message,
|
||||
$user->getFullname(),
|
||||
$user->email,
|
||||
$user->local_group,
|
||||
$user->activation_token
|
||||
);
|
||||
}
|
||||
}
|
||||
23
app/MessageTemplates/activationCodeTemplate.php
Normal file
23
app/MessageTemplates/activationCodeTemplate.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\MessageTemplates;
|
||||
|
||||
use App\ValueObjects\EmailAddress;
|
||||
|
||||
class activationCodeTemplate extends MessageTemplate {
|
||||
|
||||
public static function createForUser(EmailAddress $emailAddress, string $activationCode) : activationCodeTemplate {
|
||||
$template = new activationCodeTemplate();
|
||||
$template->composeMessage($emailAddress, $activationCode);
|
||||
return $template;
|
||||
}
|
||||
|
||||
public function __construct() {
|
||||
$this->subject = "Dein Aktivierungscode";
|
||||
}
|
||||
|
||||
public function composeMessage(EmailAddress $emailAddress, string $activationCode): void {
|
||||
$this->message = "Dein Aktivierungscode lautet: {$activationCode}" . PHP_EOL .
|
||||
"Gib diesen zusammen mit der Mailadresse {$emailAddress->getValue()} ein.";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user