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
--