class AnnotationCandidatePolicy extends CachedPolicy

Traits

HandlesAuthorization

Constants

TIME

Time to store the cached values.

(is irrelevant for the array store)

Properties

protected Cache $cache

The cache instance to use for caching policies.

from  CachedPolicy

Methods

__construct()

Create a new CachedPolicy.

mixed
remember(string $key, callable $callback)

Wrapper for the Cache::remember function of the array cache.

bool|null
before(User $user, string $ability)

Intercept all checks.

bool
access(User $user, AnnotationCandidate $candidate)

Determine if the given annotation candidate can be accessed by the user.

bool
update(User $user, AnnotationCandidate $candidate)

Determine if the given user can update the annotation candidate.

bool
attachLabel(User $user, AnnotationCandidate $candidate, Label $label)

Determine if the user can attach the given label to the given candidate.

Details

in CachedPolicy at line 31
__construct()

Create a new CachedPolicy.

in CachedPolicy at line 43
mixed remember(string $key, callable $callback)

Wrapper for the Cache::remember function of the array cache.

Parameters

string $key

Key of the cached item

callable $callback

Callback returning the cached item

Return Value

mixed

at line 25
bool|null before(User $user, string $ability)

Intercept all checks.

Parameters

User $user
string $ability

Return Value

bool|null

at line 41
bool access(User $user, AnnotationCandidate $candidate)

Determine if the given annotation candidate can be accessed by the user.

Parameters

User $user
AnnotationCandidate $candidate

Return Value

bool

at line 71
bool update(User $user, AnnotationCandidate $candidate)

Determine if the given user can update the annotation candidate.

Parameters

User $user
AnnotationCandidate $candidate

Return Value

bool

at line 88
bool attachLabel(User $user, AnnotationCandidate $candidate, Label $label)

Determine if the user can attach the given label to the given candidate.

The candidate (image) must belong to a project where the user is an editor or admin. The label must belong to a label tree that is used by one of the projects the user and the candidate belong to.

Parameters

User $user
AnnotationCandidate $candidate
Label $label

Return Value

bool