示例#1
0
 def get_all_active_by_passenger(passenger_id):
     options = [joinedload_all('driver.user'),
                joinedload_all('passenger.user')]
     return [expunged(dr, DriveRequest.session)
             for dr in DriveRequest.query.options(*options).
             filter(User.deleted == false()).
             filter(DriveRequest.passenger_id == passenger_id).
             filter(DriveRequest.active == true())]
示例#2
0
 def get_by_id_and_driver_id(id, driver_id):
     options = [joinedload_all('passenger')]
     return expunged(DriveRequest.query.
                     options(*options).
                     filter_by(id=id).
                     filter_by(driver_id=driver_id).
                     filter_by(active=True).
                     first(),
                     DriveRequest.session)
示例#3
0
 def accept(driver_id, passenger_id):
     request = expunged(DriveRequest.query.
                        filter_by(driver_id=driver_id).
                        filter_by(passenger_id=passenger_id).
                        filter_by(accepted=False).
                        filter_by(active=True).first(),
                        DriveRequest.session)
     if request:
         request.accepted = True
     return request
示例#4
0
 def cancel_by_passenger_id(id, passenger_id):
     request = expunged(DriveRequest.query.
                        filter_by(id=id).
                        filter_by(passenger_id=passenger_id).
                        filter_by(active=True).first(),
                        DriveRequest.session)
     if request:
         request.active = False
         request.cancelled = True
     return request
示例#5
0
 def get_unrated_by_driver_id(driver_id, user_id):
     options = [joinedload_all('driver.user'),
                joinedload_all('passenger.user')]
     return [expunged(dr, DriveRequest.session)
             for dr in DriveRequest.query.options(*options).
             filter(DriveRequest.driver_id == driver_id).
             filter(DriveRequest.accepted == true()).
             filter(DriveRequest.cancelled == false()).
             filter(DriveRequest.active == false()).
             filter(Passenger.matched == true()).
             filter(~exists().where(and_(Rate.drive_request_id == DriveRequest.id,
                                         Rate.rater_user_id == user_id)))]
示例#6
0
def get_all_unmatched():
    return [expunged(p, Base.session) for p in _get_all_unmatched()]
示例#7
0
def get_matched_with_requests_by_id(id):
    return expunged(
        _get_matched_by_id(
            id, contains_eager('user'),
            contains_eager('drive_requests')).join(DriveRequest).first(),
        Base.session)
示例#8
0
def get_matched_by_id(id):
    return expunged(
        _get_matched_by_id(id, contains_eager('user')).first(), Base.session)
示例#9
0
def get_all_by_user_id(user_id):
    return [expunged(t, Base.session)
            for t in _get_all_by_user_id(user_id)]
示例#10
0
def get_user_promo_code_by_user_and_promo_code(user_id, promo_code_id):
    return expunged(
        UserPromoCode.query.filter(UserPromoCode.user_id == user_id).filter(
            UserPromoCode.promo_code_id == promo_code_id).first(),
        UserPromoCode.session)
示例#11
0
def with_facebook_id(facebook_id):
    return expunged(_with_facebook_id(facebook_id).first(), User.session)
示例#12
0
def get_all_expired(expire_after):
    return [expunged(p, Base.session) for p in _get_all_expired(expire_after)]
示例#13
0
 def get_all_active():
     return [expunged(dr, DriveRequest.session)
             for dr in DriveRequest.query.
             filter(User.deleted == false()).
             filter(DriveRequest.active == true())]
示例#14
0
def authorized_by(token_id):
    return expunged(_authorized_by(token_id).first(), Base.session)
示例#15
0
def with_acs_id(acs_id):
    return expunged(_with_acs_id(acs_id).first(), User.session)
示例#16
0
def get_all_unmatched_by_region(region):
    return [
        expunged(p, Base.session) for p in _get_all_unmatched_by_region(region)
    ]
示例#17
0
def get_all_active():
    return [expunged(p, Base.session) for p in _get_all_active()]
示例#18
0
def get_promo_code_by_name(name):
    return expunged(
        PromoCode.query.filter(PromoCode.name == name).filter(
            PromoCode.eligible_till >= dt.utcnow()).first(), PromoCode.session)
示例#19
0
 def get(id):
     return expunged(Passenger.query.options(joinedload('user')).\
                             filter(User.deleted == False).\
                             filter(Passenger.id == id).\
                             first(),
                     Passenger.session)
示例#20
0
def get(user_id):
    return expunged(_get(user_id).first(), User.session)