public function actionIndex2() { $searchModel = new GradeSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); if (Yii::$app->request->post('hasEditable')) { $gradeId = Yii::$app->request->post('editableKey'); $grade = Grade::findOne($gradeId); $subject = Subject::findOne($grade->subject_subject_id); $out = Json::encode(['output' => '', 'message' => '']); $post = []; $posted = current($_POST['Grade']); $post['Grade'] = $posted; if ($grade->load($post)) { if ($grade->grade_approval_status == 'Approved') { $grade->grade_approved_by = Yii::$app->user->identity->username; } else { $grade->grade_approved_by = null; } if ($grade->takenStatus == null) { $grade->takenStatus = 'Not Taken'; } // $subjectTakenStatus = ArrayHelper::map(Subject::find() // ->where(['subject_id'=>$grade->subject_subject_id]) // ->all(),'subject_id','subject_taken_status'); $subject->subject_taken_status = $grade->takenStatus; $subject->save(); $grade->save(); } echo $out; return; } return $this->render('index2', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider]); }
<?php use yii\helpers\Html; use kartik\grid\GridView; use kartik\export\ExportMenu; use common\models\GradeSearch; $gridColumns = [['class' => 'kartik\\grid\\ExpandRowColumn', 'value' => function ($model, $key, $index, $column) { return GridView::ROW_COLLAPSED; }, 'detail' => function ($model, $key, $index, $column) { $searchModel2 = new GradeSearch(); $searchModel2->subject_scholar_school_school_id = $model->school_id; $dataProvider2 = $searchModel2->search(Yii::$app->request->queryParams); return Yii::$app->controller->renderPartial('_graderecords', ['searchModel2' => $searchModel2, 'dataProvider2' => $dataProvider2]); }], 'school_name', 'school_area']; $exportedValues = [['class' => 'kartik\\grid\\SerialColumn'], ['attribute' => 'grade_id', 'pageSummary' => 'Total'], 'subject_subject_id', ['attribute' => 'subject_scholar_scholar_id', 'pageSummary' => true], 'subject_scholar_school_school_id', 'grade_school_year_start', 'grade_school_year_end', 'grade_raw_grade', 'grade_approval_status', 'grade_approved_by']; $searchModel3 = new GradeSearch(); $dataProvider3 = $searchModel3->search(Yii::$app->request->queryParams); $export = ExportMenu::widget(['dataProvider' => $dataProvider3, 'columns' => $exportedValues, 'columnSelectorOptions' => ['label' => 'Columns', 'class' => 'btn btn-danger'], 'fontAwesome' => true, 'dropdownOptions' => ['label' => 'Export All', 'class' => 'btn btn-success']]); /* @var $this yii\web\View */ /* @var $searchModel common\models\SchoolSearch */ /* @var $dataProvider yii\data\ActiveDataProvider */ $this->title = 'Grades'; $this->params['breadcrumbs'][] = $this->title; ?> <h1><?php echo Html::encode($this->title); ?> </h1> <?php echo Html::a('Group By School', ['index'], ['class' => 'btn btn-success']); echo Html::a('Show Only Grade Records', ['index2'], ['class' => 'btn btn-success']);