Changeset View
Changeset View
Standalone View
Standalone View
src/app/Observers/SharedFolderObserver.php
Show All 13 Lines | class SharedFolderObserver | ||||
* @return void | * @return void | ||||
*/ | */ | ||||
public function creating(SharedFolder $folder): void | public function creating(SharedFolder $folder): void | ||||
{ | { | ||||
if (empty($folder->type)) { | if (empty($folder->type)) { | ||||
$folder->type = 'mail'; | $folder->type = 'mail'; | ||||
} | } | ||||
if (empty($folder->email)) { | |||||
if (!isset($folder->domain)) { | |||||
throw new \Exception("Missing 'domain' property for a new shared folder"); | |||||
} | |||||
$domainName = \strtolower($folder->domain); | |||||
$folder->email = "{$folder->type}-{$folder->id}@{$domainName}"; | |||||
} else { | |||||
$folder->email = \strtolower($folder->email); | |||||
} | |||||
$folder->status |= SharedFolder::STATUS_NEW | SharedFolder::STATUS_ACTIVE; | $folder->status |= SharedFolder::STATUS_NEW | SharedFolder::STATUS_ACTIVE; | ||||
} | } | ||||
/** | /** | ||||
* Handle the shared folder "created" event. | * Handle the shared folder "created" event. | ||||
* | * | ||||
* @param \App\SharedFolder $folder The folder | * @param \App\SharedFolder $folder The folder | ||||
* | * | ||||
▲ Show 20 Lines • Show All 67 Lines • Show Last 20 Lines |