Quantcast
Channel: Grafikart | Derniers Sujets du forum

crud

$
0
0

Bonjour,
je suis entraint de vouloir générer le crud de mon application, je suis sur symfony 4.21.6 .
tout d'abord j'ai saisir par moi-même les entités, ensuite j'ai essayé d'implementer le crud de deux entités juste pour apprendre le système de fonctionnement de symfony, ok ensuite j'ai voulu passer à la vitesse supérieure c'est dire générer tous les crud des entités restantes. pour le première entité générée soit l'entité propriétaire, tous a bien fonctionné mais pour les autres entités le crud ne fonctionne pas lorsque je clique sur edit ou show ou create de le seconde entité j'ai cette erreur ":GiBundle\Entity\Proprietaire object not found by the @ParamConverter annotation.," je suis debutant en symfony; j'ai beau chercher je ne trouve rien!

merci pour votre aide

Voila je rencontre un petit problème avec mon code.
//routing/commande

commande_index:
path: /index
defaults: { _controller: "GiBundle:Commande:index" }
methods: GET

commande_show:
path: /{id_commande}/show
defaults: { _controller: "GiBundle:Commande:show" }
methods: GET

commande_new:
path: /new
defaults: { _controller: "GiBundle:Commande:new" }
methods: [GET, POST]

commande_edit:
path: /{id_commande}/edit
defaults: { _controller: "GiBundle:Commande:edit" }
methods: [GET, POST]

commande_delete:
path: /{id_commande}/delete
defaults: { _controller: "GiBundle:Commande:delete" }
methods: DELETE

//entité commande
<?php
namespace GiBundle\Entity;
use Doctrine\ORM\Mapping as ORM;

/**

  • @ORM\Entity
    /
    class Commande
    {
    /
    *

    • @ORM\GeneratedValue(strategy="AUTO")
    • @ORM\Id
    • @ORM\Column(type="integer") */

    private $id_commande;

    /**

    • @ORM\Column(type="integer") */

    private $montant;

    /**

    • @ORM\Column(type="string", length=255) */ private $date_commande;

    /**

    • @ORM\Column(type="string", length=255) */ private $description;

    /**

    • @ORM\ManyToOne(targetEntity=Client::class, inversedBy="un_client")
    • @ORM\JoinColumn(name="client_id", referencedColumnName="id_client" ) */ protected $mes_commandes;

    function getDateCommande(){}
    function setDateCommande(){}
    function getMesCommandes(){}
    function setMesCommandes(){}

    /**

    • @return mixed */ public function getId_Commande() { return $this->id_commande; }

    /**

    • @param mixed $id_commande */ public function setId_Commande($id_commande) { $this->id_commande = $id_commande; }

    /**

    • @return mixed */ public function getMontant() { return $this->montant; }

    /**

    • @param mixed $montant */ public function setMontant($montant) { $this->montant = $montant; }

    /**

    • @return mixed */ public function getDate_Commande() { return $this->date_commande; }

    /**

    • @param mixed $date_commande */ public function setDate_Commande($date_commande) { $this->date_commande = $date_commande; }

    /**

    • @return mixed */ public function getMes_Commandes() { return $this->mes_commandes; }

    /**

    • @param mixed $mes_commandes */ public function setMes_Commandes($mes_commandes) { $this->mes_commandes = $mes_commandes; }

    /**

    • @return mixed */ public function getDescription() { return $this->description; }

    /**

    • @param mixed $description */ public function setDescription($description) { $this->description = $description; }

//controlleur de commande

<?php

namespace GiBundle\Controller;

use GiBundle\Entity\Commande;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;

