Quantcast
Channel: Grafikart | Derniers Sujets du forum
Viewing all 1542 articles
Browse latest View live

Symfony 4 - Login qui n'est pas sensible à la case

$
0
0

Bonjour,

Dans la méthode de login de mon projet symfony, je suis passé de l'authentification par email à celui par username.
Depuis que j'ai fais ça, le login n'est pas sensible à la case.

Par exemple je peut mettre Toto ou toto je suis quand même connecté.

La configuration est vraiment des plus basique, je n'ai pas fait de custom authentification.

Vous savez d'où ça pourrait venir ?

Cordialement.


Sf4 - probléme affiche html

$
0
0

Bonjour,

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

Ce que je fais

J'ai suivi le tuto de la video pour arriver au code ci-dessous

<?php
namespace App\Controller;

use Symfony\Component\HttpFoundation\Response;

class HomeController {

    public function index(): Response
    {
        return new Response( content 'Salut les gens');
    }
}

Ce que je veux

d'aprés la video je devrais juste afficher à l'écran Salut les gens

Ce que j'obtiens

Du coup symfony m'affiche le message d'erreur ci-dessous

namespace App\Controller;

use Symfony\Component\HttpFoundation\Response;

class HomeController {

    public function index(): Response
    {
        return new Response( content 'Salut les gens');
    }
}

qu'en pensez vous svp

site avec article traductible Symfony 4

$
0
0

Bonjour,

Ce que je veux

j'aimerais rendre mon site disponible en plusieur langue or je n'arrive pas à créer un système qui me permetrait d'avoir une entité en anglais et français par exemple mais avec le meme id.

Si quelqu'un a une solution cela m'aiderais beaucoup :)

Ce que j'obtiens

Pour le moment mon site est en 2 langue mais uniquement pour le texte code en brut.
J'ai fais une tentative avec mes entité ou lors de la création d'un article on peut choisir la langue mais le porblème est que si je suis sur un article français et que je clique sur anglais cela me redirige nul part car ils n'ont pas le même id.

requete SQL ou DQL pour récupérer valeurs de l'utilisateur en cours

$
0
0

Bonjour,

alors voila j'ai une table "réponse" qui contient

id -----|------ user_id--------|---- question_id --|------value
1-----------------13-----------------------1-------------------------4
2-----------------13-----------------------2-------------------------3
3-----------------17-----------------------3-------------------------1
4-----------------17-----------------------4-------------------------4

je voudrais faire une requête qui récupére la somme des value de l'user connectée ici on a user avec l'id 13 et l'user avec l'id 17

id 13 = 7 point et id 17 = 5 points

j'avais fais cela dans le repository

Ce que je fais

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

public function getNb($user) {

        return $this->createQueryBuilder('R','U')

                        ->select('SUM(R.value)')

                        ->getQuery()

                        ->getSingleScalarResult();

    }

cela marche mais me récupere tous les points de la table (user confondu)

moi je veux selon l'id conecté car apres je dois faire des calculs genre la somme des 2 premiers choix
EXEMPLE:

choix1:
Je donne régulièrement aux oeuvres de charité.

3
2
1
0

choix:2
J'éprouve beaucoup de plaisir à pouvoir aider quelqu'un en détresse.

3
2
1
0

TOTAL ALT total des valeurs de choix 1 et choix 2

choix3:
Il vaut mieux être pauvre et méconnue mais honnête que d'accepter des compromis pour devenir riche et estimé.

3
2
1
0

choix 4:
Je peux dire très honnêtement que je n'ai jamais cédé à la tentation d'utiliser des moyens douteux pour arriver à un but.

3
2
1
0

TOTAL ETH total des valeurs de choix 3 et choix 4

Je sais que je dois passer par une requete avec jointure mais je sais pas comment faire je suis tres limité en sql dql

Merci a vous

Relation avec formulaire

$
0
0

Bonjour,

Voilà je suis en train de développer la partie paiement d'un site qui permet la réservation de navette et qui sera en Symfony 4. Le moyen de paiement que nous avons décidé de choisir pour notre site est Stripe. De plus la personne qui fera la réservation devra entrer le numéro de sa carte,la date d'expiration de la carte, le cvc (cryptogramme de sécurité au dos de notre carte de crédit) et le nom et prénom du propriétaire de la carte. L'entrée de ces informations se fera dans un formulaire.

J'ai réussi à créer le jeton et l'envoie de ce jeton vers le serveur de Stripe et contenant les informations de la carte de crédit. Grâce à ces lignes et qui est présent dans mon controller :

paiementController.php

    /**
     * @Route("/paiement/ajout", name="paiement_ajout")
     */
    public function ajout(Paiement $resa =null,Request $request)
    {
        \Stripe\Stripe::setApiKey('sk_test_**************');

        if (!$resa) {
            $resa = new Paiement();
        }
        $form = $this->createForm(PaiementType::class, $resa);

        $form->handleRequest($request);


        $token =\Stripe\Token::create([
            'card' => [
              'number' => '4000002500000003',
              'exp_month' => 12,
              'exp_year' => 2040,
              'cvc' =>***,
              'name'=> 'Harry Covert',
              'address_country'=>'FR',
              'address_city'=>'Strasbourg'

            ]
          ]);

         \Stripe\Charge::create([
            'amount' => 9000, //le montant est en centime
            'currency' => 'eur', 
            'description' => 'test paye', 
            'source' => $token,
            //'customer'=> $customer
            ]);

        return $this->render('paiement/ajout1.html.twig',[
            'formPaiement' => $form->createView()
        ]);
    }

Maintenant ayant réussi à créer mon jeton et à l'envoyer je voudrais savoir s'il était possible de récupérer les informations que l'utilisateur rentre dans le formulaire qui est dans un fichier en html.twig vers mon controller pour que mes paramètres de création de jeton puisse utiliser ces informations.

ajout1.html.twig

{% extends "base.html.twig" %}

{% block body %}
    <h1 class="center white-text">
        Paiement</h1>

    <div class="row">
        <div class="col s12 m4 l4 offset-m4 offset-l4">
            <form id="payment-form" method="post">

                <div class="form-row" id="card-element">
                    <label>
                        <span>Numéro carte</span>
                        <input data-stripe="number" size="16" type="text">
                    </label>


                    <label>
                        <span>Expire en (MM/YY)</span>
                        <input data-stripe="exp_month" size="2" type="text">
                    </label>
                    <span>
                        /
                    </span>
                    <input data-stripe="exp_year" size="4" type="text">

                    <label>
                        <span>CVC</span>
                        <input data-stripe="cvc" size="3" type="text">
                    </label>
                </div>
                <button>Payer</button>
            </form>
        </div>
    </div>
{% endblock %}
{% block javascripts %}
    <script src="https://js.stripe.com/v3/" type="text/javascript"></script>

    <script>
        var stripe = Stripe('pk_test_***************');

        var elements = stripe.elements();
        var style = {
            base: {
                fontSize: '16px',
                lineHeight: '24px'
            }
        };
        var car = elements.create('card', {style: style});
        card.mount('#card-element');

        card.addEventListener('change', function (e) {
            if (e.error) {
                displayError.textContent = event.error.message;
            } else {
                displayError.textContent = '';
            }
        });


    </script>
{% endblock %}


Pour le moment avec ce que j'ai pu trouver sur divers forums je pourrais utiliser cette ligne de code dans mon controller pour récupérer ces données:

paiementController.php

$mois = $request->request->get('exp_month')

        $token =\Stripe\Token::create([
            'card' => [
              'number' => '4000002500000003',
              'exp_month' => $mois,
              'exp_year' => 2040,
              'cvc' =>***,
              'name'=> 'Harry Covert',
              'address_country'=>'FR',
              'address_city'=>'Strasbourg'

            ]
          ]);

Sauf que quand je l'utilise symfony me mets comme erreur :
Missing required param: card[exp_month].

Je vous remercie d'avance , pour votre future aide.

Pagnination KnpLabs avec un findBy ?

$
0
0

Bonjour,

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

Ce que je fais

Je souhaite mettre en place une pagnination sur la liste des uploads de chaque utilisateur. A l'heure actuelle, je récupère les bonnes données avec un findBy et du coup, je n'arrive pas à lui donner la bonne requête pour le KnpPagninatorBundle.

