Set send email back to original value when eulas cleared

This commit is contained in:
Marcus Moore 2023-08-02 17:03:56 -07:00
parent 48979ce177
commit 896f038054
No known key found for this signature in database
3 changed files with 31 additions and 4 deletions

View file

@ -10,14 +10,17 @@ class CategoryEditForm extends Component
public $eulaText;
public $originalSendCheckInEmailValue;
public $requireAcceptance;
public $sendCheckInEmail;
public $useDefaultEula;
public function mount()
{
$this->originalSendCheckInEmailValue = $this->sendCheckInEmail;
if ($this->eulaText || $this->useDefaultEula) {
$this->sendCheckInEmail = true;
}
@ -30,9 +33,11 @@ class CategoryEditForm extends Component
public function updated($property, $value)
{
if (in_array($property, ['eulaText', 'useDefaultEula'])) {
$this->sendCheckInEmail = $this->eulaText || $this->useDefaultEula;
if (! in_array($property, ['eulaText', 'useDefaultEula'])) {
return;
}
$this->sendCheckInEmail = $this->eulaText || $this->useDefaultEula ? true : $this->originalSendCheckInEmailValue;
}
public function getShouldDisplayEmailMessageProperty(): bool

View file

@ -24,10 +24,10 @@
</div>
<livewire:category-edit-form
:checkin-email="old('checkin_email', $item->checkin_email)"
:default-eula-text="$snipeSettings->default_eula_text"
:eula-text="old('eula_text', $item->eula_text)"
:require-acceptance="old('require_acceptance', $item->require_acceptance)"
:send-check-in-email="old('checkin_email', $item->checkin_email)"
:use-default-eula="old('use_default_eula', $item->use_default_eula)"
/>

View file

@ -70,5 +70,27 @@ class CategoryEditFormTest extends TestCase
->assertSet('eulaTextDisabled', true)
->assertSet('sendCheckInEmailDisabled', true);
}
public function testSendEmailCheckboxEnabledAndSetToOriginalValueWhenNoCategoryEulaAndNotUsingGlobalEula()
{
Livewire::test(CategoryEditForm::class, [
'eulaText' => 'Some Content',
'sendCheckInEmail' => false,
'useDefaultEula' => true,
])
->set('useDefaultEula', false)
->set('eulaText', '')
->assertSet('sendCheckInEmail', false)
->assertSet('sendCheckInEmailDisabled', false);
Livewire::test(CategoryEditForm::class, [
'eulaText' => 'Some Content',
'sendCheckInEmail' => true,
'useDefaultEula' => true,
])
->set('useDefaultEula', false)
->set('eulaText', '')
->assertSet('sendCheckInEmail', true)
->assertSet('sendCheckInEmailDisabled', false);
}
}