Exemplo n.º 1
0
 public function actionOrders($id = '')
 {
     IsAuth::Customer();
     /* untuk konfirmasi pembayaran */
     if (isset($_GET['confirm'])) {
         /* panggil model Confirmpayment */
         $model = new ConfirmPayment();
         /* jika data Confirmpayment dikirim dengan method POST */
         if (isset($_POST['ConfirmPayment'])) {
             /* set value field */
             $order_code = $_POST['ConfirmPayment']['nomerPemesanan'];
             $model->attributes = $_POST['ConfirmPayment'];
             $model->order_code = $_POST['ConfirmPayment']['nomerPemesanan'];
             $model->text_detail .= $_POST['ConfirmPayment']['bankAsal'] . '#';
             $model->text_detail .= $_POST['ConfirmPayment']['pemilikRekAsal'] . '#';
             $model->text_detail .= $_POST['ConfirmPayment']['bankTujuan'] . '#';
             $model->text_detail .= $_POST['ConfirmPayment']['nominalTransfer'];
             /* jika data confirmpayment disimpan */
             if ($model->save()) {
                 /* find data order by attributes berdasarkan order code */
                 $modelOrder = Order::model()->findByAttributes(array('order_code' => $order_code));
                 /* set field payment_status menjadi 1 
                  * yg artinya telah pembayaran telah dikonfirmasi */
                 $modelOrder->payment_status = 1;
                 /* simpan perubahan */
                 $modelOrder->save();
                 /* setFlash untuk informasi sukses konfirmasi pesanan */
                 Yii::app()->user->setFlash('success', "Your order with order code #" . $order_code . " has been confirmed...");
                 /* direct ke halaman orders */
                 $this->redirect(array('orders'));
                 return;
             }
         }
         /* render ke file account/confirmasi_payment */
         $this->render('confirm_payment', array('model' => $model));
         return;
     }
     /* untuk halaman list data pesanan */
     if (empty($id)) {
         /* panggil model Order dan function search */
         $model = new Order('search');
         // hapus default values pada attributes
         $model->unsetAttributes();
         $model->customer_id = Yii::app()->user->customerId;
         /* jika data order dikirim view get */
         if (isset($_GET['Order'])) {
             /* set attributes untuk pencarian */
             $model->attributes = $_GET['Order'];
         }
         /* render ke file account/list_orders */
         $this->render('list_orders', array('model' => $model));
         return;
     }
     /* untuk detail order */
     if (!empty($id)) {
         /* join query untuk mendapatkan detail order */
         $dataOrderDetail = Yii::app()->db->createCommand()->select('order.*,orderdetail.*,product.*')->from('order')->join('orderdetail', 'orderdetail.order_id = order.order_id')->join('product', 'product.product_id = orderdetail.product_id')->where('order.order_id=:order_id', array(':order_id' => $id))->queryAll();
         /* join query untuk mendapatkan data order 
          * dan customer/pelanggan */
         $dataOrder = Yii::app()->db->createCommand()->select('order.*,customer.customer_name')->from('order')->join('customer', 'order.customer_id = customer.customer_id')->where('order.order_id=:order_id', array(':order_id' => $id))->queryRow();
         /* render ke file account/detail_order */
         $this->render('detail_order', array('dataOrder' => $dataOrder, 'orderDetail' => $dataOrderDetail, 'subtotal' => '', 'grandtotal' => ''));
         return;
     }
 }