def signin_user_guest(request, username, paid_by): user = get_object_or_404(User, username=username) day = CoworkingDay() day.user = user day.visit_date = timezone.localtime(timezone.now()).date() # Only proceed if they haven't signed in already if CoworkingDay.objects.filter(user=user, visit_date=day.visit_date).count() == 0: if paid_by: host = get_object_or_404(User, username=paid_by) day.paid_by = host if CoworkingDay.objects.filter(user=user).count() == 0: day.payment = 'Trial' else: day.payment = 'Bill' day.save() if day.payment == 'Trial': try: email.announce_free_trial(user) email.send_introduction(user) email.subscribe_to_newsletter(user) #SlackAPI().invite_user(user) except: logger.error("Could not send introduction email to %s" % user.email) else: if len(user.profile.open_alerts()) > 0: mailgun.send_manage_member(user) return HttpResponseRedirect(reverse('tablet:welcome', kwargs={'username': username}))
def signin_user_guest(request, username, paid_by): user = get_object_or_404(User, username=username) day = CoworkingDay() day.user = user day.visit_date = timezone.localtime(timezone.now()).date() # Only proceed if they haven't signed in already if CoworkingDay.objects.filter(user=user, visit_date=day.visit_date).count() == 0: if paid_by: host = get_object_or_404(User, username=paid_by) day.paid_by = host if CoworkingDay.objects.filter(user=user).count() == 0: day.payment = 'Trial' else: day.payment = 'Bill' day.save() if day.payment == 'Trial': try: email.announce_free_trial(user) email.send_introduction(user) email.subscribe_to_newsletter(user) #SlackAPI().invite_user(user) except: logger.error("Could not send introduction email to %s" % user.email) else: if len(user.profile.open_alerts()) > 0: mailgun.send_manage_member(user) return HttpResponseRedirect(reverse('tablet_welcome', kwargs={'username': username}))
def trigger_exiting_membership(self, user, day=None): if day == None: day = localtime(now()) new_alerts = False open_alerts = user.profile.alerts_by_key(include_resolved=False) membership = user.profile.membership_for_day(day) if not membership: membership = user.profile.last_membership() if membership.has_key: if MemberAlert.objects.create_if_new(user, MemberAlert.RETURN_DOOR_KEY, membership.start_date): new_alerts = True if membership.has_desk: if MemberAlert.ASSIGN_CABINET in open_alerts: # We never assigned a mailbox so we can just resolve that now user.profile.resolve_alerts(MemberAlert.ASSIGN_CABINET) if not MemberAlert.objects.filter( user=user, key=MemberAlert.RETURN_DESK_KEY, created_ts__gte=membership.start_date): MemberAlert.objects.create(user=user, key=MemberAlert.RETURN_DESK_KEY) new_alerts = True if membership.has_mail: if MemberAlert.ASSIGN_MAILBOX in open_alerts: # We never assigned a mailbox so we can just resolve that now user.profile.resolve_alerts(MemberAlert.ASSIGN_MAILBOX) elif not MemberAlert.objects.filter( user=user, key=MemberAlert.REMOVE_MAILBOX, created_ts__gte=membership.start_date): MemberAlert.objects.create(user=user, key=MemberAlert.REMOVE_MAILBOX) new_alerts = True # Take down their photo. if user.profile.photo: if MemberAlert.POST_PHOTO in open_alerts: user.profile.resolve_alerts(MemberAlert.POST_PHOTO) elif not MemberAlert.REMOVE_PHOTO in open_alerts: MemberAlert.objects.create(user=user, key=MemberAlert.REMOVE_PHOTO) new_alerts = True # Send an email to the team announcing their exit if new_alerts: end = membership.end_date subject = "Exiting Member: %s/%s/%s" % (end.month, end.day, end.year) mailgun.send_manage_member(user, subject=subject)
def trigger_exiting_membership(self, user, day=None): if day == None: day = timezone.now() new_alerts = False open_alerts = user.profile.alerts_by_key(include_resolved=False) membership = user.profile.membership_for_day(day) if not membership: membership = user.profile.last_membership() if membership.has_key: if MemberAlert.objects.create_if_new(user, MemberAlert.RETURN_DOOR_KEY, membership.start_date): new_alerts = True if membership.has_desk: if MemberAlert.ASSIGN_CABINET in open_alerts: # We never assigned a mailbox so we can just resolve that now user.profile.resolve_alerts(MemberAlert.ASSIGN_CABINET) if not MemberAlert.objects.filter( user=user, key=MemberAlert.RETURN_DESK_KEY, created_ts__gte=membership.start_date ): MemberAlert.objects.create(user=user, key=MemberAlert.RETURN_DESK_KEY) new_alerts = True if membership.has_mail: if MemberAlert.ASSIGN_MAILBOX in open_alerts: # We never assigned a mailbox so we can just resolve that now user.profile.resolve_alerts(MemberAlert.ASSIGN_MAILBOX) elif not MemberAlert.objects.filter( user=user, key=MemberAlert.REMOVE_MAILBOX, created_ts__gte=membership.start_date ): MemberAlert.objects.create(user=user, key=MemberAlert.REMOVE_MAILBOX) new_alerts = True # Take down their photo. if user.profile.photo: if MemberAlert.POST_PHOTO in open_alerts: user.profile.resolve_alerts(MemberAlert.POST_PHOTO) elif not MemberAlert.REMOVE_PHOTO in open_alerts: MemberAlert.objects.create(user=user, key=MemberAlert.REMOVE_PHOTO) new_alerts = True # Send an email to the team announcing their exit if new_alerts: end = membership.end_date subject = "Exiting Member: %s/%s/%s" % (end.month, end.day, end.year) mailgun.send_manage_member(user, subject=subject)