Example #1
0
def signin_user_guest(request, username, guestof):
    user = get_object_or_404(User, username=username)
    member = get_object_or_404(Member, user=user)
    daily_log = DailyLog()
    daily_log.member = member
    daily_log.visit_date = timezone.localtime(timezone.now()).date()
    # Only proceed if they haven't signed in already
    if DailyLog.objects.filter(member=member,
                               visit_date=daily_log.visit_date).count() == 0:
        if guestof:
            guestof_user = get_object_or_404(User, username=guestof)
            guestof_member = get_object_or_404(Member, user=guestof_user)
            daily_log.guest_of = guestof_member
        if DailyLog.objects.filter(member=member).count() == 0:
            daily_log.payment = 'Trial'
        else:
            daily_log.payment = 'Bill'
        daily_log.save()

        if daily_log.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(member.open_alerts()) > 0:
                mailgun.send_manage_member(user)
    return HttpResponseRedirect(
        reverse('tablet.views.welcome', kwargs={'username': username}))
Example #2
0
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}))
Example #3
0
def signin_user_guest(request, username, guestof):
    user = get_object_or_404(User, username=username)
    member = get_object_or_404(Member, user=user)
    daily_log = DailyLog()
    daily_log.member = member
    daily_log.visit_date = timezone.localtime(timezone.now()).date()
    # Only proceed if they haven't signed in already
    if DailyLog.objects.filter(member=member, visit_date=daily_log.visit_date).count() == 0:
        if guestof:
            guestof_user = get_object_or_404(User, username=guestof)
            guestof_member = get_object_or_404(Member, user=guestof_user)
            daily_log.guest_of = guestof_member
        if DailyLog.objects.filter(member=member).count() == 0:
            daily_log.payment = 'Trial'
        else:
            daily_log.payment = 'Bill'
        daily_log.save()

        if daily_log.payment == 'Trial':
            try:
                email.announce_free_trial(user)
                email.send_introduction(user)
                email.subscribe_to_newsletter(user)
            except:
                logger.error("Could not send introduction email to %s" % user.email)
        else:
            if len(member.open_alerts()) > 0:
                mailgun.send_manage_member(user)
    return HttpResponseRedirect(reverse('tablet.views.welcome', kwargs={'username': username}))
Example #4
0
 def trigger_exiting_membership(self, user):
     new_alerts = False
     open_alerts = user.profile.alerts_by_key(include_resolved=False)
     
     # Key?  Let's get it back!
     last_membership = user.profile.last_membership()
     if last_membership:
         if last_membership.has_key:
             if not MemberAlert.objects.filter(user=user, key=MemberAlert.RETURN_DOOR_KEY, created_ts__gte=last_membership.start_date):
                 MemberAlert.objects.create(user=user, key=MemberAlert.RETURN_DOOR_KEY)
                 new_alerts = True
         if last_membership.has_desk:
             if not MemberAlert.objects.filter(user=user, key=MemberAlert.RETURN_DESK_KEY, created_ts__gte=last_membership.start_date):
                 MemberAlert.objects.create(user=user, key=MemberAlert.RETURN_DESK_KEY)
                 new_alerts = True
         if last_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=last_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.objects.filter(user=user, key=MemberAlert.REMOVE_PHOTO, created_ts__gte=last_membership.start_date):
             MemberAlert.objects.create(user=user, key=MemberAlert.REMOVE_PHOTO)
             new_alerts = True
     
     # Send an email to the team announcing their exit
     if new_alerts:
         mailgun.send_manage_member(user, subject="Exiting Member")
Example #5
0
    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)
Example #6
0
    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)