Enabled NetmailPolicy, users can see netmail if they are in the seen-by, a ZC or admin
This commit is contained in:
28
app/Policies/EchomailPolicy.php
Normal file
28
app/Policies/EchomailPolicy.php
Normal 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()
|
||||
);
|
||||
}
|
||||
}
|
@@ -14,10 +14,10 @@ class NetmailPolicy
|
||||
* This determines whether a logged-in user can view a netmail
|
||||
*
|
||||
* @param User $user
|
||||
* @param Netmail $netmail
|
||||
* @param Netmail $o
|
||||
* @return bool
|
||||
*/
|
||||
public function view(User $user, Netmail $netmail): bool
|
||||
public function view(User $user, Netmail $o): bool
|
||||
{
|
||||
$zones = $user->zc()->pluck('zone')
|
||||
//->merge($user->rc()->pluck('zone'))
|
||||
@@ -28,8 +28,8 @@ class NetmailPolicy
|
||||
// Site Admins can always view
|
||||
return (
|
||||
$user->isAdmin()
|
||||
|| ($zones->contains($netmail->fftn->zone))
|
||||
|| ($zones->contains($netmail->tftn->zone))
|
||||
|| ($zones->contains($o->fftn->zone))
|
||||
|| ($zones->contains($o->tftn->zone))
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user