def get_existing_pro_user_with_offerer(): user_offerer = offers_factories.UserOffererFactory( user__validationToken=None, ) return { "offerer": get_offerer_helper(user_offerer.offerer), "user": get_pro_helper(user_offerer.user) }
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 not uo.isValidated or not uo.offerer.isValidated: continue for venue in uo.offerer.managedVenues: for offer in [o for o in venue.offers if o.isThing]: for stock in offer.stocks: for booking in [b for b in stock.bookings if not b.isUsed]: return { "booking": get_booking_helper(booking), "offer": get_offer_helper(offer), "offerer": get_offerer_helper(uo.offerer), "user": get_pro_helper(user), "venue": get_venue_helper(venue), } return None
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_pro_helper(user)}
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( VenueSQLEntity, VenueSQLEntity.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_pro_helper(user), "venue": get_venue_helper(venue), } return None
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( VenueSQLEntity, VenueSQLEntity.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_pro_helper(user), "venue": get_venue_helper(venue), } return None
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_pro_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_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))) user = query.first() for uo in user.UserOfferers: if not uo.isValidated or not uo.offerer.isValidated: continue if not uo.offerer.iban: continue for venue in uo.offerer.managedVenues: for offer in [o for o in venue.offers if o.isEvent]: for stock in offer.stocks: if stock.beginningDatetime: return { "offer": get_offer_helper(offer), "offerer": get_offerer_helper(uo.offerer), "stock": get_stock_helper(stock), "user": get_pro_helper(user), "venue": get_venue_helper(venue), } return None
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_pro_helper(user), "venue": get_venue_helper(venue), } return None
def get_pro_validated_no_reset_password_token_user(): user_offerer = offers_factories.UserOffererFactory( validationToken=None, offerer__validationToken=None, user__validationToken=None, ) return {"user": get_pro_helper(user_offerer.user)}
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 not uo.isValidated or not uo.offerer.isValidated: continue if uo.offerer.iban: continue for venue in [v for v in uo.offerer.managedVenues if not v.isVirtual]: for offer in venue.offers: if offer.isEvent: return { "offer": get_offer_helper(offer), "offerer": get_offerer_helper(uo.offerer), "user": get_pro_helper(user), "venue": get_venue_helper(venue), } return None
def get_existing_pro_validated_user_with_validated_offerer_with_reimbursement( ): query = (Payment.query.join(Booking).join(Stock).join(Offer).join( Venue).join(Offerer).join(UserOfferer).filter( (Offerer.validationToken == None) & (UserOfferer.validationToken == None)).join(User).filter( User.validationToken == None)) payment = query.first() booking = payment.booking 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), "payment": get_payment_helper(payment), "stock": get_stock_helper(stock), "user": get_pro_helper(user), "venue": get_venue_helper(venue), }
def get_existing_pro_validated_user_with_validated_offerer_validated_user_offerer_no_physical_venue(): user_offerer = offers_factories.UserOffererFactory( validationToken=None, offerer__validationToken=None, user__validationToken=None, ) offers_factories.VirtualVenueFactory(managingOfferer=user_offerer.offerer) return {"offerer": get_offerer_helper(user_offerer.offerer), "user": get_pro_helper(user_offerer.user)}
def get_existing_pro_not_validated_user_with_real_offerer(): users = User.query.filter( User.validationToken is not None).join(UserOfferer).all() for user in users: if len(user.UserOfferers) == 1: return {"user": get_pro_helper(user)} return None
def get_existing_pro_validated_user_without_offer() -> Optional[dict]: users = User.query.filter(User.validationToken == None).all() # pylint: disable=singleton-comparison for user in users: if not user.hasOffers: return {"user": get_pro_helper(user)} return None
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_pro_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_pro_helper(user)}
def get_pro_user(): user_offerer = offers_factories.UserOffererFactory( validationToken=None, offerer__validationToken=None, user__validationToken=None, user__phoneNumber="01 00 00 00 00", ) venue = offers_factories.VenueFactory(managingOfferer=user_offerer.offerer) offers_factories.ThingOfferFactory(venue=venue, isActive=True) return {"user": get_pro_helper(user_offerer.user)}
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_pro_helper(user) }
def get_existing_pro_validated_user_with_validated_offerer_with_validated_user_offerer_with_thing_offer_with_stock_with_not_used_booking( ): user_offerer = offers_factories.UserOffererFactory() venue = offers_factories.VenueFactory(managingOfferer=user_offerer.offerer) offer = offers_factories.ThingOfferFactory(venue=venue, isActive=True) stock = offers_factories.StockFactory(offer=offer) booking = bookings_factories.IndividualBookingFactory(stock=stock, isUsed=False) return { "booking": get_booking_helper(booking), "user": get_pro_helper(user_offerer.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_pro_helper(user)} return None
def get_existing_pro_validated_user_with_validated_offerer_with_validated_user_offerer_with_eac_offer_with_stock_with_not_used_booking_validated_by_principal( ): user_offerer = offers_factories.UserOffererFactory() booking = bookings_factories.EducationalBookingFactory( dateCreated=datetime.datetime.utcnow() - datetime.timedelta(days=5), stock__offer__venue__managingOfferer=user_offerer.offerer, educationalBooking__status=EducationalBookingStatus.USED_BY_INSTITUTE, ) return { "booking": get_booking_helper(booking), "user": get_pro_helper(user_offerer.user), }
def get_existing_pro_validated_user_with_validated_offerer_validated_user_offerer_with_physical_venue(): user_offerer = offers_factories.UserOffererFactory( validationToken=None, offerer__validationToken=None, user__validationToken=None, ) venue = offers_factories.VenueFactory(managingOfferer=user_offerer.offerer) offers_factories.OfferFactory(venue=venue, isActive=True) return { "offerer": get_offerer_helper(user_offerer.offerer), "user": get_pro_helper(user_offerer.user), "venue": get_venue_helper(venue), }
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_pro_helper(user) }
def get_existing_pro_validated_user_with_at_least_one_visible_activated_offer( ): user_offerer = offers_factories.UserOffererFactory( validationToken=None, offerer__validationToken=None, user__validationToken=None, ) venue = offers_factories.VirtualVenueFactory( managingOfferer=user_offerer.offerer) offer = offers_factories.OfferFactory(venue=venue, isActive=True) return { "offer": get_offer_helper(offer), "user": get_pro_helper(user_offerer.user) }
def get_existing_pro_validated_user_with_validated_offerer_validated_user_offerer_with_virtual_venue( ): query = User.query.filter(User.validationToken == None) query = filter_users_with_at_least_one_validated_offerer_validated_user_offerer( 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 venue.isVirtual: return { "offerer": get_offerer_helper(uo.offerer), "user": get_pro_helper(user), "venue": get_venue_helper(venue), } return None
def get_existing_pro_validated_user_with_at_least_one_offer_with_at_least_one_thumbnail( ): 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 and offer.activeMediation: return { "offer": get_offer_helper(offer), "user": get_pro_helper(user) } return None
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_pro_helper(user) } return None
def get_existing_pro_validated_user_with_validated_offerer_with_iban_validated_user_offerer_with_event_offer_with_no_stock( ): user_offerer = offers_factories.UserOffererFactory( validationToken=None, offerer__validationToken=None, user__validationToken=None, ) offers_factories.BankInformationFactory(offerer=user_offerer.offerer) venue = offers_factories.VirtualVenueFactory( managingOfferer=user_offerer.offerer) offer = offers_factories.EventOfferFactory(venue=venue, isActive=True) return { "offer": get_offer_helper(offer), "offerer": get_offerer_helper(user_offerer.offerer), "user": get_pro_helper(user_offerer.user), "venue": get_venue_helper(venue), }
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_pro_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(VenueSQLEntity).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_pro_helper(user), "venue": get_venue_helper(venue), } return None