Beispiel #1
0
def user_signin(request, username):
    user = get_object_or_404(User, username=username)
    membership = user.profile.active_membership()

    can_signin = True
    active_membership = user.profile.active_membership()
    if active_membership and active_membership.has_desk:
        # They have a desk so they can't sign in
        can_signin = False
    else:
        signins_today = CoworkingDay.objects.filter(user=user, visit_date=timezone.localtime(timezone.now()).date())
        if signins_today.count() > 0:
            can_signin = False

    search_results = None
    if request.method == "POST":
        member_search_form = MemberSearchForm(request.POST)
        if member_search_form.is_valid():
            search_results = User.helper.search(member_search_form.cleaned_data['terms'], active_only=True)
    else:
        member_search_form = MemberSearchForm()

    # Look up previous hosts for his user
    guest_days = CoworkingDay.objects.filter(user=user, paid_by__isnull=False).values("paid_by")
    previous_hosts = User.helper.active_members().filter(id__in=guest_days)

    context = {'user': user, 'can_signin': can_signin, 'membership': membership,
        'previous_hosts':previous_hosts, 'member_search_form': member_search_form,
        'search_results': search_results}
    return render(request, 'tablet/user_signin.html', context)
Beispiel #2
0
def user_signin(request, username):
    user = get_object_or_404(User, username=username)
    membership = user.profile.active_membership()

    can_signin = True
    active_membership = user.profile.active_membership()
    if active_membership and active_membership.has_desk:
        # They have a desk so they can't sign in
        can_signin = False
    else:
        signins_today = CoworkingDay.objects.filter(user=user, visit_date=timezone.localtime(timezone.now()).date())
        if signins_today.count() > 0:
            can_signin = False

    search_results = None
    if request.method == "POST":
        member_search_form = MemberSearchForm(request.POST)
        if member_search_form.is_valid():
            search_results = User.helper.search(member_search_form.cleaned_data['terms'], active_only=True)
    else:
        member_search_form = MemberSearchForm()

    # Look up previous hosts for his user
    guest_days = CoworkingDay.objects.filter(user=user, paid_by__isnull=False).values("paid_by")
    previous_hosts = User.helper.active_members().filter(id__in=guest_days)

    context = {'user': user, 'can_signin': can_signin, 'membership': membership,
        'previous_hosts':previous_hosts, 'member_search_form': member_search_form,
        'search_results': search_results}
    return render(request, 'tablet/user_signin.html', context)
Beispiel #3
0
def view_members(request):
    active_members = User.helper.active_members().order_by('first_name')
    here_today = User.helper.here_today()
    has_key = has_mail = None
    if request.user.profile.is_manager():
        has_key = User.helper.members_with_keys()
        has_mail = User.helper.members_with_mail()

    search_terms = None
    search_results = None
    if request.method == "POST":
        search_form = MemberSearchForm(request.POST)
        if search_form.is_valid():
            search_terms = search_form.cleaned_data['terms']
            search_results = User.helper.search(search_terms, True)
            if len(search_results) == 1:
                return HttpResponseRedirect(
                    reverse('member:profile:view',
                            kwargs={'username': search_results[0].username}))
    else:
        search_form = MemberSearchForm()

    context = {
        'settings': settings,
        'active_members': active_members,
        'here_today': here_today,
        'search_results': search_results,
        'search_form': search_form,
        'search_terms': search_terms,
        'has_key': has_key,
        'has_mail': has_mail
    }
    return render(request, 'member/core/view_members.html', context)
Beispiel #4
0
def post_create(request, username):
    user = get_object_or_404(User, username=username)
    if "work_today" in request.POST:
        work_today = request.POST.get('work_today')
        if work_today == "Yes":
            # Send them over to the sign-in page.  This will trigger the Free Trial logic down the line.
            return HttpResponseRedirect(
                reverse('tablet:signin_user',
                        kwargs={'username': user.username}))
        else:
            try:
                email.announce_new_user(user)
            except:
                logger.error("Could not send introduction email to %s" %
                             user.email)
            return HttpResponseRedirect(reverse('tablet:members', kwargs={}))

    search_results = None
    if request.method == "POST":
        member_search_form = MemberSearchForm(request.POST)
        if member_search_form.is_valid():
            search_results = User.helper.search(
                member_search_form.cleaned_data['terms'], active_only=True)

    return render(request, 'tablet/post_create.html', {
        'user': user,
        'search_results': search_results
    })
