Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/11/2011, 18h52   #1
Invité de passage
 
Homme Sullivan SENECHAL
Étudiant
Inscription : novembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Nom : Homme Sullivan SENECHAL
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2011
Messages : 7
Points : 1
Points : 1
Par défaut sfWidgetFormDateRange et Doctrine

Bonsoir tout le monde,

Je suis en train de me battre depuis pas mal d'heures avec le sfWidgetFormDateRange ainsi que son ami le validateur, et j'ai besoin de votre aide...

J'ai une classe Doctrine Absence qui ce compose de cette facon:
Code yaml :
1
2
3
4
5
6
7
8
Absence:
  columns:
    resident_id: {type: integer, notnull: true}
    why: {type: string(255), default: NULL}
    begin_at: {type: date, notnull: true}
    end_at: {type: date, notnull: true}
  relations:
    Resident: {local: resident_id, type: one, foreign: id, foreignAlias: Absences, foreignType: many, onDelete: CASCADE}

Comme vous le remarquez, j'ai une date de debut et de fin, ce qui équivaut a un dateRange!

De ce fait, a la place des champs begin_at et end_at, je fais un champ 'range' de cette facon:

Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        $this->widgetSchema['range'] = new sfWidgetFormDateRange(array(
            'label'         => 'période',
            'from_date'     => new sfWidgetFormDate(),
            'to_date'       => new sfWidgetFormDate(),
            'from_field'    => 'begin_at',
            'to_field'      => 'end_at',
            'template'      => 'du %from_date% <br/> au %to_date%'
        ));
 
        $this->validatorSchema['range'] = new sfValidatorAbsenceRange(
                array(
                    'from_date' => new sfValidatorDate(),
                    'to_date'   => new sfValidatorDate(),
                ),
                array(
                    'invalid'   => 'la date de début doit être inferieur à la date de fin'
                )
        );

Cela fonctionne a part pour un point (et d'autres mes c'est une autre histoire!), quand j’édite une absence existante, les dates de début et fin ne sont pas preremplis dans le formulaire!

Je suppose que c'est du au nom du champ qui n'est plus le même (range_from / range_to), mais j'ai beau google it, je ne trouve pas de solution...

Si quelqu'un a la solution ou un exemple complet de A-Z me montrant comment me servir de ce truc, je suis preneur!

Voila voila j'ai tout dis, ouf! Ça soulage.

Merci d'avance!

Sullivan
Soullivaneuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h21.


 
 
 
 
Partenaires

Hébergement Web