Ejemplo n.º 1
0
def add_post(request):
    if request.method == 'POST':
        form = BlogPostForm(request.POST)

        if form.is_valid():
            new_post = BlogPost(
                title=form.cleaned_data['title'],
                content=form.cleaned_data['content'],
                published=True,
                author=request.user
            )

            new_post.save()

            return redirect('view_posts', post_id=new_post.id)
    else:
        form = BlogPostForm()

    return render(
        request,
        'add_post.html',
        {
            'form': form,
        }
    )
Ejemplo n.º 2
0
def post(request, post_id=None):
    """
    Displays, creates or updates a blog post.
    """
    
    post = None
    if post_id:
        post = get_object_or_404(BlogPost.objects.all(), pk=post_id)
    
    if request.method == 'POST':
        
        form = BlogPostForm(request.POST, instance=post)
        
        if form.is_valid():
            post = form.save()
            return SerializeOrRedirect(reverse('list_posts'), { 'post': post })
            
        else:
            
            return SerializeOrRender('blog/post.html', { 'post': post }, extra = { 'form': form }, status=CR_INVALID_DATA)    
        
    else:
        
        form = BlogPostForm(instance=post)
    
    return SerializeOrRender('blog/post.html', { 'post': post }, extra={ 'form': form })
Ejemplo n.º 3
0
def create_update_post(request, pk=None):
    post = None
    if pk:
        post = get_object_or_404(BlogPost, pk=pk)
        if not request.user.has_perm("blog.change_blogpost", post):
            return HttpResponseForbidden()
    else:
        if not request.user.has_perm("blog.add_blogpost"):
            return HttpResponseForbidden()

    # Do an update.
    if request.method == 'POST':
        form = BlogPostForm(request.POST, instance=post)
        if form.is_valid():  # All validation rules pass
            post = form.save(commit=False)
            post.user = request.user
            post.save()

            assign('blog.view_blogpost', request.user, post)
            assign('blog.change_blogpost', request.user, post)
            assign('blog.delete_blogpost', request.user, post)

            return redirect(reverse('view_post', args=[post.id]))
    else:
        form = BlogPostForm(instance=post)  # An unbound form

    # Return the crud page.
    return render_to_response('blog/create_edit_post.xhtml', {
        'post': post, 'form': form
    }, context_instance=RequestContext(request))
Ejemplo n.º 4
0
def add_post(request):
    '''Add new blogpost'''
    form = BlogPostForm(request.POST or None)

    if request.method == 'POST' and form.is_valid():
        new_post = form.save(commit=False)
        new_post.user_id = request.user.id
        new_post.save()

        if form.cleaned_data['tags']:
            list_tags = request.POST['tags'].split(',')
            list_tags = [tag.strip() for tag in list_tags]
            list_tags = set(list_tags)

            if len(list_tags) > 10:
                return HttpResponse('Amount of tags can\'t be more than 10!')

            for tag in list_tags:
                if tag:
                    new_tag, created = Tag.objects.get_or_create(name=tag)
                    new_post.tag.add(new_tag.id)

        return redirect('blog:list_of_posts')
    else:
        context = RequestContext(request)
        return render_to_response('blog/add_post.html',
                                  {'form': form}, context)
Ejemplo n.º 5
0
def post(request, post_id=None):
    """
    Displays, creates or updates a blog post.
    """

    post = None
    if post_id:
        post = get_object_or_404(BlogPost.objects.all(), pk=post_id)

    if request.method == 'POST':

        form = BlogPostForm(request.POST, instance=post)

        if form.is_valid():
            post = form.save()
            return SerializeOrRedirect(reverse('list_posts'), {'post': post})

        else:

            return SerializeOrRender('blog/post.html', {'post': post},
                                     extra={'form': form},
                                     status=CR_INVALID_DATA)

    else:

        form = BlogPostForm(instance=post)

    return SerializeOrRender('blog/post.html', {'post': post},
                             extra={'form': form})
Ejemplo n.º 6
0
def new_post(request):
    if request.method == "POST":
        form = BlogPostForm(request.POST, request.FILES)
        if form.is_valid():
            post = form.save(commit=False)
            post.author = request.user
            post.published_date = timezone.now()
            post.save()
            return redirect(post_detail, post.pk)
    else:
        form = BlogPostForm()
        return render(request, 'blogpostform.html', {'form': form})
Ejemplo n.º 7
0
def edit_post(request, id):
   post = get_object_or_404(Post, pk=id)
   if request.method == "POST":
       form = BlogPostForm(request.POST, request.FILES, instance=post)
       if form.is_valid():
           post = form.save(commit=False)
           post.author = request.user
           post.published_date = timezone.now()
           post.save()
           return redirect(post_detail, post.pk)
   else:
       form = BlogPostForm(instance=post)
       return render(request, 'blogpostform.html', {'form': form})
Ejemplo n.º 8
0
def new(request, template_name='blog/new_or_edit.html'):
    if request.method == 'POST':
        form = BlogPostForm(request.POST)
        if form.is_valid():
            form.save()
        return HttpResponseRedirect("/")
    else:
        form = BlogPostForm()

    template_context = {'form': form}

    return render_to_response(template_name, template_context,
                              RequestContext(request))
