Changeset 334

Show
Ignore:
Timestamp:
04/30/08 19:59:55 (7 months ago)
Author:
johnbywater
Message:

Added register filtering.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/dm/dom/base.py

    r328 r334  
    2828    database = RequiredFeature('DatabaseFacade') 
    2929 
    30     def __init__(self,  
    31         owner=None, ownerName=None, owner2=None,  
    32         ownerName2=None, isCached=False, **kwds 
    33     ): 
     30    def __init__(self, owner=None, ownerName=None, owner2=None, 
     31            ownerName2=None, filter={}, isCached=False, **kwds): 
    3432        self.owner = owner 
    3533        self.ownerName = ownerName 
    3634        self.owner2 = owner2 
    3735        self.ownerName2 = ownerName2 
     36        self.filter = filter 
    3837        self.isCached = isCached 
    3938        if self.isCached: 
     
    350349        if self.owner2 and self.ownerName2: 
    351350            kwds[self.ownerName2] = self.owner2 
     351        for (k, v) in self.filter.items(): 
     352            if k not in kwds: 
     353                kwds[k] = v 
    352354 
    353355    def switchToRecords(self, kwds): 
     
    489491            if keyAttrMeta.isDomainObjectRef: 
    490492                return keyAttrMeta.getAssociatedObjectRegister(None) 
    491         return self.getDomainClass().createRegister() 
     493        return self.clone() 
     494 
     495    def clone(self): 
     496        c = self.getDomainClass().createRegister() 
     497        return c 
    492498 
    493499