$this->processInvoiceViaDeliveryNotes($model) ; | $this->processInvoiceViaDeliveryNotes($model) ; | ||||
Yii::$app->getSession()->setFlash('success', $this->getFlashMessage('create', $model)); | Yii::$app->getSession()->setFlash('success', $this->getFlashMessage('create', $model)); | ||||
return $this->redirect(['/' . $model->getControllerUrlPath() . '/update', 'id' => $model->id]); | |||||
return $this->redirect(['/' . $this->getControllerUrl() . '/update', 'id' => $model->id]); | |||||
} else { | } else { | ||||
Yii::$app->getSession()->setFlash('error', 'Un problème est survenu lors de la création du document.'); | Yii::$app->getSession()->setFlash('error', 'Un problème est survenu lors de la création du document.'); | ||||
} | } | ||||
]); | ]); | ||||
Yii::$app->getSession()->setFlash('success', $this->getFlashMessage('delete', $model)); | Yii::$app->getSession()->setFlash('success', $this->getFlashMessage('delete', $model)); | ||||
$this->redirect([$model->getControllerUrlPath().'/index']); | |||||
$this->redirect([$this->getControllerUrl().'/index']); | |||||
} | } | ||||
public function actionDownload($id) | public function actionDownload($id) | ||||
else { | else { | ||||
Yii::$app->getSession()->setFlash('danger', $this->getFlashMessage('send', $document)); | Yii::$app->getSession()->setFlash('danger', $this->getFlashMessage('send', $document)); | ||||
} | } | ||||
$this->redirect([$document->getControllerUrlPath().'/index']); | |||||
$this->redirect([$this->getControllerUrl().'/index']); | |||||
} | } | ||||
public function actionAjaxUserInfos($typeAction, $idUser, $classDocument, $idDocument = false) | public function actionAjaxUserInfos($typeAction, $idUser, $classDocument, $idDocument = false) | ||||
$document->changeStatus(Document::STATUS_VALID); | $document->changeStatus(Document::STATUS_VALID); | ||||
$document->save(); | $document->save(); | ||||
Yii::$app->getSession()->setFlash('success', $this->getFlashMessage('validate', $document)); | Yii::$app->getSession()->setFlash('success', $this->getFlashMessage('validate', $document)); | ||||
return $this->redirect(['delivery-note/index']); | |||||
return $this->redirect([$this->getControllerUrl().'/index']); | |||||
} | } | ||||
} | } | ||||
Yii::$app->getSession()->setFlash('danger', 'Une erreur est survenue lors de la validation du document.'); | Yii::$app->getSession()->setFlash('danger', 'Une erreur est survenue lors de la validation du document.'); | ||||
return $this->redirect(['delivery-note/index']); | |||||
return $this->redirect([$this->getControllerUrl().'/index']); | |||||
} | } | ||||
public function actionAjaxValidateDocument($idDocument, $classDocument) | public function actionAjaxValidateDocument($idDocument, $classDocument) | ||||
return $title; | return $title; | ||||
} | } | ||||
public function getControllerUrl() | |||||
{ | |||||
$path = strtolower($this->getClass()); | |||||
$path = str_replace('deliverynote', 'delivery-note', $path); | |||||
return $path; | |||||
} | |||||
/** | /** | ||||
* Recherche un Document en fonction de son ID. | * Recherche un Document en fonction de son ID. | ||||
* | * |
<div id="" class="info-box"> | <div id="" class="info-box"> | ||||
<span class="info-box-icon bg-blue"><i class="fa fa-download"></i></span> | <span class="info-box-icon bg-blue"><i class="fa fa-download"></i></span> | ||||
<div class="info-box-content"> | <div class="info-box-content"> | ||||
<a href="<?= Yii::$app->urlManager->createUrl([$model->getControllerUrlPath().'/download', 'id' => $model->id]) ?>" class="btn btn-default">Télécharger (PDF)</a> | |||||
<a href="<?= Yii::$app->urlManager->createUrl([Yii::$app->controller->getControllerUrl().'/download', 'id' => $model->id]) ?>" class="btn btn-default"><span class="glyphicon glyphicon-download-alt"></span> Télécharger (PDF)</a> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div id="" class="info-box"> | <div id="" class="info-box"> | ||||
<span class="info-box-icon bg-red"><i class="fa fa-flash"></i></span> | <span class="info-box-icon bg-red"><i class="fa fa-flash"></i></span> | ||||
<div class="info-box-content"> | <div class="info-box-content"> | ||||
<a v-if="document.status == 'draft'" class="btn btn-default" @click="validateDocument">Valider le document</a> | |||||
<a v-if="document.status == 'draft'" class="btn btn-default" @click="validateDocument"><span class="glyphicon glyphicon-ok"></span> Valider le document</a> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> |
], | ], | ||||
[ | [ | ||||
'class' => 'yii\grid\ActionColumn', | 'class' => 'yii\grid\ActionColumn', | ||||
'template' => '{update} {delete} {send} {download}', | |||||
'template' => '{validate} {update} {delete} {send} {download}', | |||||
'headerOptions' => ['class' => 'column-actions'], | 'headerOptions' => ['class' => 'column-actions'], | ||||
'contentOptions' => ['class' => 'column-actions'], | 'contentOptions' => ['class' => 'column-actions'], | ||||
'buttons' => [ | 'buttons' => [ | ||||
'validate' => function ($url, $model) { | |||||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-ok"></span>', $url, [ | |||||
'title' => Yii::t('app', 'Valider'), 'class' => 'btn btn-default' | |||||
]) : ''); | |||||
}, | |||||
'send' => function($url, $model) { | 'send' => function($url, $model) { | ||||
return (!$model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-send"></span>', $url, [ | return (!$model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-send"></span>', $url, [ | ||||
'title' => Yii::t('app', 'Envoyer'), 'class' => 'btn btn-default' | 'title' => Yii::t('app', 'Envoyer'), 'class' => 'btn btn-default' |
], | ], | ||||
[ | [ | ||||
'class' => 'yii\grid\ActionColumn', | 'class' => 'yii\grid\ActionColumn', | ||||
'template' => '{update} {delete} {send} {download}', | |||||
'template' => '{validate} {update} {delete} {send} {download}', | |||||
'headerOptions' => ['class' => 'column-actions'], | 'headerOptions' => ['class' => 'column-actions'], | ||||
'contentOptions' => ['class' => 'column-actions'], | 'contentOptions' => ['class' => 'column-actions'], | ||||
'buttons' => [ | 'buttons' => [ | ||||
'validate' => function ($url, $model) { | |||||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-ok"></span>', $url, [ | |||||
'title' => Yii::t('app', 'Valider'), 'class' => 'btn btn-default' | |||||
]) : ''); | |||||
}, | |||||
'send' => function($url, $model) { | 'send' => function($url, $model) { | ||||
return (!$model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-send"></span>', $url, [ | return (!$model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-send"></span>', $url, [ | ||||
'title' => Yii::t('app', 'Envoyer'), 'class' => 'btn btn-default' | 'title' => Yii::t('app', 'Envoyer'), 'class' => 'btn btn-default' |
return ''; | return ''; | ||||
} | } | ||||
public function getControllerUrlPath() | |||||
{ | |||||
$path = strtolower($this->getClass()); | |||||
$path = str_replace('deliverynote', 'delivery-note', $path); | |||||
return $path; | |||||
} | |||||
public function isValidClass($typeDocument) | public function isValidClass($typeDocument) | ||||
{ | { | ||||
return in_array($typeDocument, ['Invoice', 'DeliveryNote', 'Quotation']); | return in_array($typeDocument, ['Invoice', 'DeliveryNote', 'Quotation']); |