list crud translated

This commit is contained in:
Kayn Ty 2018-05-24 15:01:18 +02:00
parent b386d886e6
commit 975adbb340
No known key found for this signature in database
GPG Key ID: 55B09AA0ED327CD3
6 changed files with 52 additions and 60 deletions

View File

@ -76,21 +76,13 @@
{% else %}
<div class="alert alert-info">
pas d'owner.
pas d'owner.
</div>
{% endif %}
<ul>
<li class="pull-left">
<a class="btn btn-primary" href="{{ path('festival_show', { 'id': festival.id }) }}">voir
</a>
</li>
<li class="pull-left">
<a class="btn btn-primary" href="{{ path('festival_edit', { 'id': festival.id }) }}">
<i class="fa fa-pencil"></i>
Modifier
</a>
</li>
</ul>
<a class="btn btn-primary" href="{{ path('festival_edit', { 'id': festival.id }) }}">
<i class="fa fa-pencil"></i>
Modifier
</a>
</td>
</tr>
{% endfor %}

View File

@ -1,7 +1,14 @@
{% extends 'base.html.twig' %}
{% block body %}
<h1>Products list</h1>
<div class="row">
<div class="col-xs-6">
<h1>Produits</h1></div>
<div class="col-xs-6">
<a class="btn btn-primary" href="{{ path('product_new') }}">Nouveau produit</a>
</div>
</div>
<table class="table-responsive table-striped table table-bordered table-light">
<thead class="bg-dark">
@ -30,16 +37,9 @@
<td>{{ product.stockCount }}</td>
<td>{{ product.comment }}</td>
<td>
<ul>
<li>
<a class="btn btn-default" href="{{ path('product_show', { 'id': product.id }) }}">voir</a>
</li>
<li>
<a class="btn btn-default" href="{{ path('product_edit', { 'id': product.id }) }}">
<i class="fa fa-pencil"></i>
</a>
</li>
</ul>
<a class="btn btn-default" href="{{ path('product_edit', { 'id': product.id }) }}">
<i class="fa fa-pencil"></i>
</a>
</td>
</tr>
{% endfor %}
@ -48,7 +48,7 @@
<ul>
<li>
<a class="btn btn-primary" href="{{ path('product_new') }}">Nouveau product</a>
<a class="btn btn-primary" href="{{ path('product_new') }}">Nouveau produit</a>
</li>
</ul>
{% endblock %}

View File

@ -1,7 +1,14 @@
{% extends 'base.html.twig' %}
{% block body %}
<h1>Productcategories list</h1>
<div class="row">
<div class="col-xs-6">
<h1>Catégorie de produit</h1></div>
<div class="col-xs-6">
<a class="btn btn-primary" href="{{ path('productcategory_new') }}">Nouvelle catégorie</a>
</div>
</div>
<table class="table-responsive table-striped table table-bordered table-light">
<thead>
@ -22,29 +29,16 @@
<td>{{ productCategory.name }}</td>
<td>{{ productCategory.products|length }}</td>
<td>
<ul>
<li>
<a class="btn btn-primary"
href="{{ path('productcategory_show', { 'id': productCategory.id }) }}">voir
</a>
</li>
<li>
<a class="btn btn-primary"
href="{{ path('productcategory_edit', { 'id': productCategory.id }) }}">
<i class="fa fa-pencil"></i>
edit
</a>
</li>
</ul>
<a class="btn btn-primary"
href="{{ path('productcategory_edit', { 'id': productCategory.id }) }}">
<i class="fa fa-pencil"></i>
edit
</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
<ul>
<li>
<a class="btn btn-primary" href="{{ path('productcategory_new') }}">Nouveau productCategory</a>
</li>
</ul>
<a class="btn btn-primary" href="{{ path('productcategory_new') }}">Nouvelle catégorie</a>
{% endblock %}

View File

