[ 'class' => VerbFilter::class, 'actions' => [ 'delete' => ['post'], ], ], 'access' => [ 'class' => AccessControl::class, 'rules' => [ [ 'allow' => true, 'roles' => ['@'], 'matchCallback' => function ($rule, $action) { return $this->getUserModule() ->getAuthorizationChecker() ->isGrantedAsProducer($this->getUserCurrent()); } ] ], ], ]; } /** * Affiche la page d'accueil de la section avec un aperçu du mode d'emploi * à imprimer. */ public function actionIndex() { $producer = $this->getProducerCurrent(); $pointsSaleArray = $this->getPointSaleManager()->findPointSales(); return $this->render('index', [ 'producer' => $producer, 'pointsSaleArray' => $pointsSaleArray, ]); } /** * Génére un PDF contenant le mode d'emploi d'utilisation de la plateforme * à destination des clients des producteurs. * * @return string */ public function actionInstructions() { $producer = $this->getProducerCurrent(); // get your HTML raw content without any layouts or scripts $content = $this->renderPartial('instructions_multi', [ 'pdf' => true, 'producer' => $producer ]); $pdf = new Pdf([ // set to use core fonts only 'mode' => Pdf::MODE_UTF8, // A4 paper format 'format' => Pdf::FORMAT_A4, // portrait orientation 'orientation' => Pdf::ORIENT_PORTRAIT, // stream to browser inline 'destination' => Pdf::DEST_BROWSER, // your html content input 'content' => $content, 'marginRight' => 0, 'marginLeft' => 0, 'marginTop' => 0, 'marginBottom' => 0, // format content from your own css file if needed or use the // enhanced bootstrap css built by Krajee for mPDF formatting //'cssFile' => '@vendor/kartik-v/yii2-mpdf/assets/kv-mpdf-bootstrap.min.css', 'cssFile' => '@app/web/css/screen.css', // any css to be embedded if required //'cssInline' => '.kv-heading-1{font-size:18px}', // set mPDF properties on the fly //'options' => ['title' => 'Krajee Report Title'], // call mPDF methods on the fly /* 'methods' => [ 'SetHeader'=>['Commandes du '.$date_str], 'SetFooter'=>['{PAGENO}'], ] */ ]); // return the pdf output as per the destination setting return $pdf->render(); } }