db.define_table( 'mail_domain',
Field( 'domainname',
'string',
label = 'Domain név',
requires = IS_NOT_EMPTY()
),
Field( 'enabled',
'boolean',
label = 'Aktív',
default = True,
),
signature,
migrate =
settings.migrate,
)
db.define_table( 'mail_account',
Field( 'username',
'string',
label = 'Felhasználói név',
requires = IS_NOT_EMPTY()
),
Field(
'mail_domain_id', db.mail_domain,
label = 'Domain név',
requires = IS_IN_DB( db, db.mail_domain.id, '%
(domainname)s' ),
writable = False,
),
Field( 'password',
'password',
label = 'Jelszó',
requires = IS_NOT_EMPTY()
),
Field( 'quota',
'string',
label = 'Quota',
requires = IS_NOT_EMPTY()
),
Field( 'enabled',
'boolean',
label = 'Aktív',
default = True,
),
signature,
migrate =
settings.migrate,
)
db.define_table( 'mail_alias',
Field( 'alias',
'string',
label = 'Aliasz',
),
Field(
'mail_account_id', db.mail_account,
label = 'Email cím',
requires = IS_IN_DB( db, db.mail_account.id, "%(username)s@%
(mail_domain_id)s" ),
writable = False,
),
Field( 'enabled',
'boolean',
label = 'Aktív',
default = True,
),
signature,
migrate =
settings.migrate,
)
db.mail_alias.alias.requires = IS_NOT_IN_DB(
db( ( db.mail_account.mail_domain_id == db.mail_domain.id ) & \
( db.mail_domain.domainname == session.domainname ) ),
db.mail_account.username )
Traceback (most recent call last):
File "/home/szimszon/fejlesztes/sajat/web2py/gluon/restricted.py",
line 188, in restricted
exec ccode in environment
File "/home/szimszon/fejlesztes/sajat/web2py/applications/mailadmin/
controllers/default.py", line 219, in <module>
File "/home/szimszon/fejlesztes/sajat/web2py/gluon/globals.py", line
124, in <lambda>
self._caller = lambda f: f()
File "/home/szimszon/fejlesztes/sajat/web2py/gluon/tools.py", line
2331, in f
return action(*a, **b)
File "/home/szimszon/fejlesztes/sajat/web2py/applications/mailadmin/
controllers/default.py", line 194, in alias
deletable = False )
File "/home/szimszon/fejlesztes/sajat/web2py/gluon/tools.py", line
2901, in update
detect_record_change = self.settings.detect_record_change):
File "/home/szimszon/fejlesztes/sajat/web2py/gluon/sqlhtml.py", line
1031, in accepts
hideerror=hideerror,
File "/home/szimszon/fejlesztes/sajat/web2py/gluon/html.py", line
1720, in accepts
status = self._traverse(status,hideerror)
File "/home/szimszon/fejlesztes/sajat/web2py/gluon/html.py", line
716, in _traverse
newstatus = c._traverse(status,hideerror) and newstatus
File "/home/szimszon/fejlesztes/sajat/web2py/gluon/html.py", line
716, in _traverse
newstatus = c._traverse(status,hideerror) and newstatus
File "/home/szimszon/fejlesztes/sajat/web2py/gluon/html.py", line
716, in _traverse
newstatus = c._traverse(status,hideerror) and newstatus
File "/home/szimszon/fejlesztes/sajat/web2py/gluon/html.py", line
716, in _traverse
newstatus = c._traverse(status,hideerror) and newstatus
File "/home/szimszon/fejlesztes/sajat/web2py/gluon/html.py", line
723, in _traverse
newstatus = self._validate()
File "/home/szimszon/fejlesztes/sajat/web2py/gluon/html.py", line
1493, in _validate
(value, errors) = validator(value)
File "/home/szimszon/fejlesztes/sajat/web2py/gluon/validators.py",
line 514, in __call__
elif str(rows[0].id) != str(self.record_id):
File "/home/szimszon/fejlesztes/sajat/web2py/gluon/dal.py", line
3483, in __getattr__
return self[key]
File "/home/szimszon/fejlesztes/sajat/web2py/gluon/dal.py", line
3474, in __getitem__
return dict.__getitem__(self, key)
KeyError: 'id'