public function displayFilesByUser(TokenStorageInterface $storage, PaginatorInterface $paginator, Request $request, DatasRepository $repository) {

        $this->repository = $repository;
        $userId = $storage->getToken()->getUser();
       /* $myUploads = $paginator->paginate(
            $this->repository->findAllVisibleQuery(),
            $request->query->getInt('page', 1),
            12

        );*/
        $myUploads = $this->getDoctrine()
            ->getRepository(Datas::class)
            ->findBy(
                ['idUser' => $userId],
                ['create_at' => 'DESC']
            );

        $sizeUpload = $userId->getSizeUpload() / 1000000;
        $sizeUpload = substr($sizeUpload, 0, 3);

        return $this->render('user/uploads.html.twig', [
            'myUploads' => $myUploads,
            'sizeUpload' => $sizeUpload
        ]);



    }

Ici j'ai commenté la partie du Knp car je n'arrive pas à le lier avec mon findBy...

Ce que je veux

J'aimerais paginer tout en gardant le findBy l'user et la date desc.

Ce que j'obtiens

Je n'obtiens pas particulièrement d'erreurs, j'ai juste la page qui ne se charge pas du tout. D'ailleurs, dans mon DatasRepository.php, j'ai créé une petite fonction :

 public function findAllVisibleQuery(): query {
        return $this->findAllVisibleQuery()
            ->getQuery();
    }

Merci pour vos idées ;).

Empêcher un rafraichissement de page

$
0
0

Bonjour à tous,

Y aurait il un moyen d'empêcher le rafraichissement d'une page? Je m'explique : en cliquant sur l'onglet "qcm" l'utilisateur atterrit sur une page qui génère un qcm (10 questions piochées de manière aléatoire dans la table des questions) ... seulement voilà, si ce dernier rafraichit la page il générera à loisir un qcm et se donnant ainsi la possibilité de ne répondre qu'à celui qui lui convient . J'imagine qu'il faut enregistrer la requete en SESSION ..? mais comment ?

Comment remplir deux formulaire à la fois ?

$
0
0

Bonjour les amis

Je me résigne à venir à vous car je rencontre un problème avec un formulaire.

Ce que j'ai :

Voilà j'ai un formulaire ProfilType (Qui est un formulaire parent)

Et un formulaire LanguesParlesAuxEnfantsType (Qui est un formulaire enfant)

Ce que je veux :

Je souhaite que lorsque je créer une entrée Profil dans la BDD, que je puisse créer aussi dans la foulé l'entrée LanguesParlesAuxEnfants correspondante

Ainsi j'ai un formulaire imbriqué.

Ce que me donne actuellement mon code :

Mon formulaire m'affiche correctement tous les champs SAUF pour le champs où je de dois remplir les languesParlesAuxEnfants et je n'ai pas liste pour pouvoir sélectionner les langues (Pour information : Une langue = Une formation)

Voici mon code

LanguesParlesAuxEnfantsType

<?php

namespace App\Form;

use App\Entity\LanguesParlesAuxEnfants;
use App\Entity\Profil;
use App\Entity\Formation;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;


class LanguesParlesAuxEnfantsType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('formation', EntityType::class,[
                'class'=>Formation::class,
                'choice_label'=>'nom'
            ])
        ;
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            'data_class' => LanguesParlesAuxEnfants::class,
        ]);
    }
}

ProfilType

use Symfony\Component\Form\Extension\Core\Type\CollectionType;

->add('languesParlesAuxEnfants', CollectionType::class,[
                'entry_type' => LanguesParlesAuxEnfantsType::class,
                'entry_options' => ['label' => true, 'attr' => [
                    'class' => 'col-md-8']
                ],
                'label' => false,
                'allow_add' => true,
                'by_reference' => false,
                'allow_delete' => true,
            ])

ProfilController :

