$this->params['breadcrumbs'][] = $this->title; ?> <div class="student-index"> <div class="well well-sm"> <h1><?php echo Html::encode($this->title); ?> </h1> </div> <?php echo GridView::widget(['dataProvider' => $dataProvider, 'columns' => ['enrollment_id', ['attribute' => 'Nombre', 'value' => function ($dataProvider) { $user = \app\models\User::findOne(['id' => $dataProvider->user_id]); $person = \app\models\Person::findOne(['id' => $user->person_id]); return $person->name . ' ' . $person->lastname; }], ['attribute' => 'Licenciatura', 'value' => function ($dataProvider) { $student = \app\models\Student::findOne(['user_id' => $dataProvider->user_id]); $degree = \app\models\Degree::findOne(['id' => $student->degree_id]); return $degree->name; }], ['attribute' => 'Facultad', 'value' => function ($dataProvider) { $faculty = \app\models\Faculty::findOne(['id' => $dataProvider->faculty_id]); return $faculty->name; }], 'current_semester', ['class' => 'yii\\grid\\ActionColumn', 'template' => '{delete}', 'buttons' => ['delete' => function ($url, $model) { return Html::a('<span class="glyphicon glyphicon-trash"></span>', ['delete', 'user_id' => $model['user_id']], ['title' => Yii::t('app', 'Delete'), 'data-confirm' => Yii::t('app', '¿Estas seguro que deseas eliminar?'), 'data-method' => 'post']); }]]]]); ?> </div>
/** * @return mixed|\yii\web\Response */ public function actionPrintProjectAssignmentPDF() { $student = Student::findOne(['user_id' => Yii::$app->user->id]); date_default_timezone_set("America/Mexico_City"); try { $registration = Registration::findOne(['student_id' => $student->id]); $person = Person::findOne(User::findOne(Yii::$app->user->id)->person_id); $degree = Degree::findOne($student->degree_id); $project = Project::findOne($registration->project_id); $projectM = ProjectManager::findOne($project->manager_id); // get your HTML raw content without any layouts or scripts $content = $this->render('projectAssignmentPDF', ['registration' => $registration, 'student' => $student, 'person' => $person, 'degree' => $degree, 'project' => $project, 'projectM' => $projectM]); $formatter = \Yii::$app->formatter; // setup kartik\mpdf\Pdf component $pdf = new Pdf(['mode' => Pdf::MODE_UTF8, 'format' => Pdf::FORMAT_LETTER, 'orientation' => Pdf::ORIENT_PORTRAIT, 'destination' => Pdf::DEST_BROWSER, 'content' => $content, 'cssFile' => '@vendor/kartik-v/yii2-mpdf/assets/kv-mpdf-bootstrap.min.css', 'cssInline' => '.kv-heading-1{font-size:18px}', 'options' => ['title' => 'Carta de Asignación'], 'methods' => ['SetFooter' => ['Fecha de expedición: ' . $formatter->asDate(date('Y-m-d'), 'long')]]]); // return the pdf output as per the destination setting return $pdf->render(); } catch (InvalidConfigException $e) { Yii::$app->getSession()->setFlash('danger', 'No tienes proyectos asignados'); return $this->redirect(Url::home()); } }