/** * Updates a particular model. * @param integer $id the ID of the model to be updated */ public function actionUbah($id) { $model = $this->loadModel($id); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if ($model->status != StockOpname::STATUS_DRAFT) { $this->redirect(array('view', 'id' => $model->id)); } $manualMode = isset($_GET['manual']) && $_GET['manual'] == true; $soDetail = new StockOpnameDetail('search'); $soDetail->unsetAttributes(); if (isset($_GET['StockOpnameDetail'])) { $soDetail->attributes = $_GET['StockOpnameDetail']; } $soDetail->setAttribute('stock_opname_id', "{$id}"); $barang = new Barang('search'); $barang->unsetAttributes(); if (isset($_GET['cariBarang'])) { $barang->setAttribute('nama', $_GET['namaBarang']); } if ($manualMode) { $barangBelumSO = new Barang('search'); $barangBelumSO->unsetAttributes(); $barangBelumSO->aktif()->belumSO($model->id, $model->rak_id); if (isset($_GET['Barang'])) { $barangBelumSO->attributes = $_GET['Barang']; } } $scanBarcode = null; /* Ada scan dari aplikasi barcode scanner (android) */ if (isset($_GET['barcodescan'])) { $scanBarcode = $_GET['barcodescan']; } $this->render('ubah', array('model' => $model, 'soDetail' => $soDetail, 'barang' => $barang, 'manualMode' => $manualMode, 'barangBelumSO' => $manualMode ? $barangBelumSO : NULL, 'scanBarcode' => $scanBarcode)); }
/** * Updates a particular model. * @param integer $id the ID of the model to be updated */ public function actionUbah($id) { $this->penjualanId = $id; $model = $this->loadModel($id); // Penjualan tidak bisa diubah kecuali statusnya draft if ($model->status != Penjualan::STATUS_DRAFT) { $this->redirect(array('index')); } $this->namaProfil = $model->profil->nama; $this->profil = Profil::model()->findByPk($model->profil_id); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); $penjualanDetail = new PenjualanDetail('search'); $penjualanDetail->unsetAttributes(); $penjualanDetail->setAttribute('penjualan_id', '=' . $id); $barang = new Barang('search'); $barang->unsetAttributes(); if (isset($_GET['cariBarang'])) { $barang->setAttribute('nama', $_GET['namaBarang']); $criteria = new CDbCriteria(); $criteria->order = 'nama ASC'; $barang->setDbCriteria($criteria); } $configCariBarang = Config::model()->find("nama='pos.caribarangmode'"); $this->render('ubah', array('model' => $model, 'penjualanDetail' => $penjualanDetail, 'barang' => $barang, 'tipeCari' => $configCariBarang->nilai)); }
/** * Updates a particular model. * @param integer $id the ID of the model to be updated */ public function actionUbah($id) { $model = $this->loadModel($id); if ($model->status != ReturPenjualan::STATUS_DRAFT) { $this->redirect(array('view', 'id' => $model->id)); } // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); $returPenjualanDetail = new ReturPenjualanDetail('search'); $returPenjualanDetail->unsetAttributes(); $returPenjualanDetail->setAttribute('retur_penjualan_id', '=' . $id); $barang = new Barang('search'); $barang->unsetAttributes(); if (isset($_GET['cariBarang'])) { $barang->setAttribute('nama', $_GET['namaBarang']); } /* * Grid untuk tampilan pemilihan nomor penjualan/struk */ $penjualanDetail = new PenjualanDetail('search'); $penjualanDetail->unsetAttributes(); if (isset($_GET['PenjualanDetail'])) { $penjualanDetail->attributes = $_GET['PenjualanDetail']; } if (isset($_GET['pilih'])) { $barcode = $_GET['barcode'] == '' ? 'null' : $_GET['barcode']; $qty = $_GET['qty']; $penjualanDetail->setAttribute('barcode', '=' . $barcode); $penjualanDetail->setAttribute('qty', '>=' . $qty); } $penjualanDetail->setAttribute('statusPenjualan', '<>0'); // $penjualanDetail->setAttribute('customerId', '='.$model->customer_id); $this->render('ubah', array('model' => $model, 'returPenjualanDetail' => $returPenjualanDetail, 'barang' => $barang, 'penjualanDetail' => $penjualanDetail)); }
/** * Updates a particular model. * @param integer $id the ID of the model to be updated */ public function actionUbah($id) { $model = $this->loadModel($id); // Jika pembelian sudah disimpan (status bukan draft) maka tidak bisa diubah lagi if ($model->status != Pembelian::STATUS_DRAFT) { $this->redirect(array('view', 'id' => $id)); } // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Pembelian'])) { $model->attributes = $_POST['Pembelian']; if ($model->save()) { $this->redirect(array('view', 'id' => $id)); } } /* * Untuk menampilkan dropdown barang sort by barcode; */ $barcode = SupplierBarang::model()->ambilBarangBarcodePerSupplier($model->profil_id); $barangBarcode = array(); foreach ($barcode as $barang) { $barangBarcode[$barang['id']] = "{$barang['barcode']} ({$barang['nama']})"; } /* * Untuk menampilkan dropdown barang sort by nama; */ $nama = SupplierBarang::model()->ambilBarangNamaPerSupplier($model->profil_id); $barangNama = array(); foreach ($nama as $barang) { $barangNama[$barang['id']] = "{$barang['nama']} ({$barang['barcode']})"; } $barangList = new Barang('search'); $barangList->unsetAttributes(); $curSupplierCr = NULL; if (isset($_GET['cariBarang'])) { $barangList->setAttribute('nama', $_GET['namaBarang']); $curSupplierCr = new CDbCriteria(); $curSupplierCr->join = "JOIN supplier_barang ON barang_id = t.id AND supplier_id = {$model->profil_id}"; $curSupplierCr->order = 'nama ASC'; } $pembelianDetail = new PembelianDetail('search'); $pembelianDetail->unsetAttributes(); $pembelianDetail->setAttribute('pembelian_id', '=' . $id); if (isset($_GET['PembelianDetail'])) { $pembelianDetail->attributes = $_GET['PembelianDetail']; } /* Model untuk membuat barang baru */ $barang = new Barang(); $pilihBarang = TRUE; if (isset($_GET['pilihb']) && $_GET['pilihb'] == FALSE) { $pilihBarang = FALSE; } /* Mengambil nilai pembulatan ke atas untuk harga jual */ $config = Config::model()->find('nama=:nama', [':nama' => 'pembelian.pembulatankeatashj']); $configCariBarang = Config::model()->find("nama='pembelian.caribarangmode'"); $this->render('ubah', array('model' => $model, 'barangBarcode' => $barangBarcode, 'barangNama' => $barangNama, 'pembelianDetail' => $pembelianDetail, 'barangList' => $barangList, 'curSupplierCr' => $curSupplierCr, 'barang' => $barang, 'pilihBarang' => $pilihBarang, 'pembulatan' => $config->nilai, 'tipeCari' => $configCariBarang->nilai)); }
/** * Updates a particular model. * @param integer $id the ID of the model to be updated * @param integer $uid User ID of the model to be updated */ public function actionUbah($id, $uid) { $model = $this->loadModel($id); // Jika status sudah tidak draft, tidak bisa ubah if ($model->status != Penjualan::STATUS_DRAFT) { $this->redirect(array('view', 'id' => $id)); } /* Jika user ID yang di link tidak sama dengan yang di database, maka * redirect ke index (berarti link dimanipulasi) */ if ($uid != $model->updated_by) { $this->redirect(['index']); } $model->scenario = 'tampil'; // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Penjualan'])) { $model->attributes = $_POST['Penjualan']; if ($model->save()) { $this->redirect(array('view', 'id' => $id)); } } $penjualanDetail = new PenjualanDetail('search'); $penjualanDetail->unsetAttributes(); $penjualanDetail->setAttribute('penjualan_id', '=' . $id); $barang = new Barang('search'); $barang->unsetAttributes(); if (isset($_GET['cariBarang'])) { $barang->setAttribute('nama', $_GET['namaBarang']); } $tipePrinterInvoiceRrp = array(Device::TIPE_LPR, Device::TIPE_PDF_PRINTER, Device::TIPE_TEXT_PRINTER); $printerInvoiceRrp = Device::model()->listDevices($tipePrinterInvoiceRrp); $this->render('ubah', array('model' => $model, 'penjualanDetail' => $penjualanDetail, 'barang' => $barang, 'printerInvoiceRrp' => $printerInvoiceRrp)); }