@@ -43,103 +43,107 @@ $this->addButton(['label' => 'Nouveau bon de livraison <span class="glyphicon gl | |||
?> | |||
<div class="delivery-note-index"> | |||
<?= GridView::widget([ | |||
'filterModel' => $searchModel, | |||
'dataProvider' => $dataProvider, | |||
'columns' => [ | |||
[ | |||
'attribute' => 'status', | |||
'label' => 'Statut', | |||
'filter' => [ | |||
'draft' => 'Brouillon', | |||
'valid' => 'Valide', | |||
<?php if(DeliveryNote::searchCount()): ?> | |||
<?= GridView::widget([ | |||
'filterModel' => $searchModel, | |||
'dataProvider' => $dataProvider, | |||
'columns' => [ | |||
[ | |||
'attribute' => 'status', | |||
'label' => 'Statut', | |||
'filter' => [ | |||
'draft' => 'Brouillon', | |||
'valid' => 'Valide', | |||
], | |||
'format' => 'raw', | |||
'value' => function($model) { | |||
return $model->getHtmlLabel() ; | |||
} | |||
], | |||
'format' => 'raw', | |||
'value' => function($model) { | |||
return $model->getHtmlLabel() ; | |||
} | |||
], | |||
[ | |||
'attribute' => 'reference', | |||
'value' => function($model) { | |||
if(strlen($model->reference) > 0) { | |||
return $model->reference ; | |||
[ | |||
'attribute' => 'reference', | |||
'value' => function($model) { | |||
if(strlen($model->reference) > 0) { | |||
return $model->reference ; | |||
} | |||
return '' ; | |||
} | |||
return '' ; | |||
} | |||
], | |||
'name', | |||
[ | |||
'attribute' => 'date_distribution', | |||
'header' => 'Jour de distribution', | |||
'filter' => \yii\jui\DatePicker::widget([ | |||
'language' => 'fr', | |||
'dateFormat' => 'dd/MM/yyyy', | |||
'model' => $searchModel, | |||
], | |||
'name', | |||
[ | |||
'attribute' => 'date_distribution', | |||
'options' => ['class' => 'form-control'] | |||
]), | |||
'value' => function($model) { | |||
$distribution = $model->getDistribution() ; | |||
if($distribution) { | |||
return date('d/m/Y',strtotime($distribution->date)) ; | |||
'header' => 'Jour de distribution', | |||
'filter' => \yii\jui\DatePicker::widget([ | |||
'language' => 'fr', | |||
'dateFormat' => 'dd/MM/yyyy', | |||
'model' => $searchModel, | |||
'attribute' => 'date_distribution', | |||
'options' => ['class' => 'form-control'] | |||
]), | |||
'value' => function($model) { | |||
$distribution = $model->getDistribution() ; | |||
if($distribution) { | |||
return date('d/m/Y',strtotime($distribution->date)) ; | |||
} | |||
return '' ; | |||
} | |||
return '' ; | |||
} | |||
], | |||
[ | |||
'attribute' => 'id_point_sale', | |||
'header' => 'Point de vente', | |||
'filter' => ArrayHelper::map(PointSale::searchAll([], ['as_array'=>true]), 'id', 'name'), | |||
'format' => 'html', | |||
'value' => function($model) { | |||
$pointSale = $model->getPointSale() ; | |||
if($pointSale) { | |||
return Html::encode($pointSale->name); | |||
], | |||
[ | |||
'attribute' => 'id_point_sale', | |||
'header' => 'Point de vente', | |||
'filter' => ArrayHelper::map(PointSale::searchAll([], ['as_array'=>true]), 'id', 'name'), | |||
'format' => 'html', | |||
'value' => function($model) { | |||
$pointSale = $model->getPointSale() ; | |||
if($pointSale) { | |||
return Html::encode($pointSale->name); | |||
} | |||
return '' ; | |||
} | |||
return '' ; | |||
} | |||
], | |||
[ | |||
'attribute' => 'amount', | |||
'header' => 'Montant', | |||
'value' => function($invoice) { | |||
return $invoice->getAmountWithTax(Order::AMOUNT_TOTAL, true) ; | |||
} | |||
], | |||
[ | |||
'class' => 'yii\grid\ActionColumn', | |||
'template' => '{validate} {update} {delete} {send} {download}', | |||
'headerOptions' => ['class' => 'column-actions'], | |||
'contentOptions' => ['class' => 'column-actions'], | |||
'buttons' => [ | |||
'send' => function($url, $model) { | |||
return (!$model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-send"></span>', $url, [ | |||
'title' => 'Envoyer', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'download' => function($url, $model) { | |||
return Html::a('<span class="glyphicon glyphicon-download-alt"></span>', $url, [ | |||
'title' => 'Télécharger', 'class' => 'btn btn-default' | |||
]); | |||
}, | |||
'validate' => function ($url, $model) { | |||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-ok"></span>', $url, [ | |||
'title' => 'Valider', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'update' => function ($url, $model) { | |||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url, [ | |||
'title' => 'Modifier', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'delete' => function ($url, $model) { | |||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-trash"></span>', $url, [ | |||
'title' => 'Supprimer', 'class' => 'btn btn-default' | |||
]) : ''); | |||
], | |||
[ | |||
'attribute' => 'amount', | |||
'header' => 'Montant', | |||
'value' => function($invoice) { | |||
return $invoice->getAmountWithTax(Order::AMOUNT_TOTAL, true) ; | |||
} | |||
], | |||
[ | |||
'class' => 'yii\grid\ActionColumn', | |||
'template' => '{validate} {update} {delete} {send} {download}', | |||
'headerOptions' => ['class' => 'column-actions'], | |||
'contentOptions' => ['class' => 'column-actions'], | |||
'buttons' => [ | |||
'send' => function($url, $model) { | |||
return (!$model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-send"></span>', $url, [ | |||
'title' => 'Envoyer', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'download' => function($url, $model) { | |||
return Html::a('<span class="glyphicon glyphicon-download-alt"></span>', $url, [ | |||
'title' => 'Télécharger', 'class' => 'btn btn-default' | |||
]); | |||
}, | |||
'validate' => function ($url, $model) { | |||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-ok"></span>', $url, [ | |||
'title' => 'Valider', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'update' => function ($url, $model) { | |||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url, [ | |||
'title' => 'Modifier', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'delete' => function ($url, $model) { | |||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-trash"></span>', $url, [ | |||
'title' => 'Supprimer', 'class' => 'btn btn-default' | |||
]) : ''); | |||
} | |||
], | |||
], | |||
], | |||
], | |||
]); ?> | |||
]); ?> | |||
<?php else: ?> | |||
<div class="alert alert-info">Aucun bon de livraison enregistré</div> | |||
<?php endif; ?> | |||
</div> |
@@ -50,86 +50,91 @@ $this->addButton(['label' => 'Nouvelle facture <span class="glyphicon glyphicon- | |||
?> | |||
<div class="invoice-index"> | |||
<?= GridView::widget([ | |||
'filterModel' => $searchModel, | |||
'dataProvider' => $dataProvider, | |||
'columns' => [ | |||
[ | |||
'attribute' => 'status', | |||
'label' => 'Statut', | |||
'filter' => [ | |||
'draft' => 'Brouillon', | |||
'valid' => 'Valide', | |||
<?php if(Invoice::searchCount()): ?> | |||
<?= GridView::widget([ | |||
'filterModel' => $searchModel, | |||
'dataProvider' => $dataProvider, | |||
'columns' => [ | |||
[ | |||
'attribute' => 'status', | |||
'label' => 'Statut', | |||
'filter' => [ | |||
'draft' => 'Brouillon', | |||
'valid' => 'Valide', | |||
], | |||
'format' => 'raw', | |||
'value' => function($model) { | |||
return $model->getHtmlLabel() ; | |||
} | |||
], | |||
'format' => 'raw', | |||
'value' => function($model) { | |||
return $model->getHtmlLabel() ; | |||
} | |||
], | |||
[ | |||
'attribute' => 'reference', | |||
'value' => function($model) { | |||
if(strlen($model->reference) > 0) { | |||
return $model->reference ; | |||
[ | |||
'attribute' => 'reference', | |||
'value' => function($model) { | |||
if(strlen($model->reference) > 0) { | |||
return $model->reference ; | |||
} | |||
return '' ; | |||
} | |||
return '' ; | |||
} | |||
], | |||
'name', | |||
[ | |||
'attribute' => 'id_user', | |||
'header' => 'Utilisateur', | |||
'value' => function($model) { | |||
return $model->user->getUsername() ; | |||
} | |||
], | |||
[ | |||
'attribute' => 'date', | |||
'header' => 'Date', | |||
'value' => function($model) { | |||
return date('d/m/Y',strtotime($model->date)) ; | |||
} | |||
], | |||
[ | |||
'attribute' => 'amount', | |||
'header' => 'Montant', | |||
'value' => function($invoice) { | |||
return $invoice->getAmountWithTax(Order::AMOUNT_TOTAL, true) ; | |||
} | |||
], | |||
[ | |||
'class' => 'yii\grid\ActionColumn', | |||
'template' => '{validate} {update} {delete} {send} {download}', | |||
'headerOptions' => ['class' => 'column-actions'], | |||
'contentOptions' => ['class' => 'column-actions'], | |||
'buttons' => [ | |||
'validate' => function ($url, $model) { | |||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-ok"></span>', $url, [ | |||
'title' => 'Valider', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'send' => function($url, $model) { | |||
return (!$model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-send"></span>', $url, [ | |||
'title' => 'Envoyer', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'download' => function($url, $model) { | |||
return Html::a('<span class="glyphicon glyphicon-download-alt"></span>', $url, [ | |||
'title' => 'Télécharger', 'class' => 'btn btn-default' | |||
]); | |||
}, | |||
'update' => function ($url, $model) { | |||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url, [ | |||
'title' => 'Modifier', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'delete' => function ($url, $model) { | |||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-trash"></span>', $url, [ | |||
'title' => 'Supprimer', 'class' => 'btn btn-default' | |||
]) : ''); | |||
], | |||
'name', | |||
[ | |||
'attribute' => 'id_user', | |||
'header' => 'Utilisateur', | |||
'value' => function($model) { | |||
return $model->user->getUsername() ; | |||
} | |||
], | |||
[ | |||
'attribute' => 'date', | |||
'header' => 'Date', | |||
'value' => function($model) { | |||
return date('d/m/Y',strtotime($model->date)) ; | |||
} | |||
], | |||
[ | |||
'attribute' => 'amount', | |||
'header' => 'Montant', | |||
'value' => function($invoice) { | |||
return $invoice->getAmountWithTax(Order::AMOUNT_TOTAL, true) ; | |||
} | |||
], | |||
[ | |||
'class' => 'yii\grid\ActionColumn', | |||
'template' => '{validate} {update} {delete} {send} {download}', | |||
'headerOptions' => ['class' => 'column-actions'], | |||
'contentOptions' => ['class' => 'column-actions'], | |||
'buttons' => [ | |||
'validate' => function ($url, $model) { | |||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-ok"></span>', $url, [ | |||
'title' => 'Valider', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'send' => function($url, $model) { | |||
return (!$model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-send"></span>', $url, [ | |||
'title' => 'Envoyer', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'download' => function($url, $model) { | |||
return Html::a('<span class="glyphicon glyphicon-download-alt"></span>', $url, [ | |||
'title' => 'Télécharger', 'class' => 'btn btn-default' | |||
]); | |||
}, | |||
'update' => function ($url, $model) { | |||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url, [ | |||
'title' => 'Modifier', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'delete' => function ($url, $model) { | |||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-trash"></span>', $url, [ | |||
'title' => 'Supprimer', 'class' => 'btn btn-default' | |||
]) : ''); | |||
} | |||
], | |||
], | |||
], | |||
], | |||
]); ?> | |||
]); ?> | |||
<?php else: ?> | |||
<div class="alert alert-info">Aucune facture enregistrée</div> | |||
<?php endif; ?> | |||
</div> |
@@ -43,91 +43,95 @@ $this->addButton(['label' => 'Nouveau devis <span class="glyphicon glyphicon-plu | |||
?> | |||
<div class="quotation-index"> | |||
<?= GridView::widget([ | |||
'filterModel' => $searchModel, | |||
'dataProvider' => $dataProvider, | |||
'columns' => [ | |||
[ | |||
'attribute' => 'status', | |||
'label' => 'Statut', | |||
'filter' => [ | |||
'draft' => 'Brouillon', | |||
'valid' => 'Valide', | |||
<?php if(Quotation::searchCount()): ?> | |||
<?= GridView::widget([ | |||
'filterModel' => $searchModel, | |||
'dataProvider' => $dataProvider, | |||
'columns' => [ | |||
[ | |||
'attribute' => 'status', | |||
'label' => 'Statut', | |||
'filter' => [ | |||
'draft' => 'Brouillon', | |||
'valid' => 'Valide', | |||
], | |||
'format' => 'raw', | |||
'value' => function($model) { | |||
return $model->getHtmlLabel() ; | |||
} | |||
], | |||
'format' => 'raw', | |||
'value' => function($model) { | |||
return $model->getHtmlLabel() ; | |||
} | |||
], | |||
[ | |||
'attribute' => 'reference', | |||
'value' => function($model) { | |||
if(strlen($model->reference) > 0) { | |||
return $model->reference ; | |||
[ | |||
'attribute' => 'reference', | |||
'value' => function($model) { | |||
if(strlen($model->reference) > 0) { | |||
return $model->reference ; | |||
} | |||
return '' ; | |||
} | |||
return '' ; | |||
} | |||
], | |||
'name', | |||
[ | |||
'attribute' => 'id_user', | |||
'header' => 'Utilisateur', | |||
'value' => function($model) { | |||
return $model->user->getUsername() ; | |||
} | |||
], | |||
[ | |||
'attribute' => 'date', | |||
'header' => 'Date', | |||
'value' => function($model) { | |||
return date('d/m/Y',strtotime($model->date)) ; | |||
} | |||
], | |||
[ | |||
'attribute' => 'amount', | |||
'header' => 'Montant', | |||
'value' => function($invoice) { | |||
return $invoice->getAmountWithTax(Order::AMOUNT_TOTAL, true) ; | |||
} | |||
], | |||
[ | |||
'class' => 'yii\grid\ActionColumn', | |||
'template' => '{transform} {validate} {update} {delete} {send} {download}', | |||
'headerOptions' => ['class' => 'column-actions'], | |||
'contentOptions' => ['class' => 'column-actions'], | |||
'buttons' => [ | |||
'transform' => function ($url, $model) { | |||
return ($model->isStatusValid() ? Html::a('<span class="glyphicon glyphicon-check"></span>', $url, [ | |||
'title' => 'Transformer en facture', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'validate' => function ($url, $model) { | |||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-ok"></span>', $url, [ | |||
'title' => 'Valider', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'send' => function($url, $model) { | |||
return (!$model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-send"></span>', $url, [ | |||
'title' => 'Envoyer', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'download' => function($url, $model) { | |||
return Html::a('<span class="glyphicon glyphicon-download-alt"></span>', $url, [ | |||
'title' => 'Télécharger', 'class' => 'btn btn-default' | |||
]); | |||
}, | |||
'update' => function ($url, $model) { | |||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url, [ | |||
'title' => 'Modifier', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'delete' => function ($url, $model) { | |||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-trash"></span>', $url, [ | |||
'title' => 'Supprimer', 'class' => 'btn btn-default' | |||
]) : ''); | |||
], | |||
'name', | |||
[ | |||
'attribute' => 'id_user', | |||
'header' => 'Utilisateur', | |||
'value' => function($model) { | |||
return $model->user->getUsername() ; | |||
} | |||
], | |||
[ | |||
'attribute' => 'date', | |||
'header' => 'Date', | |||
'value' => function($model) { | |||
return date('d/m/Y',strtotime($model->date)) ; | |||
} | |||
], | |||
[ | |||
'attribute' => 'amount', | |||
'header' => 'Montant', | |||
'value' => function($invoice) { | |||
return $invoice->getAmountWithTax(Order::AMOUNT_TOTAL, true) ; | |||
} | |||
], | |||
[ | |||
'class' => 'yii\grid\ActionColumn', | |||
'template' => '{transform} {validate} {update} {delete} {send} {download}', | |||
'headerOptions' => ['class' => 'column-actions'], | |||
'contentOptions' => ['class' => 'column-actions'], | |||
'buttons' => [ | |||
'transform' => function ($url, $model) { | |||
return ($model->isStatusValid() ? Html::a('<span class="glyphicon glyphicon-check"></span>', $url, [ | |||
'title' => 'Transformer en facture', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'validate' => function ($url, $model) { | |||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-ok"></span>', $url, [ | |||
'title' => 'Valider', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'send' => function($url, $model) { | |||
return (!$model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-send"></span>', $url, [ | |||
'title' => 'Envoyer', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'download' => function($url, $model) { | |||
return Html::a('<span class="glyphicon glyphicon-download-alt"></span>', $url, [ | |||
'title' => 'Télécharger', 'class' => 'btn btn-default' | |||
]); | |||
}, | |||
'update' => function ($url, $model) { | |||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url, [ | |||
'title' => 'Modifier', 'class' => 'btn btn-default' | |||
]) : ''); | |||
}, | |||
'delete' => function ($url, $model) { | |||
return ($model->isStatusDraft() ? Html::a('<span class="glyphicon glyphicon-trash"></span>', $url, [ | |||
'title' => 'Supprimer', 'class' => 'btn btn-default' | |||
]) : ''); | |||
} | |||
], | |||
], | |||
], | |||
], | |||
]); ?> | |||
]); ?> | |||
<?php else: ?> | |||
<div class="alert alert-info">Aucun devis enregistré</div> | |||
<?php endif; ?> | |||
</div> |