from lithium.blog.models import Post

def decorator(request, view, author=None, tag=None, *args, **kwargs):
    """
    A view decotator to change the queryset depending on whether
    a user may read private posts.
    """
    
    if request.user.has_perm('blog.can_read_private'):
        kwargs['queryset'] = Post.on_site.all(allow_private=True)
    
    if author:
        kwargs['queryset'] = kwargs['queryset'].filter(author__username=author)
    
    if tag:
        kwargs['queryset'] = kwargs['queryset'].filter(category__slug=tag)
    
    return view(request, *args, **kwargs)

from lithium.blog.models import Post

def decorator(request, view, author=None, tag=None, *args, **kwargs):
    """
    A view decotator to change the queryset depending on whether
    a user may read private posts.
    """
    
    if request.user.has_perm('blog.can_read_private'):
        kwargs['queryset'] = Post.on_site.all(allow_private=True)
        kwargs['allow_future'] = True
    
    if author:
        kwargs['queryset'] = kwargs['queryset'].filter(author__username=author)
    
    if tag:
        kwargs['queryset'] = kwargs['queryset'].filter(category__slug=tag)
    
    return view(request, *args, **kwargs)

Allow users with the permission 'blog.can_read_private' to see posts from the future.
Allow users with the permission 'blog.can_read_private' to see posts from the future.

  from lithium.blog.models import Post
  
  def decorator(request, view, author=None, tag=None, *args, **kwargs):
      """
      A view decotator to change the queryset depending on whether
      a user may read private posts.
      """
      
      if request.user.has_perm('blog.can_read_private'):
          kwargs['queryset'] = Post.on_site.all(allow_private=True)
+         kwargs['allow_future'] = True
      
      if author:
          kwargs['queryset'] = kwargs['queryset'].filter(author__username=author)
      
      if tag:
          kwargs['queryset'] = kwargs['queryset'].filter(category__slug=tag)
      
      return view(request, *args, **kwargs)
  
Allow users with the permission 'blog.can_read_private' to see posts from the future.
## Code Before:
from lithium.blog.models import Post

def decorator(request, view, author=None, tag=None, *args, **kwargs):
    """
    A view decotator to change the queryset depending on whether
    a user may read private posts.
    """
    
    if request.user.has_perm('blog.can_read_private'):
        kwargs['queryset'] = Post.on_site.all(allow_private=True)
    
    if author:
        kwargs['queryset'] = kwargs['queryset'].filter(author__username=author)
    
    if tag:
        kwargs['queryset'] = kwargs['queryset'].filter(category__slug=tag)
    
    return view(request, *args, **kwargs)

## Instruction:
Allow users with the permission 'blog.can_read_private' to see posts from the future.
## Code After:
from lithium.blog.models import Post

def decorator(request, view, author=None, tag=None, *args, **kwargs):
    """
    A view decotator to change the queryset depending on whether
    a user may read private posts.
    """
    
    if request.user.has_perm('blog.can_read_private'):
        kwargs['queryset'] = Post.on_site.all(allow_private=True)
        kwargs['allow_future'] = True
    
    if author:
        kwargs['queryset'] = kwargs['queryset'].filter(author__username=author)
    
    if tag:
        kwargs['queryset'] = kwargs['queryset'].filter(category__slug=tag)
    
    return view(request, *args, **kwargs)
