Ejemplo n.º 1
0
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)

        collections = permission_policy.collections_user_has_any_permission_for(
            self.request.user, ['add', 'change'])
        if len(collections) < 2:
            collections = None

        Image = get_image_model()

        context.update({
            'search_form':
            self.form,
            'popular_tags':
            popular_tags_for_model(get_image_model()),
            'current_tag':
            self.current_tag,
            'collections':
            collections,
            'current_collection':
            self.current_collection,
            'user_can_add':
            permission_policy.user_has_permission(self.request.user, 'add'),
            'app_label':
            Image._meta.app_label,
            'model_name':
            Image._meta.model_name,
        })
        return context
Ejemplo n.º 2
0
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)

        collections = permission_policy.collections_user_has_any_permission_for(
            self.request.user, ["add", "change"])
        if len(collections) < 2:
            collections = None

        Image = get_image_model()

        context.update({
            "search_form":
            self.form,
            "popular_tags":
            popular_tags_for_model(get_image_model()),
            "current_tag":
            self.current_tag,
            "collections":
            collections,
            "current_collection":
            self.current_collection,
            "user_can_add":
            permission_policy.user_has_permission(self.request.user, "add"),
            "app_label":
            Image._meta.app_label,
            "model_name":
            Image._meta.model_name,
        })
        return context
Ejemplo n.º 3
0
def index(request):
    Image = get_image_model()

    # Get images (filtered by user permission)
    images = permission_policy.instances_user_has_any_permission_for(
        request.user, ['change', 'delete']
    ).order_by('-created_at')

    # Search
    query_string = None
    if 'q' in request.GET:
        form = SearchForm(request.GET, placeholder=_("Search images"))
        if form.is_valid():
            query_string = form.cleaned_data['q']

            images = images.search(query_string)
    else:
        form = SearchForm(placeholder=_("Search images"))

    # Filter by collection
    current_collection = None
    collection_id = request.GET.get('collection_id')
    if collection_id:
        try:
            current_collection = Collection.objects.get(id=collection_id)
            images = images.filter(collection=current_collection)
        except (ValueError, Collection.DoesNotExist):
            pass

    paginator = Paginator(images, per_page=20)
    images = paginator.get_page(request.GET.get('p'))

    collections = permission_policy.collections_user_has_any_permission_for(
        request.user, ['add', 'change']
    )
    if len(collections) < 2:
        collections = None
    else:
        collections = Collection.order_for_display(collections)

    # Create response
    if request.is_ajax():
        return render(request, 'wagtailimages/images/results.html', {
            'images': images,
            'query_string': query_string,
            'is_searching': bool(query_string),
        })
    else:
        return render(request, 'wagtailimages/images/index.html', {
            'images': images,
            'query_string': query_string,
            'is_searching': bool(query_string),

            'search_form': form,
            'popular_tags': popular_tags_for_model(Image),
            'collections': collections,
            'current_collection': current_collection,
            'user_can_add': permission_policy.user_has_permission(request.user, 'add'),
        })