/**

  • Commande controller.
    *
    /
    class CommandeController extends Controller
    {
    /
    *

    • Lists all commande entities.
      *
      */
      public function indexAction()
      {
      $em = $this->getDoctrine()->getManager();

      $commandes = $em->getRepository('GiBundle:Commande')->findAll();

      return $this->render('commande/index.html.twig', array(
      'commandes' => $commandes,
      ));
      }

    /**

    • Creates a new commande entity.
      *
      */
      public function newAction(Request $request)
      {
      $commande = new Commande();
      $form = $this->createForm('GiBundle\Form\CommandeType', $commande);
      $form->handleRequest($request);

      if ($form->isSubmitted() && $form->isValid()) {
      $em = $this->getDoctrine()->getManager();
      $em->persist($commande);
      $em->flush();

      return $this->redirectToRoute('commande_show', array('id_commande' => $commande->getId_commande()));
      

      }

      return $this->render('commande/new.html.twig', array(
      'commande' => $commande,
      'form' => $form->createView(),
      ));
      }

    /**

    • Finds and displays a commande entity. * */

    public function showAction(Commande $commande)
    {
    $deleteForm = $this->createDeleteForm($commande);

    return $this->render('commande/show.html.twig', array(
        'commande' => $commande,
        'delete_form' => $deleteForm->createView(),
    ));
    

    }

    /**

    • Displays a form to edit an existing commande entity.
      *
      */
      public function editAction(Request $request, Commande $commande)
      {
      $deleteForm = $this->createDeleteForm($commande);
      $editForm = $this->createForm('GiBundle\Form\CommandeType', $commande);
      $editForm->handleRequest($request);

      if ($editForm->isSubmitted() && $editForm->isValid()) {
      $this->getDoctrine()->getManager()->flush();

      return $this->redirectToRoute('commande_edit', array('id_commande' => $commande->getIdcommande()));
      

      }

      return $this->render('Commande/edit.html.twig', array(
      'commande' => $commande,
      'edit_form' => $editForm->createView(),
      'delete_form' => $deleteForm->createView(),
      ));
      }

    /**

    • Deletes a commande entity.
      *
      */
      public function deleteAction(Request $request, Commande $commande)
      {
      $form = $this->createDeleteForm($commande);
      $form->handleRequest($request);

      if ($form->isSubmitted() && $form->isValid()) {
      $em = $this->getDoctrine()->getManager();
      $em->remove($commande);
      $em->flush();
      }

      return $this->redirectToRoute('commande_index');
      }

    /**

    • Creates a form to delete a commande entity. *
    • @param Commande $commande The commande entity *
    • @return \Symfony\Component\Form\Form The form */ private function createDeleteForm(Commande $commande) { return $this->createFormBuilder() ->setAction($this->generateUrl('commande_delete', array('id_commande' => $commande->getId_commande()))) ->setMethod('DELETE') ->getForm() ; } }

}

Décrivez ici votre code ou ce que vous cherchez à faire

Entourez votre code pour bien le mettre en forme

Ce que je veux

Décrivez ici ce que vous cherchez à obtenir

