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
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
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'), })