make csv ongoing
This commit is contained in:
parent
fe8b0aa111
commit
a895986183
@ -17,6 +17,9 @@
|
|||||||
{% block navigation %}
|
{% block navigation %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
<div id="bodyland">
|
<div id="bodyland">
|
||||||
|
<div class="container">
|
||||||
|
{% include 'default/header.html.twig' %}
|
||||||
|
</div>
|
||||||
{% block body %}
|
{% block body %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
</div>
|
</div>
|
||||||
|
@ -38,6 +38,13 @@
|
|||||||
Festivals
|
Festivals
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="btn btn-default" href="{{ path('history') }}"
|
||||||
|
data-toggle="tab">
|
||||||
|
<i class="fa fa-clock"></i>
|
||||||
|
Historique
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,6 +1,47 @@
|
|||||||
<div class="well">
|
{% extends 'base.html.twig' %}
|
||||||
<a href="">
|
{% trans_default_domain 'FOSUserBundle' %}
|
||||||
Exporter vos données
|
{% block body %}
|
||||||
|
<div id="wrapper">
|
||||||
|
<div id="container" class="container">
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<h1>Historique</h1>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-6">
|
||||||
|
<div class="sells">
|
||||||
|
<h2>
|
||||||
|
<div class="badge">
|
||||||
|
{{ recentSells |length }}
|
||||||
|
</div>
|
||||||
|
Clients
|
||||||
|
</h2>
|
||||||
|
<h2>
|
||||||
|
Chiffre d'affaires
|
||||||
|
<div class="badge">
|
||||||
|
{{ chiffreAffaires }} €
|
||||||
|
</div>
|
||||||
|
</h2>
|
||||||
|
<h2>
|
||||||
|
panier moyen
|
||||||
|
<div class="badge">
|
||||||
|
{{ chiffreAffaires / (recentSells |length) }} €
|
||||||
|
</div>
|
||||||
|
</h2>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-6 text-right">
|
||||||
|
<a class="btn btn-success" href="{{ path('export_all') }}">
|
||||||
<i class="fa fa-file-o fa-3x"></i>
|
<i class="fa fa-file-o fa-3x"></i>
|
||||||
|
Exporter toutes vos données en format csv
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
|
@ -9,6 +9,7 @@ use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
|||||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||||
use Symfony\Component\Security\Csrf\CsrfTokenManagerInterface;
|
use Symfony\Component\Security\Csrf\CsrfTokenManagerInterface;
|
||||||
|
|
||||||
class DefaultController extends Controller {
|
class DefaultController extends Controller {
|
||||||
@ -52,7 +53,6 @@ class DefaultController extends Controller {
|
|||||||
$categories = $categRepo->findAll();
|
$categories = $categRepo->findAll();
|
||||||
$recentSells = $sellingRepo->findBy( [], [ 'id' => 'desc' ], 0, 5 );
|
$recentSells = $sellingRepo->findBy( [], [ 'id' => 'desc' ], 0, 5 );
|
||||||
|
|
||||||
// replace this example code with whatever you need
|
|
||||||
return $this->render( 'logged/dashboard.html.twig',
|
return $this->render( 'logged/dashboard.html.twig',
|
||||||
[
|
[
|
||||||
'lastFestival' => $lastFestival,
|
'lastFestival' => $lastFestival,
|
||||||
@ -199,7 +199,6 @@ class DefaultController extends Controller {
|
|||||||
$newSellRecord->setDate( new \DateTime() );
|
$newSellRecord->setDate( new \DateTime() );
|
||||||
$newSellRecord->setUser( $currentUser );
|
$newSellRecord->setUser( $currentUser );
|
||||||
$newSellRecord->setPaidByClient( $json[ 'paidByClient' ] );
|
$newSellRecord->setPaidByClient( $json[ 'paidByClient' ] );
|
||||||
// $newSellRecord->setUser( $currentUser );
|
|
||||||
$newSellRecord->setComment( $json[ 'sellingComment' ] );
|
$newSellRecord->setComment( $json[ 'sellingComment' ] );
|
||||||
|
|
||||||
$currentUser->addSellRecords( $newSellRecord );
|
$currentUser->addSellRecords( $newSellRecord );
|
||||||
@ -214,11 +213,121 @@ class DefaultController extends Controller {
|
|||||||
$sellingRepo = $m->getRepository( 'AppBundle:SellRecord' );
|
$sellingRepo = $m->getRepository( 'AppBundle:SellRecord' );
|
||||||
$lastSellings = $sellingRepo->findBy( [ 'user' => $currentUser->getId() ], [ 'id' => 'desc' ], 0, 3 );
|
$lastSellings = $sellingRepo->findBy( [ 'user' => $currentUser->getId() ], [ 'id' => 'desc' ], 0, 3 );
|
||||||
|
|
||||||
// return var_dump( $request->getContent() );
|
|
||||||
return new JsonResponse( [
|
return new JsonResponse( [
|
||||||
"message" => "ok",
|
"message" => "ok",
|
||||||
"recent_sellings" => json_encode( $lastSellings ),
|
"recent_sellings" => json_encode( $lastSellings ),
|
||||||
"dump" => $json,
|
"dump" => $json,
|
||||||
], 200 );
|
], 200 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get the history of user's sellings
|
||||||
|
* @Route("/history", name="history")
|
||||||
|
*/
|
||||||
|
public function historyAction() {
|
||||||
|
$currentUser = $this->getUser();
|
||||||
|
$m = $this->getDoctrine()->getManager();
|
||||||
|
$sellingRepo = $m->getRepository( 'AppBundle:SellRecord' );
|
||||||
|
$mySellings = $sellingRepo->findByUser( $currentUser->getId() );
|
||||||
|
$chiffreAffaires = 0;
|
||||||
|
foreach ( $mySellings as $client ) {
|
||||||
|
foreach ( $client->getProductsSold() as $product ) {
|
||||||
|
$chiffreAffaires += $product->getPrice();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->render( 'logged/history.html.twig',
|
||||||
|
[
|
||||||
|
'chiffreAffaires' => $chiffreAffaires,
|
||||||
|
'recentSells' => $mySellings,
|
||||||
|
'base_dir' => realpath( $this->getParameter( 'kernel.project_dir' ) ) . DIRECTORY_SEPARATOR,
|
||||||
|
] );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* export all clients
|
||||||
|
* @Route("/export-all", name="export_all")
|
||||||
|
*/
|
||||||
|
public function exportAllAction() {
|
||||||
|
// TODO
|
||||||
|
$currentUser = $this->getUser();
|
||||||
|
$m = $this->getDoctrine()->getManager();
|
||||||
|
$sellingRepo = $m->getRepository( 'AppBundle:SellRecord' );
|
||||||
|
$mySellings = $sellingRepo->findByUser( $currentUser->getId() );
|
||||||
|
|
||||||
|
$fileName = "export_caisse-cipherbliss_" . $currentUser->getUsername() . '_' . date( 'Y-m-d_H-i-s' );
|
||||||
|
$file = fopen( $fileName . '.csv', 'w' );
|
||||||
|
|
||||||
|
// save the column headers
|
||||||
|
fputcsv( $file,
|
||||||
|
[
|
||||||
|
'product sold id',
|
||||||
|
'date',
|
||||||
|
'hour',
|
||||||
|
'min',
|
||||||
|
'sec',
|
||||||
|
'client comment',
|
||||||
|
'client paid',
|
||||||
|
'product name',
|
||||||
|
'product image',
|
||||||
|
'product category id',
|
||||||
|
'product category name',
|
||||||
|
'product price',
|
||||||
|
'festival id',
|
||||||
|
'festival name',
|
||||||
|
'festival creation date',
|
||||||
|
'caisse before',
|
||||||
|
'caisse after',
|
||||||
|
'festival ca',
|
||||||
|
'festival comment',
|
||||||
|
] );
|
||||||
|
|
||||||
|
|
||||||
|
$response = new StreamedResponse();
|
||||||
|
$response->setCallback( function () {
|
||||||
|
|
||||||
|
$chiffreAffaires = 0;
|
||||||
|
foreach ( $mySellings as $sellRecord ) {
|
||||||
|
foreach ( $sellRecord->getProductsSold() as $productSold ) {
|
||||||
|
$chiffreAffaires += $productSold->getPrice();
|
||||||
|
// add a line to the csv file
|
||||||
|
fputcsv( $file,
|
||||||
|
[
|
||||||
|
$productSold->getId(),
|
||||||
|
$sellRecord->getDate()->format( 'c' ),
|
||||||
|
$sellRecord->getDate()->format( 'H' ),
|
||||||
|
$sellRecord->getDate()->format( 'i' ),
|
||||||
|
$sellRecord->getDate()->format( 's' ),
|
||||||
|
$sellRecord->getComment(),
|
||||||
|
$sellRecord->getPaidByClient(),
|
||||||
|
$productSold->getName(),
|
||||||
|
$productSold->getImage(),
|
||||||
|
$productSold->getProduct()->getCategory()->getId(),
|
||||||
|
$productSold->getProduct()->getCategory()->getName(),
|
||||||
|
$productSold->getPrice(),
|
||||||
|
] );
|
||||||
|
if ( $sellRecord->getFestival() ) {
|
||||||
|
fputcsv( $file,
|
||||||
|
[
|
||||||
|
$sellRecord->getFestival()->getId(),
|
||||||
|
$sellRecord->getFestival()->getName(),
|
||||||
|
$sellRecord->getFestival()->getDateCreation()->format( 'c' ),
|
||||||
|
$sellRecord->getFestival()->getFondDeCaisseAvant(),
|
||||||
|
$sellRecord->getFestival()->getFondDeCaisseApres(),
|
||||||
|
$sellRecord->getFestival()->getChiffreAffaire(),
|
||||||
|
$sellRecord->getFestival()->getComment(),
|
||||||
|
] );
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fclose( $file );
|
||||||
|
} );
|
||||||
|
$response->setStatusCode( 200 );
|
||||||
|
$response->headers->set( 'Content-Type', 'text/csv; charset=utf-8' );
|
||||||
|
$response->headers->set( 'Content-Disposition', 'attachment; filename="' . $fileName . '"' );
|
||||||
|
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
"product sold id",date,hour,min,sec,"client comment","client paid","product name","product image","product category id","product category name","product price","festival id","festival name","festival creation date","caisse before","caisse after","festival ca","festival comment"
|
|
@ -0,0 +1 @@
|
|||||||
|
"product sold id",date,hour,min,sec,"client comment","client paid","product name","product image","product category id","product category name","product price","festival id","festival name","festival creation date","caisse before","caisse after","festival ca","festival comment"
|
|
@ -0,0 +1,7 @@
|
|||||||
|
"product sold id",date,hour,min,sec,"client comment","client paid","product name","product image","product category id","product category name","product price","festival id","festival name","festival creation date","caisse before","caisse after","festival ca","festival comment"
|
||||||
|
5,2018-04-17T14:33:51+02:00,14,33,51,sellingComment,20.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
6,2018-04-17T14:36:15+02:00,14,36,15,sellingComment,20.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
7,2018-04-17T15:07:53+02:00,15,07,53,,0.00,aaaaaa,"image mock",1,fanzine,3.00
|
||||||
|
8,2018-04-17T15:07:53+02:00,15,07,53,,0.00,aaaaaa,"image mock",1,fanzine,3.00
|
||||||
|
9,2018-04-17T15:07:53+02:00,15,07,53,,0.00,aaaaaa,"image mock",1,fanzine,3.00
|
||||||
|
10,2018-04-18T15:14:32+02:00,15,14,32,,0.00,"un truc","image mock",1,fanzine,2.00
|
Can't render this file because it has a wrong number of fields in line 2.
|
22
web/export_caisse-cipherbliss_tykayn_2018-04-18_15-16-22.csv
Normal file
22
web/export_caisse-cipherbliss_tykayn_2018-04-18_15-16-22.csv
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
"product sold id",date,hour,min,sec,"client comment","client paid","product name","product image","product category id","product category name","product price","festival id","festival name","festival creation date","caisse before","caisse after","festival ca","festival comment"
|
||||||
|
5,2018-04-17T14:33:51+02:00,14,33,51,sellingComment,20.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
6,2018-04-17T14:36:15+02:00,14,36,15,sellingComment,20.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
7,2018-04-17T15:07:53+02:00,15,07,53,,0.00,aaaaaa,"image mock",1,fanzine,3.00
|
||||||
|
8,2018-04-17T15:07:53+02:00,15,07,53,,0.00,aaaaaa,"image mock",1,fanzine,3.00
|
||||||
|
9,2018-04-17T15:07:53+02:00,15,07,53,,0.00,aaaaaa,"image mock",1,fanzine,3.00
|
||||||
|
10,2018-04-18T15:14:32+02:00,15,14,32,,0.00,"un truc","image mock",1,fanzine,2.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
11,2018-04-18T15:14:32+02:00,15,14,32,,0.00,"un truc","image mock",1,fanzine,2.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
12,2018-04-18T15:14:32+02:00,15,14,32,,0.00,"un truc","image mock",1,fanzine,2.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
13,2018-04-18T15:14:32+02:00,15,14,32,,0.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
14,2018-04-18T15:14:32+02:00,15,14,32,,0.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
15,2018-04-18T15:14:32+02:00,15,14,32,,0.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
16,2018-04-18T15:14:32+02:00,15,14,32,,0.00,bbbb,"image mock",2,badges,10.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
17,2018-04-18T15:14:32+02:00,15,14,32,,0.00,bbbb,"image mock",2,badges,10.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
Can't render this file because it has a wrong number of fields in line 2.
|
22
web/export_caisse-cipherbliss_tykayn_2018-04-18_15-17-17.csv
Normal file
22
web/export_caisse-cipherbliss_tykayn_2018-04-18_15-17-17.csv
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
"product sold id",date,hour,min,sec,"client comment","client paid","product name","product image","product category id","product category name","product price","festival id","festival name","festival creation date","caisse before","caisse after","festival ca","festival comment"
|
||||||
|
5,2018-04-17T14:33:51+02:00,14,33,51,sellingComment,20.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
6,2018-04-17T14:36:15+02:00,14,36,15,sellingComment,20.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
7,2018-04-17T15:07:53+02:00,15,07,53,,0.00,aaaaaa,"image mock",1,fanzine,3.00
|
||||||
|
8,2018-04-17T15:07:53+02:00,15,07,53,,0.00,aaaaaa,"image mock",1,fanzine,3.00
|
||||||
|
9,2018-04-17T15:07:53+02:00,15,07,53,,0.00,aaaaaa,"image mock",1,fanzine,3.00
|
||||||
|
10,2018-04-18T15:14:32+02:00,15,14,32,,0.00,"un truc","image mock",1,fanzine,2.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
11,2018-04-18T15:14:32+02:00,15,14,32,,0.00,"un truc","image mock",1,fanzine,2.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
12,2018-04-18T15:14:32+02:00,15,14,32,,0.00,"un truc","image mock",1,fanzine,2.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
13,2018-04-18T15:14:32+02:00,15,14,32,,0.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
14,2018-04-18T15:14:32+02:00,15,14,32,,0.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
15,2018-04-18T15:14:32+02:00,15,14,32,,0.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
16,2018-04-18T15:14:32+02:00,15,14,32,,0.00,bbbb,"image mock",2,badges,10.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
17,2018-04-18T15:14:32+02:00,15,14,32,,0.00,bbbb,"image mock",2,badges,10.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
Can't render this file because it has a wrong number of fields in line 2.
|
22
web/export_caisse-cipherbliss_tykayn_2018-04-18_15-17-38.csv
Normal file
22
web/export_caisse-cipherbliss_tykayn_2018-04-18_15-17-38.csv
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
"product sold id",date,hour,min,sec,"client comment","client paid","product name","product image","product category id","product category name","product price","festival id","festival name","festival creation date","caisse before","caisse after","festival ca","festival comment"
|
||||||
|
5,2018-04-17T14:33:51+02:00,14,33,51,sellingComment,20.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
6,2018-04-17T14:36:15+02:00,14,36,15,sellingComment,20.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
7,2018-04-17T15:07:53+02:00,15,07,53,,0.00,aaaaaa,"image mock",1,fanzine,3.00
|
||||||
|
8,2018-04-17T15:07:53+02:00,15,07,53,,0.00,aaaaaa,"image mock",1,fanzine,3.00
|
||||||
|
9,2018-04-17T15:07:53+02:00,15,07,53,,0.00,aaaaaa,"image mock",1,fanzine,3.00
|
||||||
|
10,2018-04-18T15:14:32+02:00,15,14,32,,0.00,"un truc","image mock",1,fanzine,2.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
11,2018-04-18T15:14:32+02:00,15,14,32,,0.00,"un truc","image mock",1,fanzine,2.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
12,2018-04-18T15:14:32+02:00,15,14,32,,0.00,"un truc","image mock",1,fanzine,2.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
13,2018-04-18T15:14:32+02:00,15,14,32,,0.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
14,2018-04-18T15:14:32+02:00,15,14,32,,0.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
15,2018-04-18T15:14:32+02:00,15,14,32,,0.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
16,2018-04-18T15:14:32+02:00,15,14,32,,0.00,bbbb,"image mock",2,badges,10.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
17,2018-04-18T15:14:32+02:00,15,14,32,,0.00,bbbb,"image mock",2,badges,10.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
Can't render this file because it has a wrong number of fields in line 2.
|
22
web/export_caisse-cipherbliss_tykayn_2018-04-18_15-17-40.csv
Normal file
22
web/export_caisse-cipherbliss_tykayn_2018-04-18_15-17-40.csv
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
"product sold id",date,hour,min,sec,"client comment","client paid","product name","product image","product category id","product category name","product price","festival id","festival name","festival creation date","caisse before","caisse after","festival ca","festival comment"
|
||||||
|
5,2018-04-17T14:33:51+02:00,14,33,51,sellingComment,20.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
6,2018-04-17T14:36:15+02:00,14,36,15,sellingComment,20.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
7,2018-04-17T15:07:53+02:00,15,07,53,,0.00,aaaaaa,"image mock",1,fanzine,3.00
|
||||||
|
8,2018-04-17T15:07:53+02:00,15,07,53,,0.00,aaaaaa,"image mock",1,fanzine,3.00
|
||||||
|
9,2018-04-17T15:07:53+02:00,15,07,53,,0.00,aaaaaa,"image mock",1,fanzine,3.00
|
||||||
|
10,2018-04-18T15:14:32+02:00,15,14,32,,0.00,"un truc","image mock",1,fanzine,2.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
11,2018-04-18T15:14:32+02:00,15,14,32,,0.00,"un truc","image mock",1,fanzine,2.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
12,2018-04-18T15:14:32+02:00,15,14,32,,0.00,"un truc","image mock",1,fanzine,2.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
13,2018-04-18T15:14:32+02:00,15,14,32,,0.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
14,2018-04-18T15:14:32+02:00,15,14,32,,0.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
15,2018-04-18T15:14:32+02:00,15,14,32,,0.00,aaaaaa,"image mock",1,fanzine,1.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
16,2018-04-18T15:14:32+02:00,15,14,32,,0.00,bbbb,"image mock",2,badges,10.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
||||||
|
17,2018-04-18T15:14:32+02:00,15,14,32,,0.00,bbbb,"image mock",2,badges,10.00
|
||||||
|
4,"japan expo",2018-04-17T15:37:15+02:00,0,0,0,
|
Can't render this file because it has a wrong number of fields in line 2.
|
@ -0,0 +1 @@
|
|||||||
|
"product sold id",date,hour,min,sec,"client comment","client paid","product name","product image","product category id","product category name","product price","festival id","festival name","festival creation date","caisse before","caisse after","festival ca","festival comment"
|
|
@ -0,0 +1 @@
|
|||||||
|
"product sold id",date,hour,min,sec,"client comment","client paid","product name","product image","product category id","product category name","product price","festival id","festival name","festival creation date","caisse before","caisse after","festival ca","festival comment"
|
|
Loading…
Reference in New Issue
Block a user