GiBundle\Entity\Proprietaire object not found by the @ParamConverter annotation.,

Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(


implémentation FOSJsRoutingBundle symfony 5

$
0
0

Bonjour,
Je souhaite utiliser FosJsRoutingBundle avec mon projet Symfony 5 , je suivi la documentation ;

je l'installe avec :
composer require friendsofsymfony/jsrouting-bundle

J'ai inclus mes 2 scripts javascript dans la page de mise en page principale pour charger la configuration et les routes:

je veux implementer maintenant une fonction de vérification avec json

ceci ma fonction :

  public function phoneverif(Request $request , $extension){
    if ($request->isXmlHttpRequest()) {
        $em = $this->getDoctrine()->getManager();
        $phone = $em->getRepository(Phones::class)->findOneByExtension($extension);
        if ($phone) {
            $existe = 1;
        } else {
            $existe = 0;
        }
        $response = new JsonResponse();
        return $response->setData(array('existe' => $existe));
    } else {
        throw new \Exception('Erreur');
    }  


   }

ceci mon code twig :


 {% extends 'superadmin.html.twig'%}


 {% block body %} 



        <div class="container-fluid">

          <!-- Page Heading -->
          <h1 class="h3 mb-4 text-gray-800">Nouveau téléphone</h1>

        </div>

        <div class="col-md-12">
                {% for flashMessage in app.session.flashbag.get('notice') %}
                    <div class="alert alert-success alert-dismissable">
                        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
                        <h4><i class="icon fa fa-check"></i>{{ flashMessage }}</h4>
                    </div>
                {% endfor %}  




                 <!-- general form elements -->
                <div>
                    <!-- form start -->
                    {{ form_start(form)}}
                    <div>
                         <div class="row">
                                <div class="col-md-6">
                                    <div class="form-group">
                                        <label>{{ form_label(form.userGroup) }}</label>
                                        {{ form_widget(form.userGroup) }}
                                        <span class="text-danger">{{ form_errors(form.userGroup) }}</span>
                                    </div>
                                    <div class="form-group">
                                        <label>{{ form_label(form.protocol) }}</label>
                                        {{ form_widget(form.protocol) }}
                                        <span class="text-danger">{{ form_errors(form.protocol) }}</span>
                                    </div>
                                    <div class="form-group">
                                        <label>{{ form_label(form.extension) }}</label>
                                        {{ form_widget(form.extension) }}
                                        <span class="text-danger">{{ form_errors(form.extension) }}</span>
                                    </div>
                                    <div class="form-group">
                                        <label>{{ form_label(form.dialplanNumber) }}</label>
                                        {{ form_widget(form.dialplanNumber) }}
                                        <span class="text-danger">{{ form_errors(form.dialplanNumber) }}</span>
                                    </div>
                                    <div class="form-group">
                                        <label>{{ form_label(form.voicemailId) }}</label>
                                        {{ form_widget(form.voicemailId) }}
                                        <span class="text-danger">{{ form_errors(form.voicemailId) }}</span>
                                    </div>
                                </div>
                                <div class="col-md-6">
                                    <div class="form-group">
                                        <label>{{ form_label(form.login) }}</label>
                                        {{ form_widget(form.login) }}
                                        <span class="text-danger">{{ form_errors(form.login) }}</span>
                                    </div>
                                    <div class="form-group">
                                        <label>{{ form_label(form.pass) }}</label>
                                        {{ form_widget(form.pass) }}
                                        <span class="text-danger">{{ form_errors(form.pass) }}</span>
                                    </div>
                                    <div class="form-group">
                                        <label>{{ form_label(form.confSecret) }}</label>
                                        {{ form_widget(form.confSecret) }}
                                        <span class="text-danger">{{ form_errors(form.confSecret) }}</span>
                                    </div>
                                    <div class="form-group">
                                        <label>{{ form_label(form.serverIp) }}</label>
                                        {{ form_widget(form.serverIp) }}
                                        <span class="text-danger">{{ form_errors(form.serverIp) }}</span>
                                    </div>
                                </div>
                            </div>
                        </div>

                    <div>
                        <button class="btn btn-primary"onClick="phoneverif();">Ajouter</button>

                        <a class="btn btn-warning" href="{{ path('Les_telephones') }}">Retour</a>
                    </div>
                    {{ form_end(form)}}
    </div><!-- /.box -->
            </div>
        </div>
{% endblock %}                    


{% block javascripts %}

<script src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script>
<script src="{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}"></script>
<script type="text/javascript">
var $extension = $('#xarix_xarixbundle_phones_extension'); 
var $dialplanNumber = $('#xarix_xarixbundle_phones_dialplanNumber'); 
var $login = $('#xarix_xarixbundle_phones_login'); 
var $pass = $('#xarix_xarixbundle_phones_pass'); 



                                function phoneverif() {
                                    if ($("#xarix_xarixbundle_phones_extension").val() == '') {
                                        alert('Vous devez saisir une extension');
                                    } else {
                                        if ($("#xarix_xarixbundle_phones_dialplanNumber").val() == '') {
                                            alert('Vous devez saisir le dialplan du téléphone');
                                        } else {
                                            if ($("#xarix_xarixbundle_phones_login").val() == '') {
                                                alert('Vous devez saisir le login du téléphone');
                                            } else {
                                                if ($("#xarix_xarixbundle_phones_pass").val() == '') {
                                                    alert('Vous devez saisir le mot de passe du téléphone');
                                                } else {
                                                    $.ajax({
                                                        type: 'get',
                                                        url: Routing.generate('phone_verif', {extension: $("#xarix_xarixbundle_phones_extension").val()}),
                                                        success: function (data) {
                                                            if (data.existe == 1) {
                                                                alert('Téléphone non valide');
                                                            } else {
                                                                $("form").submit();
                                                            }
                                                        }
                                                    });
                                                }
                                            }
                                        }
                                    }
                                }
    </script>



{% endblock %}

mais la fonction verif ne marche pas lorsque je remplis mon formulaire !

peut etre j'oublie qqs choses

merci

Entourez votre code pour bien le mettre en forme

Ce que je veux

Décrivez ici ce que vous cherchez à obtenir

Ce que j'obtiens

Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

Composer update supprime mon dossier CKEditor dans public->bundles

$
0
0

Bonjour,

Depuis hier matin, j'ai un problème étrange : dès que je lance composer update, cela supprime mon dossier CKEditor qui se trouve dans public->bundles.

Comment est-ce possible ?

Je précide que cela n'était pas arrivé avant le jour d'hier, et que je n'ai rien modifié, si ce n'est la mise à jour windows, et une mise à jour du serveur symfony

Merci beaucoup pour votre aide

Installation KnpPaginator

$
0
0

Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire

Je suis débutante,
J'essaye d'installer le bundle KnpPaginator mais j'obtiens ce message d'erreur.
 Je ne sais pas comment faire pour pour voir l'instaler

Ce que je veux

Décrivez ici ce que vous cherchez à obtenir

Ce que j'obtiens

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - knplabs/knp-paginator-bundle[v5.4.0, ..., v5.4.2] require symfony/config ^4.4 || ^5.0 -> found symfony/config[v4.4.0, ..., v4.4.18, v5.0.0, ..., v5.2.1] but the package is fixed to v4.2.12 (lock file version) by a partial update and that version does not match. 
Make sure you list it as an argument for the update command.
    - Root composer.json requires knplabs/knp-paginator-bundle ^5.4 -> satisfiable by knplabs/knp-paginator-bundle[v5.4.0, v5.4.1, v5.4.2].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

bundle pour extraire un tableau html en pdf

$
0
0

Bonsoir à tous, je cherche un bundle Symfony pour pouvoir extrire un tableau html de ma vue en twigs. Cordialeement.

installation et configuration FOSJsRoutingBundle (Symfony 5)

$
0
0

Bonjour,

j'ai essayé d 'installer et configure FOSJsRoutingBundle sous symfony 5 mais la documentation b'inclut pas la configuration pour la version 5 ..
comment je peux configurer ce bundle en propre facon ?
merci





Latest Images