¨4.0.1¨
This commit is contained in:
47
Modules/Product/Entities/Concerns/IsNew.php
Normal file
47
Modules/Product/Entities/Concerns/IsNew.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Product\Entities\Concerns;
|
||||
|
||||
trait IsNew
|
||||
{
|
||||
public function isNew(): bool
|
||||
{
|
||||
if ($this->hasNewFromDate() && $this->hasNewToDate()) {
|
||||
return $this->newFromDateIsValid() && $this->newToDateIsValid();
|
||||
}
|
||||
|
||||
if ($this->hasNewFromDate()) {
|
||||
return $this->newFromDateIsValid();
|
||||
}
|
||||
|
||||
if ($this->hasNewToDate()) {
|
||||
return $this->newToDateIsValid();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
private function hasNewFromDate(): bool
|
||||
{
|
||||
return !is_null($this->new_from);
|
||||
}
|
||||
|
||||
|
||||
private function hasNewToDate(): bool
|
||||
{
|
||||
return !is_null($this->new_to);
|
||||
}
|
||||
|
||||
|
||||
private function newFromDateIsValid(): bool
|
||||
{
|
||||
return today() >= $this->new_from;
|
||||
}
|
||||
|
||||
|
||||
private function newToDateIsValid(): bool
|
||||
{
|
||||
return today() <= $this->new_to;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user