public function actionIndex()
 {
     $post = Yii::$app->request->post();
     if ($post && array_key_exists('bills', $post)) {
         Bill::updateAll(['enabled' => false]);
         $updatedBills = $post['bills'];
         foreach ($updatedBills as $billType => $status) {
             /** @var Bill $bill */
             $bill = Bill::findOne(['bill_type' => $billType]);
             $bill->enabled = $status === 'on';
             $bill->save();
         }
         Yii::$app->session->setFlash('bills_updated');
     }
     $bills = Bill::find()->all();
     return $this->render('index', ['bills' => $bills]);
 }
 /**
  * Finds the Bill model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param string $id
  * @return Bill the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($model = Bill::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }
 public function actionPrint($id)
 {
     if (($bill = Bill::findOne($id)) !== null) {
         $content = $this->renderPartial('print', ['bill' => $bill]);
         $pdf = new Pdf(['mode' => Pdf::MODE_UTF8, 'format' => Pdf::FORMAT_A4, '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' => Yii::t('app', 'Bill') . ' ' . Yii::t('app', 'Report')], 'methods' => ['SetHeader' => [Yii::t('app', 'Summary')], 'SetFooter' => ['{PAGENO}']]]);
         return $pdf->render();
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }