IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ruby on Rails Discussion :

Intervalle de dates


Sujet :

Ruby on Rails

  1. #1
    Membre expérimenté
    Homme Profil pro
    Recherche du travail
    Inscrit en
    Août 2004
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Recherche du travail

    Informations forums :
    Inscription : Août 2004
    Messages : 561
    Points : 1 320
    Points
    1 320
    Par défaut Intervalle de dates
    Bonjour,

    Je crée un site de réservation avec rails 3.1. Une table contient les dates de réservation avec comme colonne "debut" et "fin" de type datetime.

    Je souhaite créer une validation pour chaque nouvelle réservation. Or toutes mes essaies pour avoir la bonne requêtes sont un échec.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class BusyUnique < ActiveModel::Validator
        def validate(record)
            if Busy.where("REQUETE", record.debut, record.debut) != 0
                record.errors[:base] << "Date deja occuper"
            end
        end
    end
     
    class Busy < ActiveRecord::Base
        validates :debut, :presence => true
        validates :fin, :presence => true
        validates_with BusyUnique
    end
    Avoir un regard neutre sur notre vie dénuée de sens, c'est la voir tel un ignorant
    ------------------------------------------------------------------------------------------------------

  2. #2
    Membre expérimenté
    Homme Profil pro
    Recherche du travail
    Inscrit en
    Août 2004
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Recherche du travail

    Informations forums :
    Inscription : Août 2004
    Messages : 561
    Points : 1 320
    Points
    1 320
    Par défaut
    J'ai trouvé la solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    class BusyUnique < ActiveModel::Validator
        def validate(record)
            if record.date_at < DateTime.now
                record.errors.add :date_at, (" dans le passe")
            end
     
            if record.date_at > record.date_to
                record.errors.add :date_at, (" rang incorrect")
            end
     
            if record.new_record?
                if Busy.where("(? between date_at and date_to) OR (? between date_at and date_to) OR (date_at BETWEEN ? AND ?) OR (date_to BETWEEN ? AND ?)", record.date_at, record.date_to, record.date_at, record.date_to, record.date_at, record.date_to).exists?
                    record.errors.add :date_at, (" est deja reserver")
                end
            end
        end
    end
    Avoir un regard neutre sur notre vie dénuée de sens, c'est la voir tel un ignorant
    ------------------------------------------------------------------------------------------------------

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VB .Net: les intervalles de dates dans ACCESS ?
    Par AzertyH dans le forum Windows Forms
    Réponses: 10
    Dernier message: 15/05/2006, 09h35
  2. [debutant] Intervalles de dates
    Par dormouse dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 29/03/2006, 19h48
  3. calculer un intervalle de dates
    Par vodevil dans le forum Modules
    Réponses: 3
    Dernier message: 16/01/2006, 20h04
  4. Intervalle de Dates
    Par Philofish dans le forum Langage SQL
    Réponses: 6
    Dernier message: 06/09/2005, 11h02
  5. selection intervalle de dates
    Par jax69 dans le forum Access
    Réponses: 2
    Dernier message: 22/06/2005, 13h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo