Changeset View
Changeset View
Standalone View
Standalone View
src/app/Observers/SharedFolderAliasObserver.php
Show All 11 Lines | class SharedFolderAliasObserver | ||||
* Handle the "creating" event on an alias | * Handle the "creating" event on an alias | ||||
* | * | ||||
* @param \App\SharedFolderAlias $alias The shared folder email alias | * @param \App\SharedFolderAlias $alias The shared folder email alias | ||||
* | * | ||||
* @return bool | * @return bool | ||||
*/ | */ | ||||
public function creating(SharedFolderAlias $alias): bool | public function creating(SharedFolderAlias $alias): bool | ||||
{ | { | ||||
$alias->alias = \strtolower($alias->alias); | $alias->alias = \App\Utils::emailToLower($alias->alias); | ||||
$domainName = explode('@', $alias->alias)[1]; | $domainName = explode('@', $alias->alias)[1]; | ||||
$domain = Domain::where('namespace', $domainName)->first(); | $domain = Domain::where('namespace', $domainName)->first(); | ||||
if (!$domain) { | if (!$domain) { | ||||
\Log::error("Failed creating alias {$alias->alias}. Domain does not exist."); | \Log::error("Failed creating alias {$alias->alias}. Domain does not exist."); | ||||
return false; | return false; | ||||
} | } | ||||
if ($alias->sharedFolder) { | if ($alias->sharedFolder) { | ||||
if ($alias->sharedFolder->tenant_id != $domain->tenant_id) { | if ($alias->sharedFolder->tenant_id != $domain->tenant_id) { | ||||
\Log::error("Reseller for folder '{$alias->sharedFolder->email}' and domain '{$domainName}' differ."); | \Log::error("Tenant for folder '{$alias->sharedFolder->email}' and domain '{$domainName}' differ."); | ||||
return false; | return false; | ||||
} | } | ||||
} | } | ||||
return true; | return true; | ||||
} | } | ||||
/** | /** | ||||
▲ Show 20 Lines • Show All 41 Lines • Show Last 20 Lines |