Fixed validations

Change-Id: I859b1a5630360dcedf6cee5bebdd4aa4ab336080
Signed-off-by: smarcet <smarcet@gmail.com>
This commit is contained in:
smarcet 2021-04-19 21:45:20 -03:00
parent 733d12ab78
commit 13ec6ac8b6
2 changed files with 7 additions and 4 deletions

View File

@ -216,6 +216,9 @@ class SummitDocument extends SilverstripeBaseModel
public function setShowAlways(bool $show_always): void
{
$this->show_always = $show_always;
if($this->show_always){
$this->clearEventTypes();
}
}

View File

@ -82,7 +82,7 @@ final class SummitDocumentService
$document = SummitDocumentFactory::build($summit, $payload);
if(isset($payload['event_types'])){
if(!$document->isShowAlways() && isset($payload['event_types'])){
$document->clearEventTypes();
foreach($payload['event_types'] as $event_type_id){
$event_type = $summit->getEventType(intval($event_type_id));
@ -93,7 +93,7 @@ final class SummitDocumentService
}
}
if(!$document->isShowAlways() && $document->getEventTypes()->count() == 0)
if(!$document->isShowAlways() && $document->getEventTypes()->count() == 0)
throw new ValidationException("You need to to set at least one Activity Type.");
$file = $payload['file'];
@ -142,7 +142,7 @@ final class SummitDocumentService
$document = SummitDocumentFactory::populate($summit, $document, $payload);
if(isset($payload['event_types'])){
if(!$document->isShowAlways() && isset($payload['event_types'])){
$document->clearEventTypes();
foreach($payload['event_types'] as $event_type_id){
$event_type = $summit->getEventType(intval($event_type_id));
@ -153,7 +153,7 @@ final class SummitDocumentService
}
}
if(!$document->isShowAlways() && $document->getEventTypes()->count() == 0)
if(!$document->isShowAlways() && $document->getEventTypes()->count() == 0)
throw new ValidationException("You need to to set at least one Activity Type.");
if(isset($payload['file'])){