def get_existing_webapp_hnmm_user(return_as_dict=False): query = keep_only_webapp_users(User.query) query = query.filter(User.email.contains('93.has-no-more-money')) user = query.first() if return_as_dict == False: return user return {"user": get_user_helper(user)}
def get_existing_pro_validated_user_with_validated_offerer_with_booking(): query = Booking.query.join(Stock) \ .join(Offer) \ .join(Venue) \ .join(Offerer) \ .join(UserOfferer) \ .filter( (Offerer.validationToken == None) & \ (UserOfferer.validationToken == None) ) \ .join(User) \ .filter(User.validationToken == None) booking = query.first() stock = booking.stock offer = stock.offer venue = offer.venue offerer = venue.managingOfferer user = [ uo.user for uo in offerer.UserOfferers if uo.user.validationToken == None ][0] return { "booking": get_booking_helper(booking), "offer": get_offer_helper(offer), "offerer": get_offerer_helper(offerer), "stock": get_stock_helper(stock), "user": get_user_helper(user), "venue": get_venue_helper(venue) }
def get_existing_pro_validated_user_with_validated_offerer_with_validated_user_offerer_with_thing_offer_with_stock_with_not_used_booking( ): query = User.query.filter(User.validationToken == None) query = filter_users_with_at_least_one_validated_offerer_validated_user_offerer( query) query = query.join(Venue) \ .filter(Venue.offers.any(~Offer.stocks.any())) query = query.join(Offer) \ .join(Stock) \ .filter(Stock.bookings.any(Booking.isUsed == False)) user = query.first() for uo in user.UserOfferers: if uo.validationToken == None \ and uo.offerer.validationToken == None: for venue in uo.offerer.managedVenues: for offer in venue.offers: if offer.isThing: for stock in offer.stocks: if stock.bookings: for booking in stock.bookings: if not booking.isUsed: return { "booking": get_booking_helper(booking), "offer": get_offer_helper(offer), "offerer": get_offerer_helper(uo.offerer), "user": get_user_helper(user), "venue": get_venue_helper(venue) }
def get_existing_webapp_validated_user_with_has_filled_cultural_survey(): query = keep_only_webapp_users(User.query) query = query.filter_by(needsToFillCulturalSurvey=False, resetPasswordToken=None) user = query.first() return {"user": get_user_helper(user)}
def get_existing_pro_validated_user_with_not_validated_offerer_validated_user_offerer_and_validated_offerer_not_validated_user_offerer_and_validated_offerer_validated_user_offerer(): query = User.query.filter(User.validationToken == None) first_query = filter_users_with_at_least_one_not_validated_offerer_validated_user_offerer(query) second_query = filter_users_with_at_least_one_validated_offerer_not_validated_user_offerer(query) third_query = filter_users_with_at_least_one_validated_offerer_validated_user_offerer(query) query = first_query.intersect_all(second_query, third_query) user = query.first() not_validated_offerer = [ uo.offerer for uo in user.UserOfferers if uo.offerer.validationToken != None \ and uo.validationToken == None ][0] validated_offerer_with_not_validated_user_offerer = [ uo.offerer for uo in user.UserOfferers if uo.offerer.validationToken == None \ and uo.validationToken != None ][0] validated_offerer_with_validated_user_offerer = [ uo.offerer for uo in user.UserOfferers if uo.offerer.validationToken == None \ and uo.validationToken == None ][0] return { "notValidatedOfferer": get_offerer_helper(not_validated_offerer), "offerersCount": len(user.UserOfferers), "user": get_user_helper(user), "validatedOffererWithNotValidatedUserOfferer": get_offerer_helper(validated_offerer_with_not_validated_user_offerer), "validatedOffererWithValidatedUserOfferer": get_offerer_helper(validated_offerer_with_validated_user_offerer) }
def get_existing_webapp_user_with_bookings(): query = keep_only_webapp_users(User.query) query = query.filter(User.email.contains('93.has-booked-some')) user = query.first() return { "user": get_user_helper(user) }
def get_existing_pro_validated_user_with_validated_offerer_with_iban_validated_user_offerer_with_event_offer_with_stock( ): query = User.query.filter(User.validationToken == None) query = filter_users_with_at_least_one_validated_offerer_validated_user_offerer( query) query = query.join(BankInformation) query = query.join(Venue, Venue.managingOffererId == Offerer.id) \ .join(Offer) \ .join(Stock) \ .filter((Stock.beginningDatetime != None) & (Stock.endDatetime != None)) user = query.first() for uo in user.UserOfferers: if uo.validationToken == None \ and uo.offerer.validationToken == None \ and uo.offerer.iban: for venue in uo.offerer.managedVenues: for offer in venue.offers: if offer.isEvent \ and offer.stocks: for stock in offer.stocks: if stock.beginningDatetime and stock.endDatetime: return { "offer": get_offer_helper(offer), "offerer": get_offerer_helper(uo.offerer), "stock": get_stock_helper(stock), "user": get_user_helper(user), "venue": get_venue_helper(venue) }
def get_existing_pro_validated_user_with_validated_offerer_with_iban_validated_user_offerer_with_thing_offer_with_stock( ): query = User.query.filter(User.validationToken == None) query = filter_users_with_at_least_one_validated_offerer_validated_user_offerer( query) query = query.join(BankInformation) query = query.join(Venue, Venue.managingOffererId == Offerer.id) \ .join(Offer) \ .join(Offer.stocks) user = query.first() for uo in user.UserOfferers: if uo.validationToken == None \ and uo.offerer.validationToken == None \ and uo.offerer.iban: for venue in uo.offerer.managedVenues: for offer in venue.offers: if offer.isThing and offer.stocks and offer.isEditable: return { "offer": get_offer_helper(offer), "offerer": get_offerer_helper(uo.offerer), "stock": get_stock_helper(offer.stocks[0]), "user": get_user_helper(user), "venue": get_venue_helper(venue) }
def get_existing_pro_validated_user_with_validated_offerer_with_iban_validated_user_offerer_with_event_offer_with_no_stock( ): query = User.query.filter(User.validationToken == None) query = filter_users_with_at_least_one_validated_offerer_validated_user_offerer( query) query = query.join(BankInformation) query = query.join(Venue, Venue.managingOffererId == Offerer.id).join(Offer).filter( (Offer.type.in_([str(event_type) for event_type in EventType])) & \ (~Offer.stocks.any()) ) user = query.first() for uo in user.UserOfferers: if uo.validationToken == None \ and uo.offerer.validationToken == None \ and uo.offerer.iban: for venue in uo.offerer.managedVenues: for offer in venue.offers: if offer.isEvent \ and len(offer.stocks) == 0: return { "offer": get_offer_helper(offer), "offerer": get_offerer_helper(uo.offerer), "user": get_user_helper(user), "venue": get_venue_helper(venue) }
def get_existing_pro_validated_user_with_validated_offerer_with_no_iban_validated_user_offerer_with_event_offer( ): query = User.query.filter(User.validationToken == None) query = filter_users_with_at_least_one_validated_offerer_validated_user_offerer( query) query = query.filter(Offerer.bankInformation == None) query = query.join(Venue).join(Offer).filter( Offer.type.in_([str(thing_type) for thing_type in ThingType])) query = query.filter(Venue.isVirtual == False) user = query.first() for uo in user.UserOfferers: if uo.validationToken == None \ and uo.offerer.validationToken == None \ and not uo.offerer.iban: for venue in uo.offerer.managedVenues: if not venue.isVirtual: for offer in venue.offers: if offer.isEvent: return { "offer": get_offer_helper(offer), "offerer": get_offerer_helper(uo.offerer), "user": get_user_helper(user), "venue": get_venue_helper(venue) }
def get_existing_pro_validated_user_with_validated_offerer_with_no_iban_validated_user_offerer_with_thing_offer_with_no_stock( ): query = User.query.filter(User.validationToken == None) query = filter_users_with_at_least_one_validated_offerer_validated_user_offerer( query) query = query.filter(Offerer.bankInformation == None) query = query.join(Venue).filter(Venue.offers.any( (Offer.type.in_([str(thing_type) for thing_type in ThingType])) & \ (~Offer.stocks.any()) )) user = query.first() for uo in user.UserOfferers: if uo.validationToken == None \ and uo.offerer.validationToken == None \ and not uo.offerer.iban: for venue in uo.offerer.managedVenues: for offer in venue.offers: if offer.isThing and len( offer.stocks) == 0 and offer.isEditable: return { "offer": get_offer_helper(offer), "offerer": get_offerer_helper(uo.offerer), "user": get_user_helper(user), "venue": get_venue_helper(venue) }
def get_existing_webapp_user_can_book_multidates(): query = keep_only_webapp_users(User.query) query = query.filter(User.email.contains('97.has-confirmed-activation')) user = query.first() return { "user": get_user_helper(user) }
def get_existing_webapp_user_has_no_more_money(): query = keep_only_webapp_users(User.query) query = query.filter(User.email.contains('has-no-more-money')) user = query.first() return { "user": get_user_helper(user) }
def get_existing_webapp_user_with_bookings(): query = keep_only_webapp_users(User.query) query = query.join(Booking) user = query.first() return { "user": get_user_helper(user) }
def get_pro_validated_no_reset_password_token_user(): query = User.query.filter( (User.validationToken == None) &\ (User.resetPasswordToken == None) ) query = query.join(UserOfferer) user = query.first() return {"user": get_user_helper(user)}
def get_existing_webapp_user_with_at_least_one_recommendation(): query = Recommendation.query.join(User) query = keep_only_webapp_users(query) query = query.reset_joinpoint().join(Offer) recommendation = query.first() return { "user": get_user_helper(recommendation.user), "recommendation": get_recommendation_helper(recommendation) }
def get_existing_pro_validated_user_with_first_offerer(): query = User.query.filter(User.validationToken == None) query = query.join(UserOfferer) user = query.first() offerer = [uo.offerer for uo in user.UserOfferers][0] return { "offerer": get_offerer_helper(offerer), "user": get_user_helper(user) }
def get_existing_pro_user_with_offerer(): query = User.query.join(UserOfferer) user = query.first() offerer = [ uo.offerer for uo in user.UserOfferers ][0] return { "offerer": get_offerer_helper(offerer), "user": get_user_helper(user) }
def get_existing_pro_validated_user_with_validated_offerer_validated_user_offerer(): query = User.query.filter(User.validationToken == None) query = filter_users_with_at_least_one_validated_offerer_validated_user_offerer(query) user = query.first() offerer = [ uo.offerer for uo in user.UserOfferers if uo.validationToken == None \ and uo.offerer.validationToken == None ][0] return { "offerer": get_offerer_helper(offerer), "user": get_user_helper(user) }
def get_existing_pro_validated_user_with_offerer_with_no_iban(): query = User.query.join(UserOfferer) \ .join(Offerer) \ .filter(User.UserOfferers.any(Offerer.bankInformation == None)) query = query.filter(User.validationToken == None) user = query.first() offerer = [ uo.offerer for uo in user.UserOfferers if uo.offerer.iban == None ][0] return { "offerer": get_offerer_helper(offerer), "user": get_user_helper(user) }
def get_existing_pro_validated_user_with_validated_offerer_validated_user_offerer_with_at_least_one_physical_venue(): query = User.query.filter(User.validationToken == None) query = filter_users_with_at_least_one_validated_offerer_validated_user_offerer(query) query = keep_offerers_with_at_least_one_physical_venue(query) user = query.first() for uo in user.UserOfferers: if uo.validationToken == None and uo.offerer.validationToken == None: for venue in uo.offerer.managedVenues: if not venue.isVirtual: return { "offerer": get_offerer_helper(uo.offerer), "user": get_user_helper(user), "venue": get_venue_helper(venue) }
def get_existing_pro_not_validated_user_with_real_offerer(): query = User.query.filter(User.validationToken != None) query = query.join(UserOfferer) \ .join(Offerer) \ .filter(~Offerer.siren.startswith('222')) user = query.first() offerer = [ uo.offerer for uo in user.UserOfferers if not uo.offerer.siren.startswith('222') ][0] return { "offerer": get_offerer_helper(offerer), "user": get_user_helper(user) }
def get_existing_webapp_user_with_no_date_read(): query = keep_only_webapp_users(User.query) query = query.filter_by( needsToFillCulturalSurvey=False, resetPasswordToken=None ) query = query.filter( ~User.recommendations.any( Recommendation.dateRead != None ) ) user = query.first() return { "user": get_user_helper(user), }
def get_existing_pro_validated_user_with_at_least_one_visible_activated_offer( ): query = User.query.filter(User.validationToken == None) query = filter_users_with_at_least_one_validated_offerer_validated_user_offerer( query) query = query.join(Venue).join(Offer).filter(Offer.isActive == True) user = query.first() for uo in user.UserOfferers: if uo.offerer.validationToken == None and uo.validationToken == None: for venue in uo.offerer.managedVenues: for offer in venue.offers: if offer.isActive: return { "offer": get_offer_helper(offer), "user": get_user_helper(user) }
def get_existing_pro_validated_user_with_validated_offerer_validated_user_offerer_no_physical_venue(): query = User.query.filter(User.validationToken == None) query = filter_users_with_at_least_one_validated_offerer_validated_user_offerer(query) query = keep_offerers_with_no_physical_venue(query) user = query.first() offerer = [ uo.offerer for uo in user.UserOfferers if uo.offerer.validationToken == None \ and uo.validationToken == None \ and all([v.isVirtual for v in uo.offerer.managedVenues]) ][0] return { "offerer": get_offerer_helper(offerer), "user": get_user_helper(user) }
def get_existing_pro_validated_user_with_at_least_one_visible_offer(): query = User.query.filter(User.validationToken == None) query = filter_users_with_at_least_one_validated_offerer_validated_user_offerer( query) query = query.join(Venue, Venue.managingOffererId == Offerer.id).join(Offer) user = query.first() for uo in user.UserOfferers: if uo.validationToken == None and uo.offerer.validationToken == None: for venue in uo.offerer.managedVenues: if venue.offers: offer = venue.offers[0] return { "offer": get_offer_helper(offer), "user": get_user_helper(user) }
def get_existing_pro_validated_user_with_at_least_one_visible_offer_with_no_mediation( ): query = User.query.filter(User.validationToken == None) query = filter_users_with_at_least_one_validated_offerer_validated_user_offerer( query) query = query.join(Venue) \ .join(Offer) \ .join(Mediation) user = query.first() for uo in user.UserOfferers: if uo.offerer.validationToken == None and uo.validationToken == None: for venue in uo.offerer.managedVenues: for offer in venue.offers: if len(offer.mediations) == 0: return { "offer": get_offer_helper(offer), "user": get_user_helper(user) }
def get_existing_digital_offer_with_active_mediation_already_booked_and_user_hnmm_93( ): offer_with_stock_id_tuples = Offer.query.outerjoin(Product) \ .filter(Offer.mediations.any(Mediation.isActive)) \ .filter(Product.url != None) \ .join(Stock, (Offer.id == Stock.offerId)) \ .add_columns(Stock.id) \ .all() user = get_existing_webapp_hnmm_user() bookings = get_cancellable_bookings_for_user(user) offer = find_offer_compatible_with_bookings(offer_with_stock_id_tuples, bookings) for mediation in offer.mediations: if mediation.isActive: return { "mediation": get_mediation_helper(mediation), "offer": get_offer_helper(offer), "user": get_user_helper(user) }
def get_existing_pro_validated_user_with_validated_offerer_validated_user_offerer_with_event_offer( ): query = User.query.filter(User.validationToken == None) query = filter_users_with_at_least_one_validated_offerer_validated_user_offerer( query) query = query.join(Venue).join(Offer).filter( Offer.type.in_([str(event_type) for event_type in EventType])) user = query.first() for uo in user.UserOfferers: if uo.validationToken == None and uo.offerer.validationToken == None: for venue in uo.offerer.managedVenues: for offer in venue.offers: if offer.isEvent: return { "offer": get_offer_helper(offer), "offerer": get_offerer_helper(uo.offerer), "user": get_user_helper(user), "venue": get_venue_helper(venue) }
def get_existing_event_offer_with_active_mediation_already_booked_but_cancellable_and_user_hnmm_93( ): offer_with_stock_id_tuples = Offer.query \ .filter(Offer.mediations.any(Mediation.isActive)) \ .join(Stock) \ .filter(Stock.beginningDatetime != None) \ .add_columns(Stock.id) \ .all() user = get_existing_webapp_hnmm_user() bookings = get_cancellable_bookings_for_user(user) offer = find_offer_compatible_with_bookings(offer_with_stock_id_tuples, bookings) for mediation in offer.mediations: if mediation.isActive: return { "mediation": get_mediation_helper(mediation), "offer": get_offer_helper(offer), "user": get_user_helper(user) }