23-01-2026
This commit is contained in:
parent
8fd1f4d451
commit
389d5d1820
59 changed files with 9642 additions and 883 deletions
86
app/Models/NewsletterLog.php
Normal file
86
app/Models/NewsletterLog.php
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
/**
|
||||
* Class NewsletterLog
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $newsletter_contact_id
|
||||
* @property string $action
|
||||
* @property string|null $description
|
||||
* @property array|null $metadata
|
||||
* @property int|null $user_id
|
||||
* @property Carbon $created_at
|
||||
* @property Carbon $updated_at
|
||||
* @property-read NewsletterContact $newsletter_contact
|
||||
* @property-read SfGuardUser|null $user
|
||||
* @package App\Models
|
||||
*/
|
||||
class NewsletterLog extends Model
|
||||
{
|
||||
protected $connection = 'mysql';
|
||||
|
||||
protected $table = 'newsletter_logs';
|
||||
|
||||
protected $casts = [
|
||||
'newsletter_contact_id' => 'int',
|
||||
'user_id' => 'int',
|
||||
'metadata' => 'array',
|
||||
];
|
||||
|
||||
protected $fillable = [
|
||||
'newsletter_contact_id',
|
||||
'action',
|
||||
'description',
|
||||
'metadata',
|
||||
'user_id',
|
||||
];
|
||||
|
||||
// Aktions-Konstanten
|
||||
const ACTION_SUBSCRIBED = 'subscribed';
|
||||
const ACTION_UNSUBSCRIBED = 'unsubscribed';
|
||||
const ACTION_BOOKING_ADDED = 'booking_added';
|
||||
const ACTION_STATUS_CHANGED = 'status_changed';
|
||||
const ACTION_GROUP_CHANGED = 'group_changed';
|
||||
const ACTION_EMAIL_SENT = 'email_sent';
|
||||
const ACTION_BOUNCED = 'bounced';
|
||||
|
||||
public static $actionLabels = [
|
||||
self::ACTION_SUBSCRIBED => 'Angemeldet',
|
||||
self::ACTION_UNSUBSCRIBED => 'Abgemeldet',
|
||||
self::ACTION_BOOKING_ADDED => 'Buchung hinzugefügt',
|
||||
self::ACTION_STATUS_CHANGED => 'Status geändert',
|
||||
self::ACTION_GROUP_CHANGED => 'Gruppe geändert',
|
||||
self::ACTION_EMAIL_SENT => 'E-Mail versendet',
|
||||
self::ACTION_BOUNCED => 'Bounced',
|
||||
];
|
||||
|
||||
/**
|
||||
* Beziehung zum Newsletter-Kontakt
|
||||
*/
|
||||
public function newsletter_contact()
|
||||
{
|
||||
return $this->belongsTo(NewsletterContact::class, 'newsletter_contact_id');
|
||||
}
|
||||
|
||||
/**
|
||||
* Beziehung zum Admin-User
|
||||
*/
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo(SfGuardUser::class, 'user_id');
|
||||
}
|
||||
|
||||
/**
|
||||
* Action-Label
|
||||
*/
|
||||
public function getActionLabelAttribute()
|
||||
{
|
||||
return self::$actionLabels[$this->action] ?? $this->action;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue