Ejemplo n.º 1
0
?>
		AP for:
		<?php 
echo $model->system_ref;
?>
	</h1>
</div>

<?php 
$this->widget('bootstrap.widgets.BootDetailView', array('data' => $model, 'attributes' => array('input_date', 'periode_date', 'system_ref', array('label' => 'Purchasing Type', 'value' => $model->po_type->name), array('label' => 'Entity', 'value' => $model->organization->name), array('label' => 'Supplier', 'value' => $model->supplier->company_name), 'remark', array('label' => 'Payment Status', 'value' => $model->paymentCheck()), array('label' => 'Journal Status', 'value' => $model->journal_state->name))));
?>

<br />

<?php 
$this->widget('bootstrap.widgets.BootGridView', array('id' => 'u-order-detail-grid', 'dataProvider' => vPorderDetail::model()->search($model->id), 'itemsCssClass' => 'table table-striped table-bordered', 'template' => '{items}{pager}', 'columns' => array(array('header' => 'Item.', 'value' => '$data->item_id'), 'description', 'qty', 'uom', array('value' => 'Yii::app()->indoFormat->number($data->amount)', 'name' => 'amount', 'htmlOptions' => array('style' => 'text-align: right; padding-right: 5px;')), array('header' => 'Total', 'value' => 'Yii::app()->indoFormat->number($data->amount)', 'name' => 'amount', 'htmlOptions' => array('style' => 'text-align: right; padding-right: 5px;')))));
?>
<br />
<b> Total: <?php 
echo Yii::app()->indoFormat->number($model->sum_po);
?>
</b>

<hr />

<h2>Payment History</h2>

