@@ -445,9 +445,32 @@ class DistributionController extends BackendController | |||
'content' => $content, | |||
// 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' => Yii::getAlias('@web/css/distribution/report.css'), | |||
// any css to be embedded if required | |||
//'cssInline' => '.kv-heading-1{font-size:18px}', | |||
'cssInline' => ' | |||
table { | |||
border-spacing : 0px ; | |||
border-collapse : collapse ; | |||
width: 100% ; | |||
} | |||
table tr th, | |||
table tr td { | |||
padding: 0px ; | |||
margin: 0px ; | |||
border: solid 1px #e0e0e0 ; | |||
padding: 3px 8px ; | |||
vertical-align : top; | |||
} | |||
table tr th { | |||
font-size: 13px ; | |||
} | |||
table tr td { | |||
font-size: 13px ; | |||
} | |||
', | |||
// set mPDF properties on the fly | |||
//'options' => ['title' => 'Krajee Report Title'], | |||
// call mPDF methods on the fly | |||
@@ -456,7 +479,7 @@ class DistributionController extends BackendController | |||
'SetFooter' => ['{PAGENO}'], | |||
] | |||
]); | |||
// return the pdf output as per the destination setting | |||
return $pdf->render(); | |||
} |
@@ -52,7 +52,7 @@ foreach ($pointsSaleArray as $pointSale) { | |||
$html .= '<h3>'.$pointSale->name.'</h3>' ; | |||
$colCredit = ($pointSale->credit) ? '<th>Rappel crédit</th>' : '' ; | |||
$html .= '<table class="table table-bordered">' | |||
$html .= '<table class="">' | |||
. '<thead>' | |||
. '<tr>' | |||
. '<th>Client</th>' | |||
@@ -92,13 +92,14 @@ foreach ($pointsSaleArray as $pointSale) { | |||
$add = false; | |||
foreach ($order->productOrder as $productOrder) { | |||
if ($product->id == $productOrder->id_product) { | |||
$strProducts .= $product->name . ' (' .$productOrder->quantity . ' '.Product::strUnit($productOrder->unit, 'wording_short', true).'), '; | |||
$unit = (Product::strUnit($productOrder->unit, 'wording_short', true) == 'p.') ? '' : ' '.Product::strUnit($productOrder->unit, 'wording_short', true) ; | |||
$strProducts .= $product->name . ' (' .$productOrder->quantity .$unit.')<br />'; | |||
$add = true; | |||
} | |||
} | |||
} | |||
$html .= '<td>'.substr($strProducts, 0, strlen($strProducts) - 2).'</td>'; | |||
$html .= '<td>'.substr($strProducts, 0, strlen($strProducts) - 6).'</td>'; | |||
$html .= '<td>'.$order->comment.'</td>'; | |||
if($pointSale->credit) { | |||
@@ -137,12 +138,13 @@ foreach ($pointsSaleArray as $pointSale) { | |||
foreach(Product::$unitsArray as $unit => $dataUnit) { | |||
$quantity = Order::getProductQuantity($product->id, $pointSale->orders, false, $unit); | |||
if ($quantity) { | |||
$strProducts .= $product->name . ' (' .$quantity . ' '.Product::strUnit($unit, 'wording_short', true).'), '; | |||
$theUnit = (Product::strUnit($unit, 'wording_short', true) == 'p.') ? '' : ' '.Product::strUnit($unit, 'wording_short', true) ; | |||
$strProducts .= $product->name . ' (' .$quantity .$theUnit.')<br />'; | |||
} | |||
} | |||
} | |||
$strProducts = substr($strProducts, 0, strlen($strProducts) - 2) ; | |||
$strProducts = substr($strProducts, 0, strlen($strProducts) - 6) ; | |||
$html .= '<td>'.$strProducts.'</td><td></td>' ; | |||
if($pointSale->credit) { | |||
@@ -156,7 +158,7 @@ foreach ($pointsSaleArray as $pointSale) { | |||
// par point de vente | |||
$html .= '<h3>Points de vente</h3>' ; | |||
$html .= '<table class="table table-bordered">' | |||
$html .= '<table class="">' | |||
. '<thead>' | |||
. '<tr>' | |||
. '<th>Point de vente</th>' | |||
@@ -176,12 +178,13 @@ foreach ($pointsSaleArray as $pointSale) | |||
foreach(Product::$unitsArray as $unit => $dataUnit) { | |||
$quantity = Order::getProductQuantity($product->id, $pointSale->orders, false, $unit); | |||
if ($quantity) { | |||
$html .= $product->name . ' (' .$quantity . ' '.Product::strUnit($unit, 'wording_short', true).'), '; | |||
$theUnit = (Product::strUnit($unit, 'wording_short', true) == 'p.') ? '' : ' '.Product::strUnit($unit, 'wording_short', true) ; | |||
$html .= $product->name . ' (' .$quantity .$theUnit.')<br />'; | |||
} | |||
} | |||
} | |||
$html = substr($html, 0, strlen($html) - 2) ; | |||
$html = substr($html, 0, strlen($html) - 6) ; | |||
$html .= '</td><td>'.number_format($pointSale->revenues, 2).' €</td></tr>' ; | |||
$revenues += $pointSale->revenues ; | |||
@@ -195,12 +198,13 @@ foreach ($productsArray as $product) { | |||
foreach(Product::$unitsArray as $unit => $dataUnit) { | |||
$quantity = Order::getProductQuantity($product->id, $ordersArray, false, $unit); | |||
if ($quantity) { | |||
$html .= $product->name . ' (' .$quantity . ' '.Product::strUnit($unit, 'wording_short', true).'), '; | |||
$theUnit = (Product::strUnit($unit, 'wording_short', true) == 'p.') ? '' : ' '.Product::strUnit($unit, 'wording_short', true) ; | |||
$html .= $product->name . ' (' .$quantity .$theUnit.')<br />'; | |||
} | |||
} | |||
} | |||
$html = substr($html, 0, strlen($html) - 2) ; | |||
$html = substr($html, 0, strlen($html) - 6) ; | |||
$html .= '</td><td><strong>'.number_format($revenues, 2).' €</strong></td></tr>' ; | |||
@@ -0,0 +1,41 @@ | |||
@charset "UTF-8"; | |||
/** | |||
Copyright distrib (2018) | |||
contact@opendistrib.net | |||
Ce logiciel est un programme informatique servant à aider les producteurs | |||
à distribuer leur production en circuits courts. | |||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||
sur le site "http://www.cecill.info". | |||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||
de modification et de redistribution accordés par cette licence, il n'est | |||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||
titulaire des droits patrimoniaux et les concédants successifs. | |||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||
associés au chargement, à l'utilisation, à la modification et/ou au | |||
développement et à la reproduction du logiciel par l'utilisateur étant | |||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||
avertis possédant des connaissances informatiques approfondies. Les | |||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||
termes. | |||
*/ | |||
/* line 39, ../../sass/distribution/report.scss */ | |||
table.table tr td { | |||
border: solid 1px #e0e0e0; | |||
padding: 2px; | |||
} |
@@ -0,0 +1,45 @@ | |||
/** | |||
Copyright distrib (2018) | |||
contact@opendistrib.net | |||
Ce logiciel est un programme informatique servant à aider les producteurs | |||
à distribuer leur production en circuits courts. | |||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||
sur le site "http://www.cecill.info". | |||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||
de modification et de redistribution accordés par cette licence, il n'est | |||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||
titulaire des droits patrimoniaux et les concédants successifs. | |||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||
associés au chargement, à l'utilisation, à la modification et/ou au | |||
développement et à la reproduction du logiciel par l'utilisateur étant | |||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||
avertis possédant des connaissances informatiques approfondies. Les | |||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||
termes. | |||
*/ | |||
table.table { | |||
tr { | |||
td { | |||
border: solid 1px #e0e0e0 ; | |||
padding: 2px ; | |||
} | |||
} | |||
} | |||