Ejemplo n.º 9
0
def edit_post(request, id):
    post = get_object_or_404(Post, pk=id)
    if request.method == "POST":
        form = BlogPostForm(request.POST, request.FILES, instance=post)
        if form.is_valid():
            post = form.save(commit=False)
            #post.author = request.user
            post.published_date = timezone.now()
            post.save()
            return redirect(post_detail, post.pk)
    else:
        form = BlogPostForm(instance=post)

    return render(request, 'blogpostform.html', {'form': form})
Ejemplo n.º 10
0
def new_post(request):
    if request.method == "POST":
        form = BlogPostForm(request.POST, request.FILES)
        if form.is_valid():
            post = form.save(commit=False)
            post.author = request.user
            post.published_date = timezone.now()
            post.save()
            return redirect(post_detail, post.pk)

    else:
        form = BlogPostForm

    return render(request, 'blogpostform.html', {'form': form})
Ejemplo n.º 11
0
def edit(request, slug, template_name='blog/new_or_edit.html'):

    post = BlogPost.objects.get(slug=slug)
    if request.method == 'POST':
        form = BlogPostForm(request.POST, instance=post)
        if form.is_valid():
            form.save()
        return HttpResponseRedirect(post.get_absolute_url())
    else:
        form = BlogPostForm(instance=post)

    template_context = {'form': form}

    return render_to_response(template_name, template_context,
                              RequestContext(request))
Ejemplo n.º 12
0
def new(request, template_name='blog/new_or_edit.html'):
    if request.method == 'POST':
        form = BlogPostForm(request.POST)
        if form.is_valid():
            form.save()
        return HttpResponseRedirect("/")
    else:
        form = BlogPostForm()
    
    template_context = {'form': form}
    
    return render_to_response(
        template_name,
        template_context,
        RequestContext(request)
    )
Ejemplo n.º 13
0
def edit(request, slug, template_name='blog/new_or_edit.html'):
    
    post = BlogPost.objects.get(slug=slug)
    if request.method == 'POST':
        form = BlogPostForm(request.POST, instance=post)
        if form.is_valid():
            form.save()
        return HttpResponseRedirect(post.get_absolute_url())
    else:
        form = BlogPostForm(instance=post)
    
    template_context = {'form': form}
    
    return render_to_response(
        template_name,
        template_context,
        RequestContext(request)
    )
Ejemplo n.º 14
0
    def process_create(self, request, context, *args, **kwargs):

        form = BlogPostForm()

        if request.POST:
            form = BlogPostForm(request.POST)
            if form.is_valid():

                p = create_post(context['user'], form.cleaned_data)
                cache_invalidate('written')

                # Serve up the new row
                return HttpResponseRedirect(urlresolvers.reverse('admin_plugin_action', args=(context['plugin_slug'], 'posts')))

            else:
                return FormErrorResponse(form, id='create_form')

        target_url = urlresolvers.reverse('admin_plugin_action', args=(context['plugin_slug'], 'create'))
        return FormResponse(form, id='create_form', title="Create a new Blog Post", target_url=target_url, target_action='create')
Ejemplo n.º 15
0
def add_post(request):
    context = RequestContext(request)
    if request.method == 'POST':
        form = BlogPostForm(request.POST) 
        if form.is_valid():
            blog = BlogPost()
            blog.author = request.user
            blog.title = request.POST['title']
            blog.bodytext = request.POST['bodytext']
            blog.save()
            messages.add_message(request, SUCCESS, 'Post Added')
            
            return HttpResponseRedirect('/main/blog/')
        else:
            messages.add_message(request, SUCCESS, 'Enter a valid Post')
            return HttpResponseRedirect('/main/add/')
    else:
        form = BlogPostForm() 
    return render_to_response('blog/add.html', {'form': form}, context)
Ejemplo n.º 16
0
    def process_edit(self, request, context, *args, **kwargs):
        post_keystr = request.REQUEST['post_key']

        if not post_keystr:
            raise RuntimeError('No argument post_key provided.')

        post_key = ndb.Key(urlsafe=post_keystr)
        post = post_key.get()

        initial_data = {
            'slug': post.slug,
            'summary': post.summary,
            'title': post.title,
            'content': post.content,
            'publish': bool(post.published_date),
            'categories': [c_key.urlsafe() for c_key in post.categories],
            'primary_media_image' : post.primary_media_image.urlsafe() if post.primary_media_image else ''
        }

        form = BlogPostForm(initial=initial_data)

        if request.POST:
            form = BlogPostForm(request.POST, initial=initial_data)
            if form.is_valid():

                p = edit_post(context['user'], post, form.cleaned_data)
                cache_invalidate('written')

                # Serve up the new row
                return HttpResponseRedirect(urlresolvers.reverse('admin_plugin_action', args=(context['plugin_slug'], 'posts')))
            else:
                return FormErrorResponse(form, id='create_form')

        target_url = "%s?post_key=%s" % (urlresolvers.reverse('admin_plugin_action', args=(context['plugin_slug'], 'edit')), post_key.urlsafe())

        return FormResponse(form, id='edit_form', title="Edit Blog Post", target_url=target_url, target_action='edit')