/** * Updates a particular model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id the ID of the model to be updated */ public function actionUpdate($id) { $model = $this->loadModel($id); $price_tiers = PriceTier::model()->getProfitPriceTierUpdate($id); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['ProfitMargin'])) { $model->attributes = $_POST['ProfitMargin']; $model->modified_by = Yii::app()->session['employeeid']; if ($model->validate()) { $transaction = Yii::app()->db->beginTransaction(); try { if ($model->save()) { ProfitPriceTier::model()->saveProfitPriceTier($model->id, $price_tiers); $transaction->commit(); Yii::app()->user->setFlash(TbHtml::ALERT_COLOR_SUCCESS, 'Profit Margin : <strong>' . $model->name . '</strong> have been saved successfully!'); $this->redirect(array('admin')); } } catch (Exception $e) { $transaction->rollback(); Yii::app()->user->setFlash(TbHtml::ALERT_COLOR_WARNING, 'Oop something wrong : <strong>' . $e); } } } $this->render('update', array('model' => $model, 'price_tiers' => $price_tiers)); }
$this->widget('zii.widgets.jui.CJuiAutoComplete', array('model' => $model, 'attribute' => 'client_id', 'source' => $this->createUrl('request/suggestClient'), 'htmlOptions' => array('size' => '30'), 'options' => array('showAnim' => 'fold', 'minLength' => '1', 'delay' => 10, 'autoFocus' => false, 'select' => 'js:function(event, ui) { event.preventDefault(); $("#SaleItem_client_id").val(ui.item.id); $("#client_form").ajaxSubmit({target: "#register_container", beforeSubmit: salesBeforeSubmit}); }'))); ?> <?php echo TbHtml::linkButton(Yii::t('app', 'New'), array('color' => TbHtml::BUTTON_COLOR_INFO, 'size' => TbHtml::BUTTON_SIZE_SMALL, 'icon' => 'glyphicon-plus white', 'url' => $this->createUrl('Client/Create/', array('sale_mode' => 'Y')))); ?> </p> <?php if (PriceTier::model()->checkExists() != 0) { ?> <p> <?php echo $form->dropDownListControlGroup($model, 'tier_id', PriceTier::model()->getPriceTier(), array('id' => 'price_tier_id', 'options' => array(Yii::app()->shoppingCart->getPriceTier() => array('selected' => true)), 'class' => 'col-xs-10 col-sm-8', 'empty' => 'None', 'labelOptions' => array('label' => Yii::t('app', 'Item Tier')))); ?> </p> <?php } ?> <?php $this->endWidget(); ?>
public function actionf5pricetier() { $model = new Item(); $price_tiers = PriceTier::model()->getListProfitPriceTier($_POST['profit_margin_id'], $_POST['cost_price']); $data['model'] = $model; $data['price_tiers'] = $price_tiers; if (Yii::app()->request->isAjaxRequest) { //Yii::app()->clientScript->scriptMap['*.js'] = false; $cs = Yii::app()->clientScript; $cs->scriptMap = array('jquery.js' => false, 'bootstrap.js' => false, 'jquery.min.js' => false, 'bootstrap.notify.js' => false, 'bootstrap.bootbox.min.js' => false, 'bootstrap.min.js' => false, 'jquery-ui.min.js' => false); Yii::app()->clientScript->scriptMap['*.js'] = false; Yii::app()->clientScript->scriptMap['jquery-ui.css'] = false; Yii::app()->clientScript->scriptMap['box.css'] = false; $this->renderPartial('_price_tier_ajax', $data, false, true); } }
public function testGlobalTiers() { $t1 = new PriceTier(array('MinQty' => 20, 'Percentage' => 0.5, 'SiteConfigID' => SiteConfig::current_site_config()->ID)); $t1->write(); $tiers = $this->p1->getPrices(); $this->assertEquals(2, $tiers->count()); $price1 = 27.5; $qty1 = 19; $price2 = round(27.5 * 0.5, 2); $qty2 = 20; ShoppingCart::singleton()->add($this->p1, $qty1); ShoppingCart::curr()->calculate(); $this->assertEquals($price1 * $qty1, ShoppingCart::curr()->SubTotal()); ShoppingCart::singleton()->setQuantity($this->p1, $qty2); ShoppingCart::curr()->calculate(); $this->assertEquals($price2 * $qty2, ShoppingCart::curr()->SubTotal()); }
public function checkExists() { return PriceTier::model()->count('status=:active_status', array(':active_status' => Yii::app()->params['active_status'])); }
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer $id the ID of the model to be loaded * @return PriceTier the loaded model * @throws CHttpException */ public function loadModel($id) { $model = PriceTier::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
<p class="help-block"><?php echo Yii::t('app', 'Fields with'); ?> <span class="required">*</span> <?php echo Yii::t('app', 'are required'); ?> </p> <?php //echo $form->errorSummary($model); ?> <?php echo $form->dropDownListControlGroup($model, 'price_tier_id', PriceTier::model()->getPriceTier(), array('class' => 'span3', 'empty' => Yii::t('app', 'Select Default Price Tier'))); ?> <?php echo $form->dropDownListControlGroup($model, 'employee_id', Employee::model()->getEmployee(), array('class' => 'span3', 'empty' => Yii::t('app', 'Select Employee Reference'), 'ajax' => array('type' => 'POST', 'dataType' => 'json', 'url' => Yii::app()->createUrl('client/copyClientInfo'), 'success' => "function(data) {\n if ( data.status === 'success' ) {\n \$('#Client_mobile_no').val(data.mobile_no);\n \$('#Client_first_name').val(data.first_name);\n \$('#Client_last_name').val(data.last_name);\n \$('#Client_address1').val(data.address1);\n \$('#Client_address2').val(data.address2);\n \$('#Client_notes').val(data.notes);\n }\n }"))); ?> <?php echo $form->textFieldControlGroup($model, 'mobile_no', array('class' => 'span3', 'maxlength' => 15)); ?> <?php echo $form->textFieldControlGroup($model, 'first_name', array('class' => 'span3', 'maxlength' => 60)); ?> <?php