Ejemplo n.º 1
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}))
Ejemplo n.º 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}))
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
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)