public function actionStep3() { if (isFrontUserLoggedIn()) { $visit_code = Yii::app()->session['visit_code']; $visit_model = Visits::model()->find(array('condition' => 'visit_code = "' . $visit_code . '" ')); $step3_model = new Step3(); if (isset($_POST['Step3'])) { $step3_model->attributes = $_POST['Step3']; if ($step3_model->validate()) { $donation_model = new Donation(); $donation_model->user_id = Yii::app()->session['user_id']; $donation_model->visit_id = $visit_model->id; $donation_model->mobile = '123456789'; $donation_model->solicitor_id = $visit_model->solicitor->id; $donation_model->amount = $step3_model->amount; $donation_model->mode = 'web'; $donation_model->short_note = $step3_model->message; $donation_model->payment_status = 'pending'; $donation_model->reference_number = getToken(8); $donation_model->validate(); $donation_model->save(); // calculating the debit amount to be inserted in the user_trans table $user_id = Yii::app()->session['user_id']; $user_balance = Users::model()->getUserBalance($user_id); $user_model = Users::model()->findByPk($user_id); $credit_limits = $user_model->credit_limits; $actual_don_amt = $step3_model->amount; // if ($actual_don_amt > $user_balance) { // // deducting the user credit // if ($user_balance > 0) { // $from_user_credit = $actual_don_amt - $user_balance; // } else { // $from_user_credit = $actual_don_amt; // } // $final_user_credit = $credit_limits - $from_user_credit; // $user_model->credit_limits = $final_user_credit; // $user_model->validate(); // $user_model->save(); // } // for storing in the user_trans table $trans_model = new UserTrans(); $trans_model->tran_type = 'DONATION'; $trans_model->user_id = $donation_model->user_id; $trans_model->debit = $actual_don_amt; $trans_model->donation_id = $donation_model->id; $trans_model->save(); unset(Yii::app()->session['visit_code']); $this->redirect(array("/user/default/accountSummary")); } } $this->render('step3', array('visit_model' => $visit_model, 'step3_model' => $step3_model)); } else { $this->redirect(array("/user")); } }
public function actionExport() { $from_date = Yii::app()->session['form_date']; $to_date = Yii::app()->session['to_date']; $activity_type = Yii::app()->session['activity_type']; $user_id = Yii::app()->session['user_id']; if (!empty($from_date)) { $criteria = new CDbCriteria; if ($activity_type == 'ALL') { $criteria->condition = "user_id= '$user_id' AND DATE(date_entered) >= '$from_date' AND DATE(date_entered)<= '$to_date' "; } else { $criteria->condition = "user_id= '$user_id' AND DATE(date_entered) >= '$from_date' AND DATE(date_entered)<= '$to_date' AND tran_type = '$activity_type' "; } $criteria->order = 'date_entered DESC'; $user_trans = UserTrans::model()->findAll($criteria); } else { $user_id = Yii::app()->session['user_id']; $criteria = new CDbCriteria; $criteria->condition = "user_id= '$user_id' "; $criteria->order = 'date_entered DESC'; $user_trans = UserTrans::model()->findAll($criteria); } $mPDF1 = Yii::app()->ePdf->mpdf(); $mPDF1->WriteHTML($this->renderPartial('export_activity', array('user_trans' => $user_trans), true)); $mPDF1->Output('activity.pdf', 'D'); }
public function actionAccountSummary() { $user_id = Yii::app()->session['user_id']; $user_balance = Users::model()->getUserBalance($user_id); $user_model = Users::model()->findByPk($user_id); $criteria = new CDbCriteria; $criteria->condition = 'user_id=:user_id'; $criteria->order = 'date_entered DESC'; $criteria->params = array(':user_id' => $user_id); $user_trans = UserTrans::model()->findAll($criteria); $this->render('account_summary', array('user_trans' => $user_trans, 'user_model' => $user_model, 'user_balance' => $user_balance)); }
/** * 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); $users_lists = BaseModel::getAll('Users'); $users = array(); foreach ($users_lists as $user) { $users[$user->id] = $user->first_name . ' ' . $user->last_name . '(' . $user->username . ')'; } // $users = CHtml::listData(BaseModel::getAll('Users'),'id','username'); $lists = BaseModel::getAll('Solicitor'); $solicitors = array(); foreach ($lists as $list) { $solicitors[$list->id] = $list->first_name . ' ' . $list->last_name . '(' . $list->solicitor_code . ')'; } $visits = CHtml::listData(Visits::model()->findAll(), 'id', 'visit_code'); $trans = UserTrans::model()->find(array("condition" => "donation_id = '" . $id . "'")); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Donation'])) { $model->attributes = $_POST['Donation']; if ($trans->debit != $model->amount) { $user_balance = Users::model()->getUserBalance($model->user_id); $user_model = Users::model()->findByPk($model->user_id); $credit_limits = $user_model->credit_limits; $donation_amount = $model->amount; // current donation amount $current_amount = $trans->debit; // previous donation amount if ($donation_amount > $current_amount) { $credit_limits = $user_model->credit_limits; $donation_amt = $donation_amount - $current_amount; if ($user_balance >= 0) { $user_allowable_amount = $user_balance + $credit_limits; } else { if ($user_balance < 0) { $user_allowable_amount = $credit_limits - abs($user_balance); } } if ($user_allowable_amount < $donation_amt) { $model->addError('amount', 'Sorry. The user has not the sufficient balance.'); } else { $model->save(); $trans->debit = $donation_amount; $trans->save(); $this->redirect(array('view', 'id' => $model->id)); } } else { if ($donation_amount < $current_amount) { $trans->debit = $donation_amount; $model->save(); $trans->save(); $this->redirect(array('view', 'id' => $model->id)); } } } } $this->render('create', array('model' => $model, 'users' => $users, 'solicitors' => $solicitors, 'visits' => $visits)); }
/** * 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); $users_lists = BaseModel::getAll('Users'); $users = array(); foreach($users_lists as $user){ $users[$user->id] = $user->first_name.' '.$user->last_name.'('.$user->username.')'; } // $users = CHtml::listData(BaseModel::getAll('Users'),'id','username'); $lists = BaseModel::getAll('Solicitor'); $solicitors = array(); foreach($lists as $list){ $solicitors[$list->id] = $list->first_name.' '.$list->last_name.'('.$list->solicitor_code.')'; } $visits = CHtml::listData(Visits::model()->findAll(),'id','visit_code'); $trans = UserTrans::model()->find(array("condition" => "donation_id = '".$id."'")); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if(isset($_POST['Donation'])) { $model->attributes=$_POST['Donation']; if($model->save()){ if($trans->debit != $model->amount){ $user_balance = Users::model()->getUserBalance($model->user_id); $user_model = Users::model()->findByPk($model->user_id); $credit_limits = $user_model->credit_limits; // $from_user_credit = ($user_balance + $trans->debit) - $model->amount; $user_balance = $user_balance + $trans->debit; if ($model->amount > $user_balance) { // deducting the user credit if ($user_balance > 0) { $from_user_credit = $model->amount - $user_balance; } else { $from_user_credit = $model->amount; } $final_user_credit = $credit_limits - $from_user_credit; $user_model->credit_limits = $final_user_credit; $user_model->save(); } // for storing in the user_trans table $trans->debit = $model->amount; $trans->save(); $this->redirect(array('view','id'=>$model->id)); } $this->redirect(array('view','id'=>$model->id)); } } $this->render('create',array( 'model'=>$model, 'users'=>$users, 'solicitors'=>$solicitors, 'visits'=>$visits )); }
/** * 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); $users = CHtml::listData(BaseModel::getAll('Users', array("condition" => "is_admin = 0 ")), 'id', 'username'); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['UserCredit'])) { $model->attributes = $_POST['UserCredit']; if ($model->save()){ $trans = UserTrans::model()->find(array("condition" => "credit_id = '$model->id'")); if($trans === null && $model->payment_status == 'a'){ $trans_model = new UserTrans; $trans_model->tran_type = 'PAYMENT_RECEIVED'; $trans_model->user_id = $model->user_id; $trans_model->credit = $model->amount; $trans_model->credit_id = $model->id; $trans_model->save(); } else { $trans->credit = $model->amount; $trans->save(); } $this->redirect(array('view', 'id' => $model->id)); } } $this->render('update', array( 'model' => $model, 'users' => $users )); }