Beispiel #5
0
def view_members(request):
    active_members = User.helper.active_members().order_by('first_name')
    here_today = User.helper.here_today()
    has_key = has_mail = None
    if request.user.profile.is_manager():
        has_key = User.helper.members_with_keys()
        has_mail = User.helper.members_with_mail()

    search_terms = None
    search_results = None
    if request.method == "POST":
        search_form = MemberSearchForm(request.POST)
        if search_form.is_valid():
            search_terms = search_form.cleaned_data['terms']
            search_results = User.helper.search(search_terms, True)
            if len(search_results) == 1:
                return HttpResponseRedirect(reverse('member:profile:view', kwargs={'username': search_results[0].username}))
    else:
        search_form = MemberSearchForm()

    context = {'settings': settings,
               'active_members': active_members,
               'here_today': here_today,
               'search_results': search_results,
               'search_form': search_form,
               'search_terms': search_terms,
               'has_key': has_key,
               'has_mail': has_mail
               }
    return render(request, 'member/core/view_members.html', context)
Beispiel #6
0
def search(request):
    search_results = None
    if request.method == "POST":
        member_search_form = MemberSearchForm(request.POST)
        if member_search_form.is_valid():
            search_results = User.helper.search(member_search_form.cleaned_data['terms'])
    else:
        member_search_form = MemberSearchForm()
    return render(request, 'tablet/search.html', {'member_search_form': member_search_form, 'search_results': search_results})
Beispiel #7
0
def search(request):
    search_results = None
    if request.method == "POST":
        member_search_form = MemberSearchForm(request.POST)
        if member_search_form.is_valid():
            search_results = User.helper.search(member_search_form.cleaned_data['terms'])
    else:
        member_search_form = MemberSearchForm()
    return render(request, 'tablet/search.html', {'member_search_form': member_search_form, 'search_results': search_results})
Beispiel #8
0
def user_profile(request, username):
    user = get_object_or_404(User, username=username)

    can_signin = True
    if user.membership.has_desk():
        # They have a desk so they can't sign in
        can_signin = False
    else:
        signins_today = user.coworkingday_set.filter(
            visit_date=localtime(now()).date()).count()
        if signins_today > 0:
            can_signin = False

    search_results = None
    if request.method == "POST":
        member_search_form = MemberSearchForm(request.POST)
        if member_search_form.is_valid():
            search_results = User.helper.search(
                member_search_form.cleaned_data['terms'], active_only=True)
    else:
        member_search_form = MemberSearchForm()

    # Look up previous hosts for his user
    guest_days = user.coworkingday_set.filter(
        paid_by__isnull=False).values("paid_by")
    previous_hosts = User.helper.active_members().filter(id__in=guest_days)

    # Pull up how many days were used this period
    days, allowed, billable = user.profile.days_used()

    # Pull our open alerts
    alert_list = [
        MemberAlert.MEMBER_AGREEMENT, MemberAlert.TAKE_PHOTO,
        MemberAlert.ORIENTATION, MemberAlert.KEY_AGREEMENT,
        MemberAlert.ASSIGN_CABINET, MemberAlert.ASSIGN_MAILBOX,
        MemberAlert.RETURN_DOOR_KEY, MemberAlert.RETURN_DESK_KEY
    ]
    if user.profile.is_active():
        open_alerts = user.profile.open_alerts().filter(key__in=alert_list)
    else:
        open_alerts = None

    context = {
        'user': user,
        'can_signin': can_signin,
        'days_this_period': days,
        'day_allowance': allowed,
        'billable': billable,
        'previous_hosts': previous_hosts,
        'open_alerts': open_alerts,
        'member_search_form': member_search_form,
        'search_results': search_results,
    }
    return render(request, 'tablet/user_profile.html', context)
Beispiel #9
0
def member_search(request):
    search_results = None
    if request.method == "POST":
        member_search_form = MemberSearchForm(request.POST)
        if member_search_form.is_valid():
            search_results = User.helper.search(member_search_form.cleaned_data['terms'])
            if len(search_results) == 1:
                return HttpResponseRedirect(reverse('staff_user_detail', kwargs={'username': search_results[0].username}))
    else:
        member_search_form = MemberSearchForm()
    context = {'member_search_form': member_search_form, 'search_results': search_results}
    return render(request, 'staff/member_search.html', context)
Beispiel #10
0
def member_search(request):
    term = None
    search_results = None
    if request.method == "POST":
        member_search_form = MemberSearchForm(request.POST)
        if member_search_form.is_valid():
            term = member_search_form.cleaned_data['terms']
            search_results = User.helper.search(term)
            if len(search_results) == 1:
                return HttpResponseRedirect(reverse('staff:members:detail', kwargs={'username': search_results[0].username}))
    else:
        member_search_form = MemberSearchForm()
    context = {'member_search_form': member_search_form, 'search_results': search_results, 'term': term, }
    return render(request, 'staff/members/search.html', context)
