Source of file EcommerceRewardsOrderDecorator.php
Size: 1,240 Bytes - Last Modified: 2021-12-23T10:41:13+00:00
/var/www/docs.ssmods.com/process/src/code/model/EcommerceRewardsOrderDecorator.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | <?php class EcommerceRewardsOrderDecorator extends DataObjectDecorator { public function extraStatics() { return array( 'db' => array( 'PointsTotal' => 'Currency', 'RewardsTotal' => 'Currency' ), 'has_many' => array( 'RewardItems' => 'RewardItem' ), ); } /** * * @return Currency */ public function CalculatePointsTotal() { $total = 0; $items = $this->owner->Items(); if ($items) { foreach ($items as $item) { $total += $item->Product()->PointsValue() * $item->Quantity; } } return $total; } /** * * @return Currency */ public function CalculateRewardsTotal() { $total = 0; if ($items = $this->owner->RewardItems()) { foreach ($items as $item) { $total += $item->TotalPoints(); } } return $total; } public function updateCMSFields(&$fields) { $fields->removeByName("RewardItems"); $fields->removeByName("PointsTotal"); $fields->removeByName("RewardsTotal"); } } |