iro/model/schema.py
branchdevel
changeset 150 c6896c3374c4
parent 148 11e0fdc1a58c
child 153 0e50d10c8b6c
equal deleted inserted replaced
149:bb3e16224bbd 150:c6896c3374c4
   117             filters.append(Userright.isDefault==isDefault)
   117             filters.append(Userright.isDefault==isDefault)
   118         return object_session(self).query(Offer.provider).join(Userright,User).filter(and_(*filters))
   118         return object_session(self).query(Offer.provider).join(Userright,User).filter(and_(*filters))
   119 
   119 
   120     def has_right(self, typ, offer_name = None, provider = None, route = None):
   120     def has_right(self, typ, offer_name = None, provider = None, route = None):
   121         '''returns offer_name, if the user is allowed to use offer otherwise None
   121         '''returns offer_name, if the user is allowed to use offer otherwise None
   122             !if there are more than one possible solution it only returns the first!'''
   122            ->raise sqlalchemy.orm.exc.MultipleResultsFound if not a single offer match'''
   123         filters=[User.name == self.name,
   123         filters=[User.name == self.name,
   124                 Offer.typ == typ, 
   124                 Offer.typ == typ, 
   125                 ]
   125                 ]
   126         if offer_name:
   126         if offer_name:
   127             filters.append(Userright.offer_name==offer_name)
   127             filters.append(Userright.offer_name==offer_name)