<?php 
$this->widget('bootstrap.widgets.BootGridView', array('id' => 't-account-balance-grid', 'dataProvider' => vPorderPayment::model()->search($model->id), 'template' => '{items}{pager}', 'itemsCssClass' => 'table table-striped table-bordered', 'columns' => array('payment_date', array('header' => 'No Ref', 'value' => '$data->payment_ref'), array('header' => 'Payment Source', 'value' => '$data->payment_source->account_concat()'), array('header' => 'Payment Type', 'value' => '$data->payment_type_id'), array('header' => 'Effective Date', 'value' => '$data->effective_date'), array('name' => 'amount', 'value' => 'Yii::app()->indoFormat->number($data->amount)', 'htmlOptions' => array('style' => 'text-align: right; padding-right: 5px;')))));
?>
 public function actionUpdate($id)
 {
     $model = $this->loadModel($id);
     if ($model->approved_date != null) {
         Yii::app()->user->setFlash("error", "<strong>Error!</strong> PO already approved. Can't be edited...");
         $this->redirect(array('/m2/vPorderGeneral'));
     }
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['vPorderGeneral'])) {
         $model->attributes = $_POST['vPorderGeneral'];
         if ($model->validate()) {
             $modelHeader = $this->loadModel($id);
             $modelHeader->input_date = $model->input_date;
             $modelHeader->system_ref = $model->system_ref;
             $modelHeader->periode_date = $model->periode_date;
             $modelHeader->budgetcomp_id = $model->budgetcomp_id;
             $modelHeader->remark = $model->remark;
             $modelHeader->issuer_id = $model->issuer_id;
             $modelHeader->organization_id = sUser::model()->getGroup();
             //default user Group
             $modelHeader->payment_state_id = 1;
             $modelHeader->save();
             //Detail...
             $model->budget_id = $_POST['budget_id'];
             $model->department_id = $_POST['department_id'];
             $model->description = $_POST['description'];
             //$model->user=$_POST['user'];
             //$model->qty=$_POST['qty'];
             $model->amount = $_POST['amount'];
             $t = vPorderDetail::model()->deleteAll(array('condition' => 'parent_id = :id', 'params' => array(':id' => (int) $id)));
             for ($i = 0; $i < sizeof($model->budget_id); ++$i) {
                 $modelDetail = new vPorderDetail();
                 $modelDetail->parent_id = $modelHeader->id;
                 $modelDetail->budget_id = $model->budget_id[$i];
                 $modelDetail->department_id = $model->department_id[$i];
                 $modelDetail->description = $model->description[$i];
                 //$modelDetail->user=$model->user[$i];
                 //($model->qty[$i] != null) ? $modelDetail->qty=$model->qty[$i] : $modelDetail->qty=1;
                 $modelDetail->qty = 1;
                 $model->amount[$i] != null ? $modelDetail->amount = $model->amount[$i] : ($modelDetail->amount = 0);
                 $modelDetail->save();
             }
             $this->redirect(array('/m2/vPorderGeneral'));
         }
     }
     $modelDetail = vPorderDetail::model()->findAll(array('condition' => 'parent_id = :id', 'params' => array(':id' => $model->id), 'order' => 'id'));
     foreach ($modelDetail as $mm) {
         $model->budget_id[] = $mm->budget_id;
         $model->description[] = $mm->description;
         $model->qty[] = $mm->qty;
         $model->amount[] = $mm->amount;
     }
     $this->render('update', array('model' => $model));
 }
 public function actionUpdate($id)
 {
     $model = $this->loadModel($id);
     if ($model->approved_date != null) {
         Yii::app()->user->setFlash("error", "<strong>Error!</strong> PO already approved. Can't be edited...");
         //$this->redirect(array('/m2/vPorderInventory',));
         $this->redirect(array('view', "id" => $model->id));
     }
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['vPorder'])) {
         $model->attributes = $_POST['vPorder'];
         if ($model->validate()) {
             if (Yii::app()->request->isAjaxRequest) {
                 $sqlinsert = "INSERT INTO v_porder_detail_temp (parent_id, item_id, description, qty, amount)\n\t\t\t\t\tVALUES (" . $model->id . ", " . $model->item_id . ", '" . $model->description . "', " . $model->qty . ", " . $model->amount . ")";
                 $command = Yii::app()->db->createCommand($sqlinsert);
                 $command->execute();
             } else {
                 $model->save();
                 //Delete Old Detail Data
                 $sqlDelete = "DELETE FROM v_porder_detail WHERE parent_id = ':id'";
                 $command = Yii::app()->db->createCommand($sqlDelete);
                 $command->bindParam(":id", $id, PDO::PARAM_STR);
                 $command->execute();
                 //Insert New Data
                 $sql = "INSERT INTO v_porder_detail (parent_id, item_id, description, qty, amount)\n\t\t\t\t\tSELECT :id, item_id, description, qty, amount FROM v_porder_detail_temp\n\t\t\t\t\tWHERE parent_id = ':id'";
                 $command = Yii::app()->db->createCommand($sql);
                 $command->bindParam(":id", $id, PDO::PARAM_STR);
                 $command->execute();
                 //Delete Temporary Data
                 $sqlD = "DELETE FROM v_porder_detail_temp WHERE parent_id = ':id'";
                 $command = Yii::app()->db->createCommand($sqlD);
                 $command->bindParam(":id", $id, PDO::PARAM_STR);
                 $command->execute();
                 $this->redirect(array('/m2/vPorderInventory'));
             }
         }
     }
     if (!Yii::app()->request->isAjaxRequest) {
         $criteria = new CdbCriteria();
         $criteria->compare('parent_id', $model->id);
         $models = vPorderDetail::model()->findAll($criteria);
         $sqlcount = "select count(*) FROM v_porder_detail_temp WHERE parent_id = '" . $model->id . "'";
         $command = Yii::app()->db->createCommand($sqlcount);
         $_count = $command->queryScalar();
         if ($_count == 0) {
             foreach ($models as $mod) {
                 $sql = "INSERT INTO v_porder_detail_temp (parent_id, item_id, description, qty, amount)\n\t\t\t\t\tVALUES (" . $mod->parent_id . ", " . $mod->item_id . ", '" . $mod->description . "', " . $mod->qty . ", " . $mod->amount . ")";
                 $command = Yii::app()->db->createCommand($sql);
                 $command->execute();
             }
         }
     }
     $sql = "SELECT * FROM v_porder_detail_temp WHERE parent_id = '" . $model->id . "'";
     $command = Yii::app()->db->createCommand($sql);
     $rawData = $command->queryAll();
     $dataProvider = new CArrayDataProvider($rawData, array('pagination' => false));
     if (Yii::app()->request->isAjaxRequest) {
         $this->renderPartial('_formDetail', array('model' => $model, 'dataProvider' => $dataProvider));
     } else {
         $this->render('update', array('model' => $model, 'dataProvider' => $dataProvider));
     }
 }
 protected function afterDelete()
 {
     parent::afterDelete();
     vPorderDetail::model()->deleteAll(array('condition' => 'parent_id= :id', 'params' => array(':id' => $this->id)));
 }