@ -424,6 +424,7 @@ class DefaultController extends Controller
}
/**
* import lots of products at once
* @Route("/mass-create", name="mass_create")
*/
public function massCreateAction(Request $request)
@ -456,7 +457,6 @@ class DefaultController extends Controller
$boom = explode(':', trim($line));
$firstPart = $boom[0];
$value = $boom[1];
echo "gérer une catégorie nommée: $value";
if ($firstPart === 'catégorie' && $value) {
// look for category by name
if (!isset($myCategoriesByName[$value])) {
@ -468,25 +468,25 @@ class DefaultController extends Controller
$m->persist($newCateg);
$currentCategory = $newCateg; // associate further categories with the newly created one
} else {
echo " la catégorie existe déjà";
// echo " la catégorie existe déjà";
}
}
} else {
// manage product
echo "<br/> $line";
$boom = explode(';', $line);
$productName = $boom[0];
$price = 0;
if ($boom[1]) {
$price = intval(str_replace('€', '', $boom[1]));
$price = intval(str_replace('€', '', $boom[1]));// removing euro symbol
}
// or create new product
if ($productName && !isset($myProductsByName[$productName])) {
$newProduct = new Product();
$newProduct->setCategory($currentCategory)
->setName($productName)
->setStockCount(500)
->setUser($currentUser)
->setPrice($price) // removing euro symbol
->setPrice($price)
;
$currentUser->addProduct($newProduct);
$m->persist($newProduct);

View File

@ -37,13 +37,17 @@ class ProductController extends Controller {
* @Method({"GET", "POST"})
*/
public function newAction( Request $request ) {
$user = $this->getUser();
$product = new Product();
$product->setUser( $this->getUser() );
$product->setUser( $user );
$product->setPrice( 1 );
$product->setStockCount( 10 );
$product->setStockCount( 500 );
$form = $this->createForm( 'AppBundle\Form\ProductType', $product );
$form->handleRequest( $request );
$user = $this->getUser();
if ( $user && $user->getCategories() ) {
$product->setCategory( $user->getCategories()[ 0 ] );
}
if ( $form->isSubmitted() && $form->isValid() ) {
$em = $this->getDoctrine()->getManager();
$em->persist( $product );
@ -66,9 +70,9 @@ class ProductController extends Controller {
* @Method("GET")
*/
public function showAction( Product $product ) {
if ( $product->getUser()->getId() !== $this->getUser()->getId() ) {
$this->denyAccessUnlessGranted( 'ROLE_ADMIN' );
}
if ( $product->getUser()->getId() !== $this->getUser()->getId() ) {
$this->denyAccessUnlessGranted( 'ROLE_ADMIN' );
}
$deleteForm = $this->createDeleteForm( $product );
if ( $product->getUser()->getId() !== $this->getUser()->getId() ) {

View File

@ -23,19 +23,20 @@ class ProductType extends AbstractType {
* {@inheritdoc}
*/
public function buildForm( FormBuilderInterface $builder, array $options ) {
$builder->add( 'name' )
$builder->add( 'name' , null, ['label'=>'Nom'])
->add( 'image',
null,
[ 'label' => 'URL pour image' ] )
->add( 'stockCount' )
->add( 'price')
->add( 'comment' );
->add( 'stockCount', null, ['label'=>'En stock'] )
->add( 'price', null, ['label'=>'Prix en euros'])
->add( 'comment', null, ['label'=>'Commentaire']);
$user = $this->security->getUser();
if ( ! $user ) {
throw new \LogicException(
'The SellRecordType cannot be used without an authenticated user!'
);
}
$builder->addEventListener( FormEvents::PRE_SET_DATA,
function ( FormEvent $event ) {
$form = $event->getForm();
@ -48,6 +49,7 @@ class ProductType extends AbstractType {
'class' => 'AppBundle:ProductCategory',
'placeholder' => '--- catégories ---',
'choices' => $categories,
'label' => 'Catégorie',
] );
} );