Bristol SU Support Package
src
Completion
CompletionConditions
EventFired
EventFired.php
Go to the documentation of this file.
1
<?php
2
3
namespace
BristolSU\Support\Completion\CompletionConditions\EventFired
;
4
5
use
BristolSU\Support\Events\Contracts\EventRepository
;
6
use
BristolSU\Support\ActivityInstance\ActivityInstance
;
7
use
BristolSU\Support\Completion\Contracts\CompletionCondition
;
8
use
BristolSU\Support\ModuleInstance\Contracts\ModuleInstance
;
9
use
FormSchema\Generator\Field
;
10
use
FormSchema\Schema\Form
;
11
15
class
EventFired
extends
CompletionCondition
16
{
17
23
private
$eventRepository
;
24
29
public
function
__construct
(
string
$moduleAlias
,
EventRepository
$eventRepository
)
30
{
31
parent::__construct($moduleAlias);
32
$this->eventRepository =
$eventRepository
;
33
}
34
41
public
function
options
(): Form
42
{
43
return \FormSchema\Generator\Form::make()->withField(
44
Field::select(
'event_type'
)->label(
'Event'
)->required(
true
)->hint(
'What event should be fired to mark this as complete?'
)
45
->help(
'Select an event which occurs within the module. When this event is fired, the module will be marked as complete. This cannot be undone.'
)
46
->values(collect($this->eventRepository->allForModule($this->moduleAlias()))->map(
function
($event) {
47
return
[
'id'
=> $event[
'event'
],
'name'
=> $event[
'name'
]];
48
})->
toArray
())->selectOptions([
'noneSelectedText'
=>
'Please Select an Event'
,
'hideNoneSelectedText'
=>
false
])
49
)->getSchema();
50
}
51
57
public
function
name
(): string
58
{
59
return
'Event Fired.'
;
60
}
61
67
public
function
description
(): string
68
{
69
return
'Event Fired. Warning: this will not be dynamically calculated so reverting a change to undo the condition will not mark the module as incomplete.'
;
70
}
71
77
public
function
alias
(): string
78
{
79
return
'portalsystem_event_fired'
;
80
}
81
92
public
function
isComplete
($settings,
ActivityInstance
$activityInstance,
ModuleInstance
$moduleInstance): bool
93
{
94
return
true
;
95
}
96
}
Field
BristolSU\Support\Completion\CompletionConditions\EventFired\EventFired\description
description()
Definition:
EventFired.php:67
Form
EventRepository
BristolSU\Support\Completion\CompletionConditions\EventFired\EventFired\alias
alias()
Definition:
EventFired.php:77
BristolSU\Support\Completion\CompletionConditions\EventFired\EventFired\isComplete
isComplete($settings, ActivityInstance $activityInstance, ModuleInstance $moduleInstance)
Definition:
EventFired.php:92
BristolSU\Support\Completion\CompletionConditions\EventFired\EventFired\$eventRepository
$eventRepository
Definition:
EventFired.php:23
BristolSU\Support\Completion\Contracts\CompletionCondition
Definition:
CompletionCondition.php:15
BristolSU\Support\Completion\CompletionConditions\EventFired\EventFired\options
options()
Definition:
EventFired.php:41
BristolSU\Support\Events\Contracts\EventRepository
Definition:
EventRepository.php:10
CompletionCondition
BristolSU\Support\Completion\CompletionConditions\EventFired
Definition:
EventFired.php:3
BristolSU\Support\Completion\Contracts\CompletionCondition\toArray
toArray()
Definition:
CompletionCondition.php:112
BristolSU\Support\ActivityInstance\ActivityInstance
Definition:
ActivityInstance.php:20
BristolSU\Support\Completion\Contracts\CompletionCondition\$moduleAlias
$moduleAlias
Definition:
CompletionCondition.php:22
BristolSU\Support\Completion\CompletionConditions\EventFired\EventFired
Definition:
EventFired.php:15
ActivityInstance
BristolSU\Support\ModuleInstance\Contracts\ModuleInstance
Definition:
ModuleInstance.php:12
ModuleInstance
BristolSU\Support\Completion\CompletionConditions\EventFired\EventFired\__construct
__construct(string $moduleAlias, EventRepository $eventRepository)
Definition:
EventFired.php:29
BristolSU\Support\Completion\CompletionConditions\EventFired\EventFired\name
name()
Definition:
EventFired.php:57
Generated by
1.8.13