Hi all,
I have tried django before and I want to give a try to web2py because it 
looks more language natural, but I run into a problem (sorry if my question 
is stupid) :
in db.py :
########################

db.define_table('destinataire',
                Field 
<http://127.0.0.1:8000/examples/global/vars/Field>('email', unique=True, 
required=True, length=30),
                Field <http://127.0.0.1:8000/examples/global/vars/Field>('nom', 
length=30),
                Field 
<http://127.0.0.1:8000/examples/global/vars/Field>('prenom', length=30),
                Field 
<http://127.0.0.1:8000/examples/global/vars/Field>('entreprise', length=30),
                Field <http://127.0.0.1:8000/examples/global/vars/Field>('fax', 
length=10),
                format = '%(email)s')

db.define_table('mailinglist',
                Field <http://127.0.0.1:8000/examples/global/vars/Field>('nom', 
unique=True, required=True, length=30),
                Field 
<http://127.0.0.1:8000/examples/global/vars/Field>('description', 
required=True, length=150),
                Field 
<http://127.0.0.1:8000/examples/global/vars/Field>('declencheur', 
required=True, length=30),
                Field 
<http://127.0.0.1:8000/examples/global/vars/Field>('public', 'boolean'),
                format = '%(nom)s')

db.define_table('abonnement',
                Field 
<http://127.0.0.1:8000/examples/global/vars/Field>('destinataire_id', 
db.destinataire),
                Field 
<http://127.0.0.1:8000/examples/global/vars/Field>('mailinglist_id', 
db.mailinglist)
                )

db.destinataire.email.requires = IS_NOT_IN_DB 
<http://127.0.0.1:8000/examples/global/vars/IS_NOT_IN_DB>(db, 
db.destinataire.email)
db.destinataire.email.requires = IS_EMAIL 
<http://127.0.0.1:8000/examples/global/vars/IS_EMAIL>()
db.destinataire.email.requires = IS_NOT_EMPTY 
<http://127.0.0.1:8000/examples/global/vars/IS_NOT_EMPTY>()

db.mailinglist.nom.requires = IS_NOT_IN_DB 
<http://127.0.0.1:8000/examples/global/vars/IS_NOT_IN_DB>(db, 
db.mailinglist.nom)
db.mailinglist.nom.requires = IS_NOT_EMPTY 
<http://127.0.0.1:8000/examples/global/vars/IS_NOT_EMPTY>()
db.mailinglist.description.requires = IS_NOT_EMPTY 
<http://127.0.0.1:8000/examples/global/vars/IS_NOT_EMPTY>()
db.mailinglist.declencheur.requires = IS_NOT_EMPTY 
<http://127.0.0.1:8000/examples/global/vars/IS_NOT_EMPTY>()

#l'abonnement d'un destinataire à une mailinglist doit être unique
#tiré de http://osdir.com/ml/web2py/2010-07/msg01889.html
db.abonnement.destinataire_id.requires = IS_IN_DB 
<http://127.0.0.1:8000/examples/global/vars/IS_IN_DB>(db, 'destinataire.id', 
'%(email)s',
    _and=IS_NOT_IN_DB 
<http://127.0.0.1:8000/examples/global/vars/IS_NOT_IN_DB>(db(db.abonnement.mailinglist_id==request
 <http://127.0.0.1:8000/examples/global/vars/request>.vars.mailinglist_id), 
'abonnement.destinataire_id'))

########################

As described, a "destinataire" can make multiple subscriptions "abonnement" to 
"mailinglist", and a mailinglist have multiple subscribers.

I don't understand how to give a user the possibility to make a subscription to 
multiple mailinglists in one form like :

enter email : _____

select mailinglists : 

ml1 X

ml2 X

ml3 .

where the user select each mailinglist he wants to subscribe with a checkbox.

Thanks for any help

-- 



Reply via email to