public function actionTryNow($objectId, $modelClass) { if (self::TrialExist()) { Yii::$app->session->setFlash('error', 'Sorry, You already have a trial hybrizy code'); return $this->redirect(['/#packages']); } $order = new OrderForm(['scenario' => OrderForm::SCENARIO_TRIAL]); $order->user_id = Yii::$app->user->id; $request = Yii::$app->request; if ($request->isPost) { if ($order->load($request->post()) && $order->validate()) { $result = $order->save(); $result = Yii::$app->controller->run('/api/process-order/process', ['objectId' => $objectId, 'modelClass' => $modelClass, 'orderId' => $result->id]); if ($result) { return $this->redirect(['/profile/index']); } } $package = Package::findOne($objectId); return $this->render('index', ['model' => $order, 'package' => $package]); } $package = Package::findOne($objectId); $profile = Yii::$app->user->identity->profile; $order->firstname = $profile->firstname; $order->lastname = $profile->lastname; $order->email = Yii::$app->user->identity->email; return $this->render('index', ['model' => $order, 'package' => $package]); }
public function actionCheckout($force_step = null) { $step = isset($force_step) ? $force_step : '1'; $form = ''; $request = Yii::$app->request; $orderForm = new OrderForm(); $cart = unserialize(Yii::$app->user->identity->cart); $orderForm->scenario = OrderForm::SCENARIO_CHECKOUT; if ($request->isPost) { $orderForm->load($request->post()); if ($orderForm->validate()) { $step = "3"; $orderForm->total = $cart['grandTotal']; $order = $orderForm->save(); if ($order !== false) { $form = Yii::$app->controller->renderPartial('_molpay_progress', ['model' => $orderForm->getMolPayTxData()]); } } else { $step = "2"; } } else { $userProfile = Yii::$app->user->identity->profile; $orderForm->attributes = $userProfile->toArray(); } return $this->render('checkout', ['cart' => $cart, 'order' => $orderForm, 'step' => $step, 'form' => $form]); }