Sync groups stuff with people stuff, fix Groups.by_email_address

This commit is contained in:
Ricky Zhou (周家杰) 2008-03-07 00:28:04 -05:00
parent 61fea46311
commit 6cb61e1f41

View file

@ -314,7 +314,7 @@ class Groups(SABase):
A class method that can be used to search groups A class method that can be used to search groups
based on their email addresses since it is unique. based on their email addresses since it is unique.
''' '''
return cls.query.join(['group_email_purposes', 'group_email']).filter_by(email=email).one() return cls.query.join(['email_purposes', 'group_email']).filter_by(email=email).one()
by_email_address = classmethod(by_email_address) by_email_address = classmethod(by_email_address)
@ -452,13 +452,13 @@ mapper(Groups, GroupsTable, properties = {
'email_purposes': relation(GroupEmailPurposes, backref = 'group', 'email_purposes': relation(GroupEmailPurposes, backref = 'group',
collection_class = column_mapped_collection( collection_class = column_mapped_collection(
GroupEmailPurposesTable.c.purpose)), GroupEmailPurposesTable.c.purpose)),
'group_emails': relation(GroupEmails, backref = 'group',
collection_class = column_mapped_collection(
GroupEmailsTable.c.email)),
'prerequisite': relation(Groups, uselist=False, 'prerequisite': relation(Groups, uselist=False,
primaryjoin = GroupsTable.c.prerequisite_id==GroupsTable.c.id) primaryjoin = GroupsTable.c.prerequisite_id==GroupsTable.c.id)
}) })
mapper(GroupEmails, GroupEmailsTable, properties = { mapper(GroupEmails, GroupEmailsTable)
'group': relation(Groups, backref = 'group_emails', uselist = False,
primaryjoin = GroupsTable.c.id==GroupEmailsTable.c.group_id)
})
mapper(GroupEmailPurposes, GroupEmailPurposesTable, properties = { mapper(GroupEmailPurposes, GroupEmailPurposesTable, properties = {
'group_email': relation(GroupEmails, uselist = False, 'group_email': relation(GroupEmails, uselist = False,
primaryjoin = GroupEmailsTable.c.id==GroupEmailPurposesTable.c.email_id) primaryjoin = GroupEmailsTable.c.id==GroupEmailPurposesTable.c.email_id)