Beispiel #11
0
def user_signin(request, username):
    user = get_object_or_404(User, username=username)
    membership = user.profile.active_membership()

    can_signin = True
    active_membership = user.profile.active_membership()
    if active_membership and active_membership.has_desk:
        # They have a desk so they can't sign in
        can_signin = False
    else:
        signins_today = CoworkingDay.objects.filter(user=user,
                                                    visit_date=localtime(
                                                        now()).date())
        if signins_today.count() > 0:
            can_signin = False

    search_results = None
    if request.method == "POST":
        member_search_form = MemberSearchForm(request.POST)
        if member_search_form.is_valid():
            search_results = User.helper.search(
                member_search_form.cleaned_data['terms'], active_only=True)
    else:
        member_search_form = MemberSearchForm()

    # Look up previous hosts for his user
    guest_days = CoworkingDay.objects.filter(
        user=user, paid_by__isnull=False).values("paid_by")
    previous_hosts = User.helper.active_members().filter(id__in=guest_days)

    # Pull our open alerts
    alert_list = [
        MemberAlert.MEMBER_AGREEMENT, MemberAlert.TAKE_PHOTO,
        MemberAlert.ORIENTATION, MemberAlert.KEY_AGREEMENT,
        MemberAlert.ASSIGN_CABINET, MemberAlert.ASSIGN_MAILBOX,
        MemberAlert.RETURN_DOOR_KEY, MemberAlert.RETURN_DESK_KEY
    ]
    open_alerts = user.profile.open_alerts().filter(key__in=alert_list)

    context = {
        'user': user,
        'can_signin': can_signin,
        'membership': membership,
        'previous_hosts': previous_hosts,
        'open_alerts': open_alerts,
        'member_search_form': member_search_form,
        'search_results': search_results,
    }
    return render(request, 'tablet/user_signin.html', context)
Beispiel #12
0
def user_profile(request, username):
    user = get_object_or_404(User, username=username)

    can_signin = True
    if user.membership.has_desk():
        # They have a desk so they can't sign in
        can_signin = False
    else:
        signins_today = user.coworkingday_set.filter(visit_date=localtime(now()).date()).count()
        if signins_today > 0:
            can_signin = False

    search_results = None
    if request.method == "POST":
        member_search_form = MemberSearchForm(request.POST)
        if member_search_form.is_valid():
            search_results = User.helper.search(member_search_form.cleaned_data['terms'], active_only=True)
    else:
        member_search_form = MemberSearchForm()

    # Look up previous hosts for his user
    guest_days = user.coworkingday_set.filter(paid_by__isnull=False).values("paid_by")
    previous_hosts = User.helper.active_members().filter(id__in=guest_days)

    # Pull up how many days were used this period
    days, allowed, billable = user.profile.days_used()

    # Pull our open alerts
    alert_list = [MemberAlert.MEMBER_AGREEMENT, MemberAlert.TAKE_PHOTO, MemberAlert.ORIENTATION, MemberAlert.KEY_AGREEMENT, MemberAlert.ASSIGN_CABINET, MemberAlert.ASSIGN_MAILBOX, MemberAlert.RETURN_DOOR_KEY, MemberAlert.RETURN_DESK_KEY]
    if user.profile.is_active():
        open_alerts = user.profile.open_alerts().filter(key__in=alert_list)
    else:
        open_alerts = None

    context = {
        'user': user,
        'can_signin': can_signin,
        'days_this_period': days,
        'day_allowance': allowed,
        'billable': billable,
        'previous_hosts' :previous_hosts,
        'open_alerts': open_alerts,
        'member_search_form': member_search_form,
        'search_results': search_results,
    }
    return render(request, 'tablet/user_profile.html', context)
Beispiel #13
0
def post_create(request, username):
    user = get_object_or_404(User, username=username)
    if "work_today" in request.POST:
        work_today = request.POST.get('work_today')
        if work_today == "Yes":
            # Send them over to the sign-in page.  This will trigger the Free Trial logic down the line.
            return HttpResponseRedirect(reverse('tablet_signin_user', kwargs={'username': user.username}))
        else:
            try:
                email.announce_new_user(user)
            except:
                logger.error("Could not send introduction email to %s" % user.email)
            return HttpResponseRedirect(reverse('tablet_members', kwargs={}))

    search_results = None
    if request.method == "POST":
        member_search_form = MemberSearchForm(request.POST)
        if member_search_form.is_valid():
            search_results = User.helper.search(member_search_form.cleaned_data['terms'], active_only=True)

    return render(request, 'tablet/post_create.html', {'user': user, 'search_results': search_results})
def nav_context(request):
    site_search_form = MemberSearchForm()
    return {'site_search_form': site_search_form}