Example #1
0
def space(request):
    space_users = UserPreference.objects.filter(space=request.space).all()

    counts = Object()
    counts.recipes = Recipe.objects.filter(space=request.space).count()
    counts.keywords = Keyword.objects.filter(space=request.space).count()
    counts.recipe_import = RecipeImport.objects.filter(
        space=request.space).count()
    counts.units = Unit.objects.filter(space=request.space).count()
    counts.ingredients = Food.objects.filter(space=request.space).count()
    counts.comments = Comment.objects.filter(
        recipe__space=request.space).count()

    counts.recipes_internal = Recipe.objects.filter(
        internal=True, space=request.space).count()
    counts.recipes_external = counts.recipes - counts.recipes_internal

    counts.recipes_no_keyword = Recipe.objects.filter(
        keywords=None, space=request.space).count()

    invite_links = InviteLinkTable(
        InviteLink.objects.filter(valid_until__gte=datetime.today(),
                                  used_by=None,
                                  space=request.space).all())
    RequestConfig(request, paginate={'per_page': 25}).configure(invite_links)

    return render(request, 'space.html', {
        'space_users': space_users,
        'counts': counts,
        'invite_links': invite_links
    })
Example #2
0
def invite_link(request):
    table = InviteLinkTable(InviteLink.objects.filter(valid_until__gte=datetime.today(), used_by=None, space=request.space).all())
    RequestConfig(request, paginate={'per_page': 25}).configure(table)

    return render(request, 'generic/list_template.html', {
        'title': _("Invite Links"),
        'table': table,
        'create_url': 'new_invite_link'
    })
Example #3
0
def space(request):
    space_users = UserPreference.objects.filter(space=request.space).all()

    counts = Object()
    counts.recipes = Recipe.objects.filter(space=request.space).count()
    counts.keywords = Keyword.objects.filter(space=request.space).count()
    counts.recipe_import = RecipeImport.objects.filter(space=request.space).count()
    counts.units = Unit.objects.filter(space=request.space).count()
    counts.ingredients = Food.objects.filter(space=request.space).count()
    counts.comments = Comment.objects.filter(recipe__space=request.space).count()

    counts.recipes_internal = Recipe.objects.filter(internal=True, space=request.space).count()
    counts.recipes_external = counts.recipes - counts.recipes_internal

    counts.recipes_no_keyword = Recipe.objects.filter(keywords=None, space=request.space).count()

    invite_links = InviteLinkTable(
        InviteLink.objects.filter(valid_until__gte=datetime.today(), used_by=None, space=request.space).all())
    RequestConfig(request, paginate={'per_page': 25}).configure(invite_links)

    space_form = SpacePreferenceForm(instance=request.space)

    space_form.base_fields['food_inherit'].queryset = Food.inheritable_fields
    if request.method == "POST" and 'space_form' in request.POST:
        form = SpacePreferenceForm(request.POST, prefix='space')
        if form.is_valid():
            request.space.food_inherit.set(form.cleaned_data['food_inherit'])
            request.space.show_facet_count = form.cleaned_data['show_facet_count']
            request.space.save()
            if form.cleaned_data['reset_food_inherit']:
                Food.reset_inheritance(space=request.space)

    return render(request, 'space.html', {
        'space_users': space_users,
        'counts': counts,
        'invite_links': invite_links,
        'space_form': space_form
    })