Пример #1
0
 public function upgradesAction()
 {
     $billingTableRecords = $this->getDi()->billingPlanTable->findBy();
     $productOptions = $this->getDi()->productTable->getOptions();
     $planOptions = array();
     foreach ($billingTableRecords as $bp) {
         if (!isset($productOptions[$bp->product_id])) {
             continue;
         }
         /* @var $bp BillingPlan */
         if (!($terms = $bp->terms)) {
             $tt = new Am_TermsText($bp);
             $terms = $tt->getString();
         }
         $planOptions[$bp->pk()] = $productOptions[$bp->product_id] . '/' . $bp->title . ' (' . $terms . ')';
     }
     $ds = new Am_Query($this->getDi()->productUpgradeTable);
     $grid = new Am_Grid_Editable('_upgrades', ___("Product Upgrades"), $ds, $this->_request, $this->view);
     $grid->setPermissionId('grid_product');
     $grid->_planOptions = $planOptions;
     $grid->addField(new Am_Grid_Field_Enum('from_billing_plan_id', ___('Upgrade From')))->setTranslations($planOptions);
     $grid->addField(new Am_Grid_Field_Enum('to_billing_plan_id', ___('Upgrade To')))->setTranslations($planOptions);
     $grid->addField('surcharge', ___('Surcharge'))->setGetFunction(create_function('$r', 'return Am_Currency::render($r->surcharge);'));
     $grid->setForm(array($this, 'createUpgradesForm'));
     $grid->runWithLayout('admin/layout.phtml');
 }
Пример #2
0
 /** @return string caclulated billing terms */
 public function getTermsText()
 {
     $tt = new Am_TermsText($this);
     return $tt->getString();
 }