Enabled NetmailPolicy, users can see netmail if they are in the seen-by, a ZC or admin

This commit is contained in:
2023-12-19 11:45:11 +11:00
parent 90206f2bb5
commit c9d04b64ac
4 changed files with 44 additions and 5 deletions

View File

@@ -0,0 +1,28 @@
<?php
namespace App\Policies;
use Illuminate\Auth\Access\HandlesAuthorization;
use App\Models\{Echomail,User};
class EchomailPolicy
{
use HandlesAuthorization;
/**
* This determines whether a logged-in user can view an echomail
*
* @param User $user
* @param Echomail $o
* @return bool
*/
public function view(User $user, Echomail $o): bool
{
return (
$user->isAdmin()
|| $user->isZC()
|| $o->seenby->pluck('id')->intersect($user->addresses()->pluck('id'))->count()
);
}
}