Commit a6f14b0f authored by Marcelo Rivera's avatar Marcelo Rivera

(feat): add date validation

1 merge request!235WIP: Boost Campaigns (&24)
Pipeline #71321282 passed with stages
in 7 minutes and 20 seconds
......@@ -51,11 +51,21 @@ class NormalizeDatesDelegate
public function onUpdate(Campaign $campaign, Campaign $campaignRef)
{
// TODO: Ensure date updates from ref are valid against original campaign budget, etc.
// TODO: Disallow changing start date after campaign started
$campaign
->setStart($campaignRef->getStart())
->setEnd($campaignRef->getEnd());
// Only allow changing start date if the campaign hasn't yet started
if ($campaign->getDeliveryStatus() === Campaign::CREATED_STATUS) {
$campaign->setStart($campaignRef->getStart());
}
// Only allow extending the campaign if it hasn't hasn't finished
if (
!in_array($campaign->getDeliveryStatus(), [
Campaign::COMPLETED_STATUS, Campaign::REJECTED_STATUS, Campaign::REVOKED_STATUS,
])
&& $campaign->getEnd() <= $campaignRef->getEnd()
) {
$campaign->setEnd($campaignRef->getEnd());
}
return $this->onCreate($campaign);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment