Esempio n. 1
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})
Esempio n. 2
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})
Esempio n. 3
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})
Esempio n. 4
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))
Esempio n. 5
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))
Esempio n. 6
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)
Esempio n. 7
0
def home():
    storage = Storage()

    if request.method == 'POST':
        form = BlogPostForm(request.form)
        if form.validate():
            model = BlogPostModel(form.data)
            storage.appending(model.model_to_dict())
        else:
            logger.error('Someone have submitted an incorrect form!')
    else:
        form = BlogPostForm()
    return render_template(
        'home.html',
        form=form,
        items=storage.posts,
    )
Esempio n. 8
0
def add_comment(request, blogpost_id, pid=0):
    ''' add comment to blogpost
    pid=0 means that comment haven't any parents comment
    '''
    form = BlogPostCommentForm(request.POST)

    if form.is_valid():
        post = get_object_or_404(BlogPost, pk=blogpost_id)
        new_comment = form.save(commit=False)
        new_comment.user_id = request.user.id
        new_comment.post_id = blogpost_id
        new_comment.parent_comment = pid
        new_comment.save()
        post.increment_count_comments()

    form = BlogPostForm(request.POST or None)
    form = BlogPostForm(request.POST or None)
    form = BlogPostForm(request.POST or None)
    return redirect(reverse('blog:show_post', args=[blogpost_id]))
Esempio n. 9
0
def home():
    storage = Storage()
    all_items = storage.items

    if request.method == 'POST':
        form = BlogPostForm(request.form)
        if form.validate():
            model = BlogPostModel(form.data, len(all_items) + 1)
            all_items.append(model)
            storage.save()
        else:
            logger.error('Someone have submitted an incorrect form!')
    else:
        form = BlogPostForm()

    return render_template(
        'home.html',
        form=form,
        items=all_items,
    )
Esempio n. 10
0
def ajax():
    form = BlogPostForm()
    if request.method == 'POST':  # and form.validate():
        post = Post(user=current_user,
                    title=form.title.data,
                    content=form.content.data)
        print(post)
        current_session.add(post)
        current_session.commit()
        return jsonify(
            post.title, post.content, current_user.name
        )  #{'success':True}), 200, {'ContentType':'application/json'} #, 'Post created!'
    if request.method == 'GET':
        return jsonify(current_user.name)
    return 'Invalid form'
Esempio n. 11
0
 def post():
     form = BlogPostForm(request.form)
     if request.method == 'POST':
         if form.validate():
             post = Post(user=form.author.data,
                         title=form.title.data,
                         content=form.content.data)
             current_session.add(post)
             current_session.commit()
             flash('Post created!')
             return redirect(url_for('post'))
         else:
             flash('Form is not valid! Post was not created.')
     posts = current_session.query(Post).all()
     return render_template('post.html', form=form, posts=posts)
Esempio n. 12
0
def editposts():
    error = None
    form = BlogPostForm()
    if request.method == 'POST':
        if form.validate_on_submit():
            new_post = Post(
                form.subject.data,
                form.header.data,
                form.digest.data,
                form.body.data,
            )
            db.session.add(new_post)
            db.session.commit()
            flash(u'پست ثبت شد!!')
    return render_template('postedit.html', form=form, error=error)
Esempio n. 13
0
def save():
    form = BlogPostForm()
    if form.validate_on_submit():
        if request.form['action'] == 'draft':
            print('Saving to redis')
            redis_client.set(form.title.data, form.body.data)
        else:
            print('Saving to postgres')
            model = Post()
            model.title = form.title.data
            model.body = form.body.data
            model.date = form.date.data
            model.author = form.author.data
            db.session.add(model)
            db.session.commit()
    return render_template('new.html', form=form)
Esempio n. 14
0
 def get(self, post_id=None, **kwargs):
     """Return a post to edit or an empty form to create"""
     template = 'admin/blog/new.html'
     context = {
         'form': self.form,
     }
     # render edit
     if post_id is not None:
         post = BlogPost.get_by_id(post_id)
         if post:
             self.form = BlogPostForm(obj=post)
             self.form.tags.data = ', '.join(post.tags)
             context.update({'form': self.form})
             template = 'admin/blog/edit.html'
         else:
             return redirect('admin/blog/')
     # render new
     return self.render_response(template, **context)
Esempio n. 15
0
def profile(id):
    form = BlogPostForm()
    if id == current_user.id and request.method == 'GET':
        posts = current_session.query(Post).filter(
            Post.user == current_user).all()
        return render_template('post.html', form=form, posts=posts)

    elif request.method == 'POST' and id == current_user.id and form.validate(
    ):
        post = Post(user=current_user,
                    title=form.title.data,
                    content=form.content.data)
        current_session.add(post)
        current_session.commit()
        flash('post_created')
        route_to = '/profile/' + str(current_user.id)
        return redirect(route_to)
    else:
        return redirect(url_for('login_route.login'))
Esempio n. 16
0
def edit_post(request, pk):
    post = get_object_or_404(BlogPost, pk=pk)
    context = RequestContext(request)

    if not request.user.id == post.user.id:
        title = 'Error!'
        message = 'You\'re not the author of this post!'
        return render_to_response('basesite/notification.html',
                                  {'title': title, 'message': message},
                                  context)

    if request.method == "POST":
        add_post(request)
    else:
        form = BlogPostForm()
        return render_to_response('blog/add_post.html',
                                  {'form': form,
                                   'post':post.body,
                                   'post_title':post.title,
                                   'post_tags':post.tag
                                   },
                                  context)
Esempio n. 17
0
def create():
    date = datetime.datetime.now()
    form = BlogPostForm()
    if form.validate_on_submit():
        filename = secure_filename(form.image.data.filename)
        form.image.data.save('project/static/images/' + filename)
        image_link = 'static/images/' + filename
        new_post = BlogPost(form.title_header.data, form.title_long.data,
                            form.content.data, form.tag.data, date, image_link,
                            current_user.id, form.author_name_manual.data)
        db.session.add(new_post)
        db.session.commit()
        flash('New entry was successfully posted. Thanks.')
        return redirect(url_for('home.create'))
    else:
        filename = None
        posts = db.session.query(BlogPost).all()
        return render_template('create.html',
                               posts=posts,
                               form=form,
                               error=error,
                               filename=filename)
Esempio n. 18
0
def new():
    form = BlogPostForm()
    return render_template('new.html', form=form)
Esempio n. 19
0
 def form(self):
     """Form instance as cached_property"""
     return BlogPostForm(self.request)