public function testGetProductPortletTotalPrice() { $super = User::getByUsername('super'); Yii::app()->user->userModel = $super; $product = ProductTestHelper::createProductByNameForOwner('My Product 1', $super); $id = $product->id; $product->forget(); unset($product); $product = Product::getById($id); $totalPrice = ProductElementUtil::getProductPortletTotalPrice($product, 0); $this->assertEquals($totalPrice, "\$1,001.08"); // Not Coding Standard }
/** * Render totals in a product portlet view */ protected function renderTotalBarDetails() { $persistantProductConfigItemValue = ProductsPortletPersistentConfigUtil::getForCurrentUserByPortletIdAndKey($this->params['portletId'], 'filteredByStage'); $relationModelClassName = get_class($this->params["relationModel"]); $relationModelId = $this->params["relationModel"]->id; $relationModel = $relationModelClassName::getById($relationModelId); $models = $relationModel->products; $oneTimeTotal = 0; $monthlyTotal = 0; $annualTotal = 0; foreach ($models as $model) { if (ControllerSecurityUtil::doesCurrentUserHavePermissionOnSecurableItem($model, Permission::READ)) { if ($persistantProductConfigItemValue === null) { $persistantProductConfigItemValue = ProductsConfigurationForm::FILTERED_BY_ALL_STAGES; } if ($persistantProductConfigItemValue != ProductsConfigurationForm::FILTERED_BY_ALL_STAGES) { if ($model->stage->value != $persistantProductConfigItemValue) { continue; } } if ($model->priceFrequency == ProductTemplate::PRICE_FREQUENCY_ONE_TIME) { $oneTimeTotal += ProductElementUtil::getAdjustedTotalByCurrency($model); } if ($model->priceFrequency == ProductTemplate::PRICE_FREQUENCY_MONTHLY) { $monthlyTotal += ProductElementUtil::getAdjustedTotalByCurrency($model); } if ($model->priceFrequency == ProductTemplate::PRICE_FREQUENCY_ANNUALLY) { $annualTotal += ProductElementUtil::getAdjustedTotalByCurrency($model); } } } $content = Zurmo::t("Core", "Total: "); $contentArray = array(); if ($oneTimeTotal > 0) { $contentArray[] = Yii::app()->numberFormatter->formatCurrency($oneTimeTotal, Yii::app()->currencyHelper->getCodeForCurrentUserForDisplay()) . Zurmo::t("Core", " One Time"); } if ($monthlyTotal > 0) { $contentArray[] = Yii::app()->numberFormatter->formatCurrency($monthlyTotal, Yii::app()->currencyHelper->getCodeForCurrentUserForDisplay()) . Zurmo::t("Core", " Monthly"); } if ($annualTotal > 0) { $contentArray[] = Yii::app()->numberFormatter->formatCurrency($annualTotal, Yii::app()->currencyHelper->getCodeForCurrentUserForDisplay()) . Zurmo::t("Core", " Annually"); } if (empty($contentArray)) { $content = ''; } else { $content .= implode(', ', $contentArray); } echo $content; }