public function newProfil(Request $request)
{

    $user = $this->getUser();

    $profil = new Profil();

    $languesParlesAuxEnfants = new LanguesParlesAuxEnfants;
    $languesParlesParEnfants = new LanguesParlesParEnfants;

    $languesParlesAuxEnfants->setProfil($profil);
    $languesParlesParEnfants->setProfil($profil);

    $profil->getLanguesParlesAuxEnfants('languesParlesAuxEnfants');
    $profil->getLanguesParlesParEnfants('languesParlesParEnfants');

    /* Edit profil info */
    $form = $this->createForm(ProfilType::class, $profil);
    $form->handleRequest($request);


    if ($form->isSubmitted() && $form->isValid()) {

        $em = $this->getDoctrine()->getManager();

        $profil->setUser($user);

        $em->persist($profil);
        $em->flush();

        $this->addFlash('success','Votre profil a bien été enregistré');
        return $this->redirectToRoute('profils');
    }

Et enfin la vue

<div class="col-md-6 col-sm-12">
  <h3> Langues parlés aux enfants</h3>
  {% for lpae in form.languesParlesAuxEnfants %}
    {{ form_row(lpae.formation) }}
  {% endfor %}
</div>

Envoyer par mail un lien d'activation du compte utilisateur

$
0
0

Bonjour
J'ai crée une fonctionnalité où les utilisateurs peuvent s'inscrire et se connecter. Lorsqu'ils s'inscrivent, leurs données sont stockées en base. Après inscription, ils peuvent se connecter.
Comment permettre aux utilisateurs d'activer leurs comptes par mail ? C'est-à-dire dès qu'ils finissent de remplir leur formulaire d'inscription, un email leur ait envoyé pour activer leur compte. Une fois ils clique sur le lien d'activation, ils pourront alors se connecter ?

Voici mon controller d'inscription, connexion et deconnexion :

<?php

namespace App\Controller;

use App\Entity\User;
use App\Form\UserType;
use App\Repository\UserRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
//use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;

/**
 * @Route("/")
 */
class SecurityController extends AbstractController
{

    /**
     * @Route("/registration", name="user_registration", methods={"GET","POST"})
     */
    public function registration(Request $request, UserPasswordEncoderInterface $encoder): Response
    {
        $user = new User();
        $form = $this->createForm(UserType::class, $user);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            $entityManager = $this->getDoctrine()->getManager();

            $encoded = $encoder->encodePassword($user, $user->getPassword());

            //$encodedC = $encoder->encodePassword($user, $user->getConfirm_Password());

            $user->setPassword($encoded);
            //$user->setPassword($encodedC);

            $entityManager->persist($user);
            $entityManager->flush();

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

        return $this->render('security/registration.html.twig', [
            'user' => $user,
            'form' => $form->createView(),
        ]);
    }

    /**
     * @Route("/login", name="app_login")
     */
    public function login(Request $request, AuthenticationUtils $authenticationUtils)
    {

        // get the login error if there is one
        $error = $authenticationUtils->getLastAuthenticationError();

        // last username entered by the user
        $lastUsername = $authenticationUtils->getLastUsername();

        // get the login error if there is one
        $error = $authenticationUtils->getLastAuthenticationError();

        // last username entered by the user
        $lastUsername = $authenticationUtils->getLastUsername();

        return $this->render('security/login.html.twig', [
            'last_username' => $lastUsername,
            'error'         => $error,
        ]);
    }

    /**
     * @Route("/logout", name="app_logout")
     */
    public function logout()
    {
        throw new \Exception('Will be intercepted before getting here');
    }

}

Merci

"Missing value for primary key" sur une entité

$
0
0

Bonjour,

Suite à une migration en Symfony 3.4 , j'ai le problème suivant sur une entité :

request.CRITICAL: Uncaught PHP Exception Doctrine\Common\Proxy\Exception\OutOfBoundsException: "Missing value for primary key idBen on Lea\PrestaBundle\Entity\EgwContact" at /htdocs/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/OutOfBoundsException.php line 40

Voici le code de l'entité :

<?php

namespace Lea\PrestaBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
/**
 * Lea\PrestaBundle\Entity\EgwContact
 *
 * @ORM\Table(name="egw_contact")
 * @ORM\Entity(repositoryClass="Lea\PrestaBundle\Entity\EgwContactRepository")
 */
class EgwContact
{
    /**
     * @var integer $idBen
     *
     * @ORM\Column(name="id_ben", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $idBen;

    /**
     * @var string $idOrganisation
     *
     * @ORM\Column(name="id_organisation", type="string", length=64, nullable=true)
     */
    private $idOrganisation;

    /**
     * @var integer $idOwner
     *
     * @ORM\Column(name="id_owner", type="bigint", nullable=false)
     */
    private $idOwner;

    /**
     * @var integer $dateCreation
     *
     * @ORM\Column(name="date_creation", type="bigint", nullable=false)
     */
    private $dateCreation;

    /**
     * @var integer $idModifier
     *
     * @ORM\Column(name="id_modifier", type="bigint", nullable=false)
     */
    private $idModifier;

    /**
     * @var integer $dateLastModified
     *
     * @ORM\Column(name="date_last_modified", type="bigint", nullable=false)
     */
    private $dateLastModified;

    /**
     * @var string $catId
     *
     * @ORM\Column(name="cat_id", type="string", length=32, nullable=false)
     */
    private $catId;

    /**
     * @var string $civilite
     *
     * @ORM\Column(name="civilite", type="string", length=64, nullable=false)
     */
    private $civilite;

    /**
     * @var string $nomComplet
     *
     * @ORM\Column(name="nom_complet", type="string", length=64, nullable=false)
     */
    private $nomComplet;

    /**
     * @var string $nom
     *
     * @ORM\Column(name="nom", type="string", length=64, nullable=false)
     */
    private $nom;

    /**
     * @var string $prenom
     *
     * @ORM\Column(name="prenom", type="string", length=64, nullable=false)
     */
    private $prenom;

    /**
     * @var string $deuxiemePrenom
     *
     * @ORM\Column(name="deuxieme_prenom", type="string", length=64, nullable=false)
     */
    private $deuxiemePrenom;

    /**
     * @var string $nomJeuneFille
     *
     * @ORM\Column(name="nom_jeune_fille", type="string", length=64, nullable=false)
     */
    private $nomJeuneFille;


    /**
     * @var string $organisation
     *
     * @ORM\Column(name="organisation", type="string", length=64, nullable=false)
     */
    private $organisation;

    /**
     * @var string $fonction
     *
     * @ORM\Column(name="fonction", type="string", length=64, nullable=false)
     */
    private $fonction;

    /**
     * @var string $service
     *
     * @ORM\Column(name="Service", type="string", length=64, nullable=false)
     */
    private $service;

    /**
     * @var string $adresseLigne1
     *
     * @ORM\Column(name="adresse_ligne_1", type="string", length=64, nullable=false)
     */
    private $adresseLigne1;

    /**
     * @var string $adresseLigne2
     *
     * @ORM\Column(name="adresse_ligne_2", type="string", length=64, nullable=false)
     */
    private $adresseLigne2;

    /**
     * @var string $adresseLigne3
     *
     * @ORM\Column(name="adresse_ligne_3", type="string", length=64, nullable=false)
     */
    private $adresseLigne3;

    /**
     * @var string $ville
     *
     * @ORM\Column(name="ville", type="string", length=64, nullable=false)
     */
    private $ville;

    /**
     * @var string $region
     *
     * @ORM\Column(name="region", type="string", length=64, nullable=false)
     */
    private $region;

    /**
     * @var string $cp
     *
     * @ORM\Column(name="cp", type="string", length=64, nullable=false)
     */
    private $cp;

    /**
     * @var string $pays
     *
     * @ORM\Column(name="pays", type="string", length=64, nullable=false)
     */
    private $pays;

    /**
     * @var string $telPro1
     *
     * @ORM\Column(name="tel_pro_1", type="string", length=40, nullable=false)
     */
    private $telPro1;

    /**
     * @var string $telPro2
     *
     * @ORM\Column(name="tel_pro_2", type="string", length=64, nullable=false)
     */
    private $telPro2;

    /**
     * @var string $telDomicile1
     *
     * @ORM\Column(name="tel_domicile_1", type="string", length=14, nullable=false)
     */
    private $telDomicile1;

    /**
     * @var string $telDomicile2
     *
     * @ORM\Column(name="tel_domicile_2", type="string", length=64, nullable=false)
     */
    private $telDomicile2;

    /**
     * @var string $faxPro
     *
     * @ORM\Column(name="fax_pro", type="string", length=40, nullable=false)
     */
    private $faxPro;

    /**
     * @var string $faxPerso
     *
     * @ORM\Column(name="fax_perso", type="string", length=64, nullable=false)
     */
    private $faxPerso;

    /**
     * @var string $portablePro
     *
     * @ORM\Column(name="portable_pro", type="string", length=64, nullable=false)
     */
    private $portablePro;

    /**
     * @var string $portablePerso
     *
     * @ORM\Column(name="portable_perso", type="string", length=40, nullable=false)
     */
    private $portablePerso;

    /**
     * @var string $emailPro
     *
     * @ORM\Column(name="email_pro", type="string", length=64, nullable=false)
     */
    private $emailPro;

    /**
     * @var string $emailPerso
     *
     * @ORM\Column(name="email_perso", type="string", length=64, nullable=false)
     */
    private $emailPerso;

    /**
     * @var string $sitePerso
     *
     * @ORM\Column(name="site_perso", type="string", length=64, nullable=false)
     */
    private $sitePerso;

    /**
     * @var string $dateNaissance
     *
     * @ORM\Column(name="date_naissance", type="string", length=64, nullable=false)
     */
    private $dateNaissance;

    /**
     * @var string $lieuNaissance
     *
     * @ORM\Column(name="lieu_naissance", type="string", length=64, nullable=false)
     */
    private $lieuNaissance;

    /**
     * @var string $paysNaissance
     *
     * @ORM\Column(name="pays_naissance", type="string", length=64, nullable=false)
     */
    private $paysNaissance;

    /**
     * @var string $nationalite
     *
     * @ORM\Column(name="nationalite", type="string", length=64, nullable=false)
     */
    private $nationalite;

    /**
     * @var string $situationMaritale
     *
     * @ORM\Column(name="situation_maritale", type="string", length=64, nullable=false)
     */
    private $situationMaritale;

    /**
     * @var integer $enfantsACharge
     *
     * @ORM\Column(name="enfants_a_charge", type="integer", nullable=false)
     */
    private $enfantsACharge;


    /**
     * @var integer $idSecu
     *
     * @ORM\Column(name="numero_SS", type="string", nullable=false)
     */
    private $idSecu;


    /**
     * @ORM\OneToMany(targetEntity="EgwCategories", mappedBy="contactCategorie")
     */
    private $typeContact;


    /**
     * @ORM\OneToMany(targetEntity="Relance", mappedBy="contact")
     *
     */
    protected $relances;

    /**
     * @ORM\OneToMany(targetEntity="EgwProjet", mappedBy="contact")
     */
    protected $projets;


    /**
     * @ORM\OneToMany(targetEntity="EgwPrestation", mappedBy="contact")
     */
    protected $prestations;

     /**
      * @ORM\OneToMany(targetEntity="EgwPrestation", mappedBy="contactP")
      */
    protected $prestationsP;


    /**
      * @ORM\OneToMany(targetEntity="EgwContactParcoursPro", mappedBy="parcoursProContact")
      */
    protected $contactParcoursPro;


     /**
      * @ORM\OneToMany(targetEntity="EgwContactFormation", mappedBy="formationContact")
      */
    protected $contactFormation;



    public function __construct()
    {
    $this->prestations = new ArrayCollection();
    $this->prestationsP = new ArrayCollection();
    $this->contactParcoursPro = new ArrayCollection();
    $this->contactFormation = new ArrayCollection();
    $this->typeContact = new ArrayCollection();
    $this->projets = new ArrayCollection();
    }


    /**
     * Get idBen
     *
     * @return integer 
     */
    public function getIdBen()
    {
        return $this->idBen;
    }

    /**
     * Set idOrganisation
     *
     * @param string $idOrganisation
     * @return EgwContact
     */
    public function setIdOrganisation($idOrganisation = null)
    {
        $this->idOrganisation = $idOrganisation;

        return $this;
    }

    /**
     * Get idOrganisation
     *
     * @return string 
     */
    public function getIdOrganisation()
    {
        return $this->idOrganisation;
    }

    /**
     * Set idOwner
     *
     * @param integer $idOwner
     * @return EgwContact
     */
    public function setIdOwner($idOwner)
    {
        $this->idOwner = $idOwner;

        return $this;
    }

    /**
     * Get idOwner
     *
     * @return integer 
     */
    public function getIdOwner()
    {
        return $this->idOwner;
    }

    /**
     * Set dateCreation
     *
     * @param integer $dateCreation
     * @return EgwContact
     */
    public function setDateCreation($dateCreation)
    {
        $this->dateCreation = $dateCreation;

        return $this;
    }

    /**
     * Get dateCreation
     *
     * @return integer 
     */
    public function getDateCreation()
    {
        return $this->dateCreation;
    }

    /**
     * Set idModifier
     *
     * @param integer $idModifier
     * @return EgwContact
     */
    public function setIdModifier($idModifier)
    {
        $this->idModifier = $idModifier;

        return $this;
    }

    /**
     * Get idModifier
     *
     * @return integer 
     */
    public function getIdModifier()
    {
        return $this->idModifier;
    }

    /**
     * Set dateLastModified
     *
     * @param integer $dateLastModified
     * @return EgwContact
     */
    public function setDateLastModified($dateLastModified)
    {
        $this->dateLastModified = $dateLastModified;

        return $this;
    }

    /**
     * Get dateLastModified
     *
     * @return integer 
     */
    public function getDateLastModified()
    {
        return $this->dateLastModified;
    }

    /**
     * Set catId
     *
     * @param string $catId
     * @return EgwContact
     */
    public function setCatId($catId)
    {
        $this->catId = $catId;

        return $this;
    }

    /**
     * Get catId
     *
     * @return string 
     */
    public function getCatId()
    {
        return $this->catId;
    }

    /**
     * Set civilite
     *
     * @param string $civilite
     * @return EgwContact
     */
    public function setCivilite($civilite)
    {
        $this->civilite = $civilite;

        return $this;
    }

    /**
     * Get civilite
     *
     * @return string 
     */
    public function getCivilite()
    {
        return $this->civilite;
    }


    /**
     * Set nomComplet
     *
     * @param string $nomComplet
     * @return EgwContact
     */
    public function setNomComplet($nomComplet)
    {
        $this->nomComplet = $nomComplet;

        return $this;
    }

    /**
     * Get nomComplet
     *
     * @return string 
     */
    public function getNomComplet()
    {
        return $this->nomComplet;
    }

    /**
     * Set nom
     *
     * @param string $nom
     * @return EgwContact
     */
    public function setNom($nom)
    {
        $this->nom = $nom;

        return $this;
    }

    /**
     * Get nom
     *
     * @return string 
     */
    public function getNom()
    {
        return $this->nom;
    }

    /**
     * Set prenom
     *
     * @param string $prenom
     * @return EgwContact
     */
    public function setPrenom($prenom)
    {
        $this->prenom = $prenom;

        return $this;
    }

    /**
     * Get prenom
     *
     * @return string 
     */
    public function getPrenom()
    {
        return $this->prenom;
    }

    /**
     * Set deuxiemePrenom
     *
     * @param string $deuxiemePrenom
     * @return EgwContact
     */
    public function setDeuxiemePrenom($deuxiemePrenom)
    {
        $this->deuxiemePrenom = $deuxiemePrenom;

        return $this;
    }

    /**
     * Get deuxiemePrenom
     *
     * @return string 
     */
    public function getDeuxiemePrenom()
    {
        return $this->deuxiemePrenom;
    }

    /**
     * Set nomJeuneFille
     *
     * @param string $nomJeuneFille
     * @return EgwContact
     */
    public function setNomJeuneFille($nomJeuneFille)
    {
        $this->nomJeuneFille = $nomJeuneFille;

        return $this;
    }

    /**
     * Get nomJeuneFille
     *
     * @return string 
     */
    public function getNomJeuneFille()
    {
        return $this->nomJeuneFille;
    }

    /**
     * Set organisation
     *
     * @param string $organisation
     * @return EgwContact
     */
    public function setOrganisation($organisation)
    {
        $this->organisation = $organisation;

        return $this;
    }

    /**
     * Get organisation
     *
     * @return string 
     */
    public function getOrganisation()
    {
        return $this->organisation;
    }

    /**
     * Set fonction
     *
     * @param string $fonction
     * @return EgwContact
     */
    public function setFonction($fonction)
    {
        $this->fonction = $fonction;

        return $this;
    }

    /**
     * Get fonction
     *
     * @return string 
     */
    public function getFonction()
    {
        return $this->fonction;
    }

    /**
     * Set service
     *
     * @param string $service
     * @return EgwContact
     */
    public function setService($service)
    {
        $this->service = $service;

        return $this;
    }

    /**
     * Get service
     *
     * @return string 
     */
    public function getService()
    {
        return $this->service;
    }

    /**
     * Set adresseLigne1
     *
     * @param string $adresseLigne1
     * @return EgwContact
     */
    public function setAdresseLigne1($adresseLigne1)
    {
        $this->adresseLigne1 = $adresseLigne1;

        return $this;
    }

    /**
     * Get adresseLigne1
     *
     * @return string 
     */
    public function getAdresseLigne1()
    {
        return $this->adresseLigne1;
    }

    /**
     * Set adresseLigne2
     *
     * @param string $adresseLigne2
     * @return EgwContact
     */
    public function setAdresseLigne2($adresseLigne2)
    {
        $this->adresseLigne2 = $adresseLigne2;

        return $this;
    }

    /**
     * Get adresseLigne2
     *
     * @return string 
     */
    public function getAdresseLigne2()
    {
        return $this->adresseLigne2;
    }

    /**
     * Set adresseLigne3
     *
     * @param string $adresseLigne3
     * @return EgwContact
     */
    public function setAdresseLigne3($adresseLigne3)
    {
        $this->adresseLigne3 = $adresseLigne3;

        return $this;
    }

    /**
     * Get adresseLigne3
     *
     * @return string 
     */
    public function getAdresseLigne3()
    {
        return $this->adresseLigne3;
    }

    /**
     * Set ville
     *
     * @param string $ville
     * @return EgwContact
     */
    public function setVille($ville)
    {
        $this->ville = $ville;

        return $this;
    }

    /**
     * Get ville
     *
     * @return string 
     */
    public function getVille()
    {
        return $this->ville;
    }

    /**
     * Set region
     *
     * @param string $region
     * @return EgwContact
     */
    public function setRegion($region)
    {
        $this->region = $region;

        return $this;
    }

    /**
     * Get region
     *
     * @return string 
     */
    public function getRegion()
    {
        return $this->region;
    }

    /**
     * Set cp
     *
     * @param string $cp
     * @return EgwContact
     */
    public function setCp($cp)
    {
        $this->cp = $cp;

        return $this;
    }

    /**
     * Get cp
     *
     * @return string 
     */
    public function getCp()
    {
        return $this->cp;
    }

    /**
     * Set pays
     *
     * @param string $pays
     * @return EgwContact
     */
    public function setPays($pays)
    {
        $this->pays = $pays;

        return $this;
    }

    /**
     * Get pays
     *
     * @return string 
     */
    public function getPays()
    {
        return $this->pays;
    }

    /**
     * Set telPro1
     *
     * @param string $telPro1
     * @return EgwContact
     */
    public function setTelPro1($telPro1)
    {
        $this->telPro1 = $telPro1;

        return $this;
    }

    /**
     * Get telPro1
     *
     * @return string 
     */
    public function getTelPro1()
    {
        return $this->telPro1;
    }

    /**
     * Set telPro2
     *
     * @param string $telPro2
     * @return EgwContact
     */
    public function setTelPro2($telPro2)
    {
        $this->telPro2 = $telPro2;

        return $this;
    }

    /**
     * Get telPro2
     *
     * @return string 
     */
    public function getTelPro2()
    {
        return $this->telPro2;
    }

    /**
     * Set telDomicile1
     *
     * @param string $telDomicile1
     * @return EgwContact
     */
    public function setTelDomicile1($telDomicile1)
    {
        $this->telDomicile1 = $telDomicile1;

        return $this;
    }

    /**
     * Get telDomicile1
     *
     * @return string 
     */
    public function getTelDomicile1()
    {
        return $this->telDomicile1;
    }

    /**
     * Set telDomicile2
     *
     * @param string $telDomicile2
     * @return EgwContact
     */
    public function setTelDomicile2($telDomicile2)
    {
        $this->telDomicile2 = $telDomicile2;

        return $this;
    }

    /**
     * Get telDomicile2
     *
     * @return string 
     */
    public function getTelDomicile2()
    {
        return $this->telDomicile2;
    }

    /**
     * Set faxPro
     *
     * @param string $faxPro
     * @return EgwContact
     */
    public function setFaxPro($faxPro)
    {
        $this->faxPro = $faxPro;

        return $this;
    }

    /**
     * Get faxPro
     *
     * @return string 
     */
    public function getFaxPro()
    {
        return $this->faxPro;
    }

    /**
     * Set faxPerso
     *
     * @param string $faxPerso
     * @return EgwContact
     */
    public function setFaxPerso($faxPerso)
    {
        $this->faxPerso = $faxPerso;

        return $this;
    }

    /**
     * Get faxPerso
     *
     * @return string 
     */
    public function getFaxPerso()
    {
        return $this->faxPerso;
    }

    /**
     * Set portablePro
     *
     * @param string $portablePro
     * @return EgwContact
     */
    public function setPortablePro($portablePro)
    {
        $this->portablePro = $portablePro;

        return $this;
    }

    /**
     * Get portablePro
     *
     * @return string 
     */
    public function getPortablePro()
    {
        return $this->portablePro;
    }

    /**
     * Set portablePerso
     *
     * @param string $portablePerso
     * @return EgwContact
     */
    public function setPortablePerso($portablePerso)
    {
        $this->portablePerso = $portablePerso;

        return $this;
    }

    /**
     * Get portablePerso
     *
     * @return string 
     */
    public function getPortablePerso()
    {
        return $this->portablePerso;
    }

    /**
     * Set emailPro
     *
     * @param string $emailPro
     * @return EgwContact
     */
    public function setEmailPro($emailPro)
    {
        $this->emailPro = $emailPro;

        return $this;
    }

    /**
     * Get emailPro
     *
     * @return string 
     */
    public function getEmailPro()
    {
        return $this->emailPro;
    }

    /**
     * Set emailPerso
     *
     * @param string $emailPerso
     * @return EgwContact
     */
    public function setEmailPerso($emailPerso)
    {
        $this->emailPerso = $emailPerso;

        return $this;
    }

    /**
     * Get emailPerso
     *
     * @return string 
     */
    public function getEmailPerso()
    {
        return $this->emailPerso;
    }

    /**
     * Set sitePerso
     *
     * @param string $sitePerso
     * @return EgwContact
     */
    public function setSitePerso($sitePerso)
    {
        $this->sitePerso = $sitePerso;

        return $this;
    }

    /**
     * Get sitePerso
     *
     * @return string 
     */
    public function getSitePerso()
    {
        return $this->sitePerso;
    }


    /**
     * Set dateNaissance
     *
     * @param string $dateNaissance
     * @return EgwContact
     */
    public function setDateNaissance($dateNaissance)
    {
        $this->dateNaissance = $dateNaissance;

        return $this;
    }


    /**
     * Get dateNaissance
     *
     * @return string 
     */
    public function getDateNaissance()
    {
        return $this->dateNaissance;
    }

    /**
     * Set lieuNaissance
     *
     * @param string $lieuNaissance
     * @return EgwContact
     */
    public function setLieuNaissance($lieuNaissance)
    {
        $this->lieuNaissance = $lieuNaissance;

        return $this;
    }

    /**
     * Get lieuNaissance
     *
     * @return string 
     */
    public function getLieuNaissance()
    {
        return $this->lieuNaissance;
    }

    /**
     * Set paysNaissance
     *
     * @param string $paysNaissance
     * @return EgwContact
     */
    public function setPaysNaissance($paysNaissance)
    {
        $this->paysNaissance = $paysNaissance;

        return $this;
    }

    /**
     * Get paysNaissance
     *
     * @return string 
     */
    public function getPaysNaissance()
    {
        return $this->paysNaissance;
    }

    /**
     * Set nationalite
     *
     * @param string $nationalite
     * @return EgwContact
     */
    public function setNationalite($nationalite)
    {
        $this->nationalite = $nationalite;

        return $this;
    }

    /**
     * Get nationalite
     *
     * @return string 
     */
    public function getNationalite()
    {
        return $this->nationalite;
    }

    /**
     * Set situationMaritale
     *
     * @param string $situationMaritale
     * @return EgwContact
     */
    public function setSituationMaritale($situationMaritale)
    {
        $this->situationMaritale = $situationMaritale;

        return $this;
    }

    /**
     * Get situationMaritale
     *
     * @return string 
     */
    public function getSituationMaritale()
    {
        return $this->situationMaritale;
    }

    /**
     * Set enfantsACharge
     *
     * @param integer $enfantsACharge
     * @return EgwContact
     */
    public function setEnfantsACharge($enfantsACharge)
    {
        $this->enfantsACharge = $enfantsACharge;

        return $this;
    }

    /**
     * Get enfantsACharge
     *
     * @return integer 
     */
    public function getEnfantsACharge()
    {
        return $this->enfantsACharge;
    }




    /**
     * Set idSecu
     *
     * @param integer $idSecu
     * @return EgwContact
     */
    public function setIdSecu($idSecu)
    {
        $this->idSecu = $idSecu;

        return $this;
    }



    /**
     * Get idSecu
     *
     * @return string 
     */
    public function getidSecu()
    {
        return $this->idSecu;
    }



    /**
     * Add typeContact
     *
     * @param Lea\PrestaBundle\Entity\EgwContact $typeContact
     * @return EgwContact
     */
    public function addTypeContact(\Lea\PrestaBundle\Entity\EgwContact $typeContact)
    {
        $this->typeContact[] = $typeContact;

        return $this;
    }

    /**
     * Remove typeContact
     *
     * @param Lea\PrestaBundle\Entity\EgwContact $typeContact
     */
    public function removeTypeContact(\Lea\PrestaBundle\Entity\EgwContact $typeContact)
    {
        $this->typeContact->removeElement($typeContact);
    }

    /**
     * Get typeContact
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getTypeContact()
    {
        return $this->typeContact;
    }

    /**
     * Add projets
     *
     * @param Lea\PrestaBundle\Entity\EgwProjet $projets
     * @return EgwContact
     */
    public function addProjet(\Lea\PrestaBundle\Entity\EgwProjet $projets)
    {
        $this->projets[] = $projets;

        return $this;
    }

    /**
     * Remove projets
     *
     * @param Lea\PrestaBundle\Entity\EgwProjet $projets
     */
    public function removeProjet(\Lea\PrestaBundle\Entity\EgwProjet $projets)
    {
        $this->projets->removeElement($projets);
    }

    /**
     * Get projets
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getProjets()
    {
        return $this->projets;
    }


    /**
     * Add prestations
     *
     * @param Lea\PrestaBundle\Entity\EgwContact $prestations
     * @return EgwContact
     */
    public function addPrestation(\Lea\PrestaBundle\Entity\EgwContact $prestations)
    {
        $this->prestations[] = $prestations;

        return $this;
    }

    /**
     * Remove prestations
     *
     * @param Lea\PrestaBundle\Entity\EgwContact $prestations
     */
    public function removePrestation(\Lea\PrestaBundle\Entity\EgwContact $prestations)
    {
        $this->prestations->removeElement($prestations);
    }

    /**
     * Get prestations
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getPrestations()
    {
        return $this->prestations;
    }


    /**
     * Add prestationsP
     *
     * @param Lea\PrestaBundle\Entity\EgwPrestation $prestationsP
     * @return EgwContact
     */
    public function addPrestationsP(\Lea\PrestaBundle\Entity\EgwPrestation $prestationsP)
    {
        $this->prestationsP[] = $prestationsP;

        return $this;
    }

    /**
     * Remove prestationsP
     *
     * @param Lea\PrestaBundle\Entity\EgwPrestation $prestationsP
     */
    public function removePrestationsP(\Lea\PrestaBundle\Entity\EgwPrestation $prestationsP)
    {
        $this->prestationsP->removeElement($prestationsP);
    }

    /**
     * Get prestationsP
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getPrestationsP()
    {
        return $this->prestationsP;
    }


    /**
     * Add contactParcoursPro
     *
     * @param Lea\PrestaBundle\Entity\EgwContactParcoursPro $contactParcoursPro
     * @return EgwContact
     */
    public function addContactParcoursPro(\Lea\PrestaBundle\Entity\EgwContactParcoursPro $contactParcoursPro)
    {
        $this->contactParcoursPro[] = $contactParcoursPro;

        return $this;
    }

    /**
     * Remove contactParcoursPro
     *
     * @param Lea\PrestaBundle\Entity\EgwContactParcoursPro $contactParcoursPro
     */
    public function removeContactParcoursPro(\Lea\PrestaBundle\Entity\EgwContactParcoursPro $contactParcoursPro)
    {
        $this->contactParcoursPro->removeElement($contactParcoursPro);
    }

    /**
     * Get contactParcoursPro
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getContactParcoursPro()
    {
        return $this->contactParcoursPro;
    }




     /**
     * Add contactFormation
     *
     * @param Lea\PrestaBundle\Entity\EgwContactFormation $contactFormation
     * @return EgwContact
     */
    public function addContactFormation(\Lea\PrestaBundle\Entity\EgwContactFormation $contactFormation)
    {
        $this->contactFormation[] = $contactFormation;

        return $this;
    }

    /**
     * Remove contactFormation
     *
     * @param Lea\PrestaBundle\Entity\EgwContactFormation $contactFormation
     */
    public function removecontactFormation(\Lea\PrestaBundle\Entity\EgwContactFormation $contactFormation)
    {
        $this->contactFormation->removeElement($contactFormation);
    }

    /**
     * Get contactFormation
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getContactFormation()
    {
        return $this->contactFormation;
    }


}

Je n'avais absolument le problème en 2.1.

Merci pour votre aide !

requete SQL ou DQL pour récupérer valeurs de l'utilisateur en cours

$
0
0

Bonjour,

alors voila j'ai une table "réponse" qui contient

id -----|------ user_id--------|---- question_id --|------value
1-----------------13-----------------------1-------------------------4
2-----------------13-----------------------2-------------------------3
3-----------------17-----------------------3-------------------------1
4-----------------17-----------------------4-------------------------4

je voudrais faire une requête qui récupére la somme des value de l'user connectée ici on a user avec l'id 13 et l'user avec l'id 17

id 13 = 7 point et id 17 = 5 points

j'avais fais cela dans le repository

Ce que je fais

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

public function getNb($user) {

        return $this->createQueryBuilder('R','U')

                        ->select('SUM(R.value)')

                        ->getQuery()

                        ->getSingleScalarResult();

    }

cela marche mais me récupere tous les points de la table (user confondu)

moi je veux selon l'id conecté car apres je dois faire des calculs genre la somme des 2 premiers choix
EXEMPLE:

choix1:
Je donne régulièrement aux oeuvres de charité.

3
2
1
0

choix:2
J'éprouve beaucoup de plaisir à pouvoir aider quelqu'un en détresse.

3
2
1
0

TOTAL ALT total des valeurs de choix 1 et choix 2

choix3:
Il vaut mieux être pauvre et méconnue mais honnête que d'accepter des compromis pour devenir riche et estimé.

3
2
1
0

choix 4:
Je peux dire très honnêtement que je n'ai jamais cédé à la tentation d'utiliser des moyens douteux pour arriver à un but.

3
2
1
0

TOTAL ETH total des valeurs de choix 3 et choix 4

Je sais que je dois passer par une requete avec jointure mais je sais pas comment faire je suis tres limité en sql dql

Merci a vous

error occurred while trying to encode the JWT token

$
0
0

Bonjour,

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

Jwt token

Je développe actuellement mon premier Api paltform et, lorsque je teste la fonction RegisterUserAction, je rencontre ce problème.
"An error occurred while trying to encode the JWT token. Please verify your configuration (private key/passphrase)","
"It was not possible to parse your key, reason: error:0909006C:PEM routines:get_name:no start line"
je ne sais pas quoi faire

function registerUserAction

 /**
 * Register a new User
 *
 * @param Request $request
 * @throws \Exception
 *
 * @Annotations\Post("/register-User")
 * @SWG\Parameter(
 *     name="form",
 *     in="body",
 *     description="Request Body Params",
 *     @Model(type=CoreBundle\Form\Type\User\UserType::class)
 * )
 * @SWG\Response(response=400, description="User Already exist")
 * @SWG\Response(response=201, description="Particular successfully created")
 */
public function registerUserAction(Request $request)
{

    $manager = $this->get('doctrine.orm.entity_manager');

    $url = $request->headers->get('referer');
    $referer = $url ? str_ireplace('www.', '', parse_url($url)['host']) : '';

    /** @var FormFactory $formFactory */
    $formFactory = $this->get('form.factory');
    /** @var $userManager \FOS\UserBundle\Model\UserManagerInterface */
    $userManager = $this->get('fos_user.user_manager');
    /** @var $dispatcher \Symfony\Component\EventDispatcher\EventDispatcherInterface */
    $dispatcher = $this->get('event_dispatcher');

    /** @var User $user */
    $user = $userManager->createUser();
    $user->setEnabled(false);
    $user->setRoles(['ROLE_User']);
    $token = $this->get('fos_user.util.token_generator')->generateToken();
    $user->setConfirmationToken($token);

    $event = new GetResponseUserEvent($user, $request);
    $dispatcher->dispatch(FOSUserEvents::REGISTRATION_INITIALIZE, $event);

    if (null !== $event->getResponse()) {
        return $event->getResponse();
    }

    /**
     * @var FormInterface $form
     */
    $form = $formFactory->create(UserType::class, null, [
        'csrf_protection' => false,
    ]);

    $form->setData($user);
    $data = $request->request->all();
    $form->submit($data);
    $user->setUsername($user->getEmail());
    /**
     * @var UserRepository $userRepo
     */
    $userRepo = $manager->getRepository(User::class);

    $existUser = $userRepo->findOneBy(['email' => $user->getEmail()]);
    if ($existUser) {
        throw new \Exception(
            'The specified user already exist',
            Response::HTTP_BAD_REQUEST
        );
    }


    if (!$form->isValid()) {

        $event = new FormEvent($form, $request);

        $dispatcher->dispatch(FOSUserEvents::REGISTRATION_FAILURE, $event);

        if (null !== $response = $event->getResponse()) {
            return $response;
        }
        return $form;
    }
    $event = new FormEvent($form, $request);
    $dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);

    if ($event->getResponse()) {
        return $event->getResponse();
    }

    $userManager->updateUser($user);

    $token = $this->get('lexik_jwt_authentication.jwt_manager')->create($user);
    $tokenType = $this->getParameter('jwt_type');
    $expiresIn = $this->getParameter('jwt_token_ttl');
    $date = new \DateTime();
    $date->setTimeZone(new \DateTimeZone('UTC'));
    $date->add(new \DateInterval('PT' . $expiresIn . 'S'));
    $expiresAt = $date->format('Y-m-d\TH:i:s.\0\0\0\Z');


}

entité user

<?php

namespace CoreBundle\Doctrine\Entity\User;

use CoreBundle\Doctrine\Entity\Core\Address;
use CoreBundle\Doctrine\Entity\Core\I18N;
use CoreBundle\Doctrine\Entity\Core\Image;
use CoreBundle\Doctrine\Entity\Categorie\Professional;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use FOS\UserBundle\Model\User as BaseUser;
use JMS\Serializer\Annotation as Serializer;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * User
 * @ORM\Entity
 * @ORM\Table(
 *     name="us_user",
 * )
 * @ORM\Entity(repositoryClass="CoreBundle\Doctrine\Repository\User\UserRepository")
 */
class User extends BaseUser
{


    /**
     * @var string
     * @ORM\Id
     * @ORM\Column(name="id", type="guid")
     * @ORM\GeneratedValue(strategy="UUID")
     * @Serializer\Groups({"UserList", "UserDetail"})
     */
    protected $id;


    /**
     * @var string
     * @ORM\Column(name="first_name", type="string", length=30, nullable=true)
     * @Serializer\Groups({"UserList", "UserDetail"})
     */
    protected $firstName;



    /**
     * @var string
     * @ORM\Column(name="last_name", type="string", length=30, nullable=true)
     * @Serializer\Groups({"UserList", "UserDetail"})
     */
    protected $lastName;





    /**
     * @var string
     * @ORM\Column(name="phone", type="string", length=15, nullable=true)
     * @Serializer\Groups({"UserList", "UserDetail"})
     */
    protected $phone;

    /**
     * @var Address
     * @ORM\OneToOne(targetEntity="CoreBundle\Doctrine\Entity\Core\Address", cascade={"persist"})
     * @ORM\JoinColumn(name="address_id", referencedColumnName="id", nullable=true)
     * @Assert\Valid()
     * @Serializer\Groups({"AddressList", "AddressDetail"})
     */
    protected $address;

    /**
     * @var string
     * @ORM\Column(name="password_token", type="string", length=180, nullable=true)
     */
    protected $passwordToken;










    /**
     * Get first name
     * @return string
     */
    public function getFirstName()
    {
        return $this->firstName;
    }

    /**
     * Set first name
     * @param string $firstName
     */
    public function setFirstName($firstName)
    {
        $this->firstName = $firstName;
    }

    /**
     * Get last name
     * @return string
     */
    public function getLastName()
    {
        return $this->lastName;
    }

    /**
     * Set last name
     * @param string $lastName
     */
    public function setLastName($lastName)
    {
        $this->lastName = $lastName;
    }





    /**
     * Get phone
     * @return string
     */
    public function getPhone()
    {
        return $this->phone;
    }

    /**
     * Set phone
     * @param string $phone
     */
    public function setPhone($phone)
    {
        $this->phone = $phone;
    }

    /**
     * Get address
     * @return Address
     */
    public function getAddress()
    {
        return $this->address;
    }

    /**
     * Set address
     * @param Address $address
     */
    public function setAddress($address)
    {
        $this->address = $address;
    }






    /**
     * @return string
     */
    public function getEmail()
    {
        return $this->email;
    }

    /**
     * @param string $email
     */
    public function setEmail( $email)
    {
        $this->email = $email;
    }

    /**
     * @return string
     */
    public function getPasswordToken()
    {
        return $this->passwordToken;
    }

    /**
     * @param string $passwordToken
     */
    public function setPasswordToken(string $passwordToken = null)
    {
        $this->passwordToken = $passwordToken;
    }






}

Pouvez-vous m'aider s'il vous plaît

Comment écrire une QueryBuilder ?

$
0
0

Bonjour les amis,

Voici mon problème.

J'ai une entité Groupe (qui représentent les groupes, une entité User (qui représentent les utilisateurs membres des groupes)

Dans un groupe on peut avoir plusieurs utilisateurs différents.

De même un utilisateur peut se retrouver dans plusieurs groupes différents.

Ainsi j'ai une relation ManyToMany entre les entités Groupe et User

Sachant que c'est l'entité Groupe qui est propriétaire de la relation.

Maintenant je veux pouvoir récupérer les groupes qui

On la propriété categorie = personnelle
Et où l'utilisateur courant en fait parti

Ainsi dans le fichier GroupeRepository j'ai créé la méthode suivante :

    public function userWithGroupesPerso($id_user_courant, $categorie)
    {
        return $this->createQueryBuilder('g')
            ->Where('g.categorie = :categorie')
            ->setParameter('categorie', $categorie)
            ->addSelect('g.user = :user')
            ->setParameter('user', $id_user_courant)
            ->andWhere('user MEMBER OF g.users')
            ->getQuery()
            ->getResult()
        ;
    }

Et c'est là qu'est le problème, symfony me dit que la méthode n'est pas correcte.

Dans le controller j'ai la méthode suivante

    public function mesGroupesPerso($id_profil){

        $id_user_courant = $this->getUser()->getId();

        $categorie = 'personnelle';

        $idProfilInvite = $id_profil;

        $groupesPerso = $this->getDoctrine()->getRepository(Groupe::class)->userWithGroupesPerso($id_user_courant, $categorie);

        return $this->render('groupe/mes_groupes_perso.html.twig',
            [
                'groupes_perso' => $groupesPerso,
                'invite' => $idProfilInvite
            ]
        );

    }

Comment dois-je procéder pour écrire correctement ma QueryBuilder dans mon Repository ?

Comment envoyer deux paramètres dans le contoller depuis la vue ?

$
0
0

Bonjour les amis,

Je viens à vous car j'ai un petit problème dont je ne comprend pas l'origine.

J'ai une vue à qui qui un bouton qui pointe vers une méthode à laquelle le bouton lui passe 2 paramètres (à la ligne 15)

{% extends "base.html.twig" %}
{% block body %} 
    <h1 class="mt-4">Choisissez le groupe auquel vous voulez inviter</h1>
    <div class="text-center">
    <div class="row mt-4 text-center">
        {% for groupe in groupes_perso %}
            <div class="col-md-4">
            <div class="card mt-2" style="width: 18rem;">
                <img src="{{asset('home/Infermiere_africaine.jpg')}}" class="card-img-top" alt="...">
                <div class="card-body">
                    <h5 class="card-title">{{groupe.nom}}</h5>
                    <p>Nombre de membres : 6</p>
                    <p>Id n° {{groupe.id}}</p>
                    <a href="{{path('envoie_invitation_groupe', {'id_groupe': groupe.id, 'invite': invite})}}" class="btn btn-success">Inviter</a>
                </div>
                </div>
            </div>
        {% endfor %}
    </div>
    </div>
{% endblock %}

Une fois dans le controller, la méthode qui est associé à la route "envoie_invitation_groupe", je dois pouvoir récupérer deux paramètres
id_groupe et id_invite

Voici le code du controller

/**
 * Cette méthode envoie l'invitation à rejoindre le groupe.
 *
 * @Route("/envoie_invitation_groupe/{id_invite, id_groupe}", name="envoie_invitation_groupe")
 *
 */
public function envoieInvitationGroupe($id_invite, $id_groupe){
    $idInvite = $id_invite;
    $invite = $this->getDoctrine()->getRepository(User::class)->find($idInvite);

    $idGroupe = $id_groupe;
    $groupe = $this->getDoctrine()->getRepository(Groupe::class)->find($idGroupe);

    $invitation = new InvitationGroupe();

    $em = $this->getDoctrine()->getManager();
    $invitation
                ->setInvitationDe($this->getUser())
                ->setInvitationPour($invite)
                ->setAccepte(false)
                ->setBloque(false)
                ->setGroupe($groupe);
    $em->persist($invitation);
    $em->flush();
    return $this->redirectToRoute('profils');
}

Comment je fais pour envoyer 2 paramètres aux controller et les récupérer ?

Symfony me renvoie cette erreur

Controller "App\Controller\User\AdminUserGroupeController::envoieInvitationGroupe()" requires that you provide a value for the "$id_invite" argument. Either the argument is nullable and no null value has been provided, no default value has been provided or because there is a non optional argument after this one.

Login symfony 4 sans erreur et je n'arrive pas a me loger

$
0
0

Bonjour à tous j'ai crée un login avec symfony 4, hier tous marcher bien, mai smaintenant ça ne marche pas et je n'ai même pas d'erreur pour voir d'ou est ce que ça viens :(
quelqu'un aurai déjà eu ce problème ?

code login.html.twig

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

{% block stylesheets %}
    {{ encore_entry_link_tags('login') }}
{% endblock %}

{% block body %}
    <div class="container-fluid login-page">
        <div class="container">
            <div class="row">
                <div class="col-md-4"></div>
                <div class="col-md-4" style="margin-top: 8cm">
                    <form method="post">
                        {% if error %}
                            <div class="alert alert-danger">{{ error.messageKey|trans(error.messageData, 'security') }}</div>
                        {% endif %}
                        <div class="card">
                            <div class="card-header text-center">
                                <h3 class="text-white">{{ 'label.login'|trans }}</h3>
                            </div>
                            <div class="card-body">
                                <div class="input-group form-group">
                                    <div class="input-group-prepend">
                                        <span class="input-group-text text-white"><i class="far fa-user"></i></span>
                                    </div>
                                    <input type="email" name="email" class="form-control" placeholder="{{ 'label_identifiant'|trans }}" value="{{ last_username }}" required autofocus>

                                </div>
                                <div class="input-group form-group">
                                    <div class="input-group-prepend">
                                        <span class="input-group-text text-white"><i class="fas fa-key"></i></span>
                                    </div>
                                    <input name="password" type="password" class="form-control" placeholder="{{ 'label_password'|trans }}" required>
                                </div>
                                <div class="row align-items-center remember">
                                    <input type="checkbox" name="_remember_me">Remember Me
                                </div>
                                <input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}">
                                <div class="form-group">
                                    <input type="submit" value="{{ 'label.login'|trans }}" class="btn btn-info float-right">
                                </div>
                            </div>
                            <div class="card-footer">
                                <div class="d-flex justify-content-center">
                                    <a href="#" class="text-white">{{ 'forgot_password'|trans }}</a>
                                </div>
                            </div>
                        </div>
                    </form>
                </div>
                <div class="col-md-4"></div>
            </div>
        </div>
    </div>
{% endblock %}

{% block javascript %}
{{ encore_entry_script_tags('login') }}
{% endblock %}

Security controller :

<?php


namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;

class SecurityController extends AbstractController
{
    /**
     * @Route("/login", name="app_login")
     * @param AuthenticationUtils $authenticationUtils
     * @return Response
     */
    public function login(AuthenticationUtils $authenticationUtils): Response
    {
        // get the login error if there is one
        $error = $authenticationUtils->getLastAuthenticationError();
        // last username entered by the user
        $lastUsername = $authenticationUtils->getLastUsername();

        return $this->render('admin/security/login.html.twig', [
            'last_username' => $lastUsername,
            'error' => $error,
        ]);
    }
}

Login Form Authenticator

<?php

namespace App\Security;

use App\Entity\Users;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\RouterInterface;
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
use Symfony\Component\Security\Core\Exception\CustomUserMessageAuthenticationException;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
use Symfony\Component\Security\Core\Exception\DisabledException;
use Symfony\Component\Security\Core\Exception\InvalidCsrfTokenException;
use Symfony\Component\Security\Core\Security;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Security\Core\User\UserProviderInterface;
use Symfony\Component\Security\Csrf\CsrfToken;
use Symfony\Component\Security\Csrf\CsrfTokenManagerInterface;
use Symfony\Component\Security\Guard\Authenticator\AbstractFormLoginAuthenticator;
use Symfony\Component\Security\Http\Util\TargetPathTrait;
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;

/**
 * Class LoginFormAuthenticator
 *
 * @package App\Security
 *
 */
class LoginFormAuthenticator extends AbstractFormLoginAuthenticator
{
    use TargetPathTrait;

    private $entityManager;

    private $router;

    private $csrfTokenManager;

    private $passwordEncoder;

    private $authorizationChecker;

    /**
     * LoginFormAuthenticator constructor.
     *
     * @param EntityManagerInterface        $entityManager
     * @param RouterInterface               $router
     * @param CsrfTokenManagerInterface     $csrfTokenManager
     * @param UserPasswordEncoderInterface  $passwordEncoder
     * @param AuthorizationCheckerInterface $authorizationChecker
     */
    public function __construct(
        EntityManagerInterface $entityManager,
        RouterInterface $router,
        CsrfTokenManagerInterface $csrfTokenManager,
        UserPasswordEncoderInterface $passwordEncoder,
        AuthorizationCheckerInterface $authorizationChecker
    ) {
        $this->entityManager = $entityManager;
        $this->router = $router;
        $this->csrfTokenManager = $csrfTokenManager;
        $this->passwordEncoder = $passwordEncoder;
        $this->authorizationChecker = $authorizationChecker;
    }

    /**
     * {@inheritdoc}
     */
    public function supports(Request $request)
    {
        return 'app_login' === $request->attributes->get('_route')
               && $request->isMethod('POST');
    }

    /**
     * {@inheritdoc}
     */
    public function getCredentials(Request $request)
    {
        $credentials = [
            'email'      => strtolower($request->request->get('email')),
            'password'   => $request->request->get('password'),
            'csrf_token' => $request->request->get('_csrf_token'),
        ];
        $request->getSession()->set(
            Security::LAST_USERNAME,
            $credentials['email']
        );

        return $credentials;
    }

    /**
     * {@inheritdoc}
     */
    public function getUser($credentials, UserProviderInterface $userProvider)
    {
        $token = new CsrfToken('authenticate', $credentials['csrf_token']);
        if (!$this->csrfTokenManager->isTokenValid($token)) {
            throw new InvalidCsrfTokenException();
        }

        $user = $this->entityManager->getRepository(Users::class)->findOneBy(['email' => $credentials['email']]);

        if (!$user) {
            // fail authentication with a custom error
            throw new CustomUserMessageAuthenticationException('error.invalid_user_account');
        }

        // user disabled
        if (!$user->isEnabled()) {
            throw new CustomUserMessageAuthenticationException('error.account_disabled');
        }

        return $user;
    }

    /**
     * {@inheritdoc}
     */
    public function checkCredentials($credentials, UserInterface $user)
    {
        return $this->passwordEncoder->isPasswordValid($user, $credentials['password']);
    }

    /**
     * {@inheritdoc}
     */
    public function onAuthenticationSuccess(Request $request, TokenInterface $token, $providerKey)
    {
        if ($targetPath = $this->getTargetPath($request->getSession(), $providerKey)) {
            return new RedirectResponse($targetPath);
        }

        $urlName = $this->authorizationChecker->isGranted(Users::ROLE_ADMIN) ? 'admin_index' : 'index_front';
//            : ($this->authorizationChecker->isGranted(Users::ROLE_CHEF_RESEAUX) ? 'app_login' : '');

        return new RedirectResponse($this->router->generate($urlName));
    }

    /**
     * {@inheritdoc}
     */
    protected function getLoginUrl()
    {
        return $this->router->generate('app_login');
    }
}

mon fichier .env est bien configurer vu que je peux executer mes fixtures


Récupérer un parametre dans twig

$
0
0

Bonjour,

Pour une application spécifique, j'ai besoin de parametres differents en prod et dev.
J'ai donc indiqué ces paramétres dans les fichiers dev/services.yaml et prod/services.yaml pour avoir les bons parametres en fonction de l'environnement

parameters:
  app.parametre: xxx

Je parviens bien a récupérer ce parametre dans mes controller grâce à ceci :

$this->getParameter('app.parametre')

Sauriez-vous s'il est possble de récupérer ce paramétre directement dans twig ?
J'arrive bien sûr à le transmettre du controller à la vue twig, mais je suis obligé de le faire pour chaque route. J'ai besoin de ces parametres dans toutes mes vues.
J'aurais aimé pouvoir y accéder directement dans twig sans avoir à les transmettres à chaque fois.
Je n'ai pas retrouvé mon parametre dans la variable app.

Merci d'avnce.

[Symfony 4] Confirmation paiement Stripe ?

$
0
0

Bonjour,

Voilà je suis en train de développer la partie paiement d'un site qui va permettre la réservation de véhicule et qui sera en Symfony 4. Le moyen de paiement que nous avons décidé de choisir pour notre site est Stripe.

J'ai découvert Stripe comme moyen de paiement il y a peu, j'ai réussi à l'intégrer à mon site de test qui est en local avant de l'intégré pleinement à notre site. Mais je me pose quand même une question est-ce qu'il existe un moyen quand on exécute un paiement d'avoir l'ouverture d'une nouvelle fenêtre (ou bien onglet) qui indique à la personne si le paiement a été accepté et traité ou bien si son paiement a été refusé ?

Merci d'avance.

ouvrir modal depuis page differente

$
0
0

Bonjour,

je souhaiterais ouvrir une modal depuis une vue differente

Ce que je fais

ici mon bouton sur dashboard.html.twig

<div class="btn-modal-indiv" style="height: 250px">
        <button class="btn btn-primary btn-lg" id ="quizz-psycho" style="margin-left: 350px;margin-top:100px;" href="" aria-disabled="true"
            data-toggle="modal" data-target="#myModal-Psychologique">Commencez
            le questionnaire Psychologique?
        </button>
    </div>

je veux que au click je soit rediriger sur une autre page ou se trouve la modale et qu'elle s’ouvre automatiquement

Merci de m'aider

Bon en attendant j'ai fais cela ca fonctionne mais le proleme si je recharge la page la fonction est toujours présente donc le modal est de nouveau chargé..

$("#quizz-psycho").on("click", function () {
            location.href = "/userslp/eco-profile";
        });

        var showModel = 1;
        if (showModel == 1) {
            $('#myModal-Psychologique').modal('show');
        }

dois-je passer par une route?

[Missing value for primary key]

$
0
0

Bonjour,

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

J'ai 2 entités avec une relation ManytoOne : EgwPrestation <-- EgwAddressbook

Le problème est apparu à partir de versions supérieures à 2.1 : quand je manipule les données (repository de EgwPrestation), j'ai le message suivant :

****Uncaught PHP Exception Doctrine\Common\Proxy\Exception\OutOfBoundsException: "Missing value for primary key addressbookId on Lea\PrestaBundle\Entity\EgwAddressbook" at /htdocs/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/OutOfBoundsException.php line 40

<?php

namespace Lea\PrestaBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;

use Doctrine\ORM\Mapping as ORM;

/**
 * Lea\PrestaBundle\Entity\EgwAddressbook
 *
 * @ORM\Table(name="egw_addressbook")
 * @ORM\Entity(repositoryClass="Lea\PrestaBundle\Entity\EgwAddressbookRepository")
 */
class EgwAddressbook
{
    /**
     * @var integer $addressbookId
     *
     * @ORM\Column(name="addressbook_id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $addressbookId;

    /**
     * @var string $contactId
     *
     * @ORM\Column(name="contact_id", type="integer", nullable=true)
     */
    private $contactId;
    ETC....ETC...

Voici mon entité EgwPrestation :

/**
 * @ORM\ManyToOne(targetEntity="EgwAddressbook", inversedBy="prestationsP")
 * @ORM\JoinColumn(name="id_contact_prescripteur", referencedColumnName="contact_id")
 */
    private $contactPr;

Je cherche depuis plusieurs jours déjà, sur plusieurs sites.

Merci pour votre aide.

Form : champs option vide

$
0
0

Bonjour,

Je dois afficher une dropdown à partir d'un** query_builder** dans un form

Voici le code dans le Form :



$builder->add('dispositif', EntityType::class, array(
            'class'     => 'LeaPrestaBundle:EgwDispositif', 
            'label'     => 'nomDispositif',
            'required'  => true,
            'empty_data' => null,
            'query_builder' => function( $er) 
            {
            return $er->createQueryBuilder('d')
            ->where('d.isActive = :isActive')
            ->setParameter('isActive', 1 )
            ->orderBy('d.nomDispositif','ASC');
            },
        ));

Le problème est que le champs "NomDispositif", n'est pas affiché dans la dropdown , mais seulement la clé de chaque valeur ramenée :

<select id="egw_presta_dispositif" name="egw_presta[dispositif]">
<option value="52"></option>
<option value="55"></option>
<option value="62"></option>
<option value="58"></option>
</select>

A côté du 52, par exemple, dans l'option il doit y avoir un nom de dispositif..

Avez-vous une idée ? Est-ce que celà peut venir de l'entité elle-même ?

Merci pour votre aide !

Viewing all 1542 articles
Browse latest View live