Esempio n. 1
0
def add(request):
    if request.method == 'POST':
        form = EntryForm(request.POST)  # A form bound to the POST data
        if form.is_valid():
            form.save(request.user)

            messages.success(request, 'Entry was successfully added!')
            return redirect('blog:index')

        else:
            errors = []
            for field in form:
                for error in field.errors:
                    errors.append(field.label + " " + error)

            for error in form.non_field_errors():
                errors.append(field.label + " " + error)

            print(errors)

    else:
        form = EntryForm()

    context = {'form': form}

    return render(request, 'blog/entry.html', context)
Esempio n. 2
0
def create_edit_entry(entry_id=0):
    errors = None
    if entry_id == 0:
        entry_form = EntryForm()
    else:
        entry = Entry.query.filter_by(id=entry_id).first_or_404()
        entry_form = EntryForm(obj=entry)

    if request.method == "POST":
        if request.form["btn"] == "Save":
            if entry_form.validate_on_submit():
                if entry_id == 0:
                    entry = Entry(title=entry_form.title.data,
                                  body=entry_form.body.data,
                                  is_published=entry_form.is_published.data)
                    db.session.add(entry)
                else:
                    entry_form.populate_obj(entry)
            else:
                errors = entry_form.errors
                flash('Nie wpowadzono zmian', 'danger')

        if request.form["btn"] == "Cancel":
            return redirect(url_for("index"))

        db.session.commit()
        flash('Zmiany dodane pomyślnie', 'success')
        return redirect(url_for("index"))

    return render_template("entry_form.html",
                           entry_form=entry_form,
                           errors=errors)
Esempio n. 3
0
def create_update(entry_id=None):
    errors = None
    if entry_id != None:
        entry = Entry.query.filter_by(id=entry_id).first_or_404()
        form = EntryForm(obj=entry)
        if request.method == 'POST':
            if form.validate_on_submit():
                form.populate_obj(entry)
                db.session.commit()
            else:
                errors = form.errors
    else:
        form = EntryForm()
        if request.method == 'POST':
            if form.validate_on_submit():
                entry = Entry(
                    title=form.title.data,
                    body=form.body.data,
                    is_published=form.is_published.data
                )
                db.session.add(entry)
                db.session.commit()
            else:
                errors = form.errors
    return form, errors
Esempio n. 4
0
def create_update(entry_id=None):
    errors = None
    if entry_id is None:
        form = EntryForm()
        if request.method == 'POST':
            if form.validate_on_submit():
                entry = Entry(
                    title=form.title.data,
                    body=form.body.data,
                    is_published=form.is_published.data
                )
                db.session.add(entry)
                db.session.commit()
                flash('The post has been successfully added!')
                return redirect(url_for("index"))
            else:
                errors = form.errors
    elif entry_id != 0:
        entry = Entry.query.filter_by(id=entry_id).first_or_404()
        form = EntryForm(obj=entry)
        if request.method == 'POST':
            if form.validate_on_submit():
                form.populate_obj(entry)
                db.session.commit()
                flash('The post has been successfully changed!')
                return redirect(url_for("index"))
            else:
                errors = form.errors
    return render_template("entry_form.html", form=form, errors=errors)
Esempio n. 5
0
def get_entries(entry_id):
    errors = None
    if entry_id != 0:
        entry = Entry.query.filter_by(id=entry_id).first_or_404()
        form = EntryForm(obj=entry)
        flash_mess = f'Edytowano post {entry.title} na blogu.'

    else:
        form = EntryForm()
        entry = Entry(
            title=form.title.data,
            body=form.body.data,
            is_published=form.is_published.data
            )
        flash_mess = f'Dodano post {entry.title} na bloga.'
        

    if request.method == 'POST':
        if form.validate_on_submit():
            if entry_id != 0:
                form.populate_obj(entry)
            else:
                db.session.add(entry)
            db.session.commit()
            flash(flash_mess)
            return redirect(url_for("index"))
        else:
            errors = form.errors

    return render_template("entry_form.html", form=form, errors=errors)
Esempio n. 6
0
def entry(entry_id=None):
    if entry_id is None:
        form = EntryForm()
        errors = None
        if request.method == "POST":
            if form.validate_on_submit():
                entry = Entry(
                    title = form.title.data,
                    body = form.body.data,
                    is_published = form.is_published.data
                )
                db.session.add(entry)
                db.session.commit()
                flash(f'Dodano wpis {form.title.data} do bloga!')
            else:
                errors = form.errors
        return render_template("entry_form.html", form=form, errors=errors)
    else:
        entry = Entry.query.filter_by(id=entry_id).first_or_404()
        form = EntryForm(obj=entry)
        errors = None
        if request.method == 'POST':
            if form.validate_on_submit():
                form.populate_obj(entry)
                db.session.commit()
                flash(f'Zmieniono wpis {form.title.data}')
            else:
                errors = form.errors
        return render_template("entry_form.html", form=form, errors=errors)
Esempio n. 7
0
def create_or_edit_entry(**kwargs):
    # GET
    entry_id = kwargs.pop('entry_id', None)
    form = EntryForm()
    entry = None
    errors = None
    if entry_id:
        entry = Entry.query.filter_by(id=entry_id).first_or_404()
        form = EntryForm(obj=entry)

    # POST
    if request.method == 'POST':
        if form.validate_on_submit():
            if entry_id:
                form.populate_obj(entry)
                db.session.commit()
                flash(
                    'Zmiany w poscie zostały zapisane. '
                    'Aby wyświetlić go na stronie głównej pamiętaj aby zaznaczyć "Wpis opublikowany"'
                )
            else:
                entry = Entry(title=form.title.data,
                              body=form.body.data,
                              is_published=form.is_published.data)
                db.session.add(entry)
                db.session.commit()
                flash(
                    'Nowy post został dodany. '
                    'Aby wyświetlić go na stronie głównej pamiętaj aby zaznaczyć "Wpis opublikowany"'
                )
        else:
            errors = form.errors
    return render_template('entry_form.html', form=form, errors=errors)
Esempio n. 8
0
def add_post(id=None):
    if id:
        post = Entry.query.filter_by(id=id).first()
        form = EntryForm(
            data={
                'title': post.title,
                'body': post.body,
                'is_published': post.is_published
            })
        post.title = form.title.data
        post.body = form.body.data
        post.is_published = form.is_published.data
        if form.is_published.data:
            flash(f'Post "{form.title.data.upper()}" updated!')
        else:
            flash('Required box not checked. Post not added.')
    else:
        form = EntryForm()
        new_post = Entry(title=form.title.data,
                         body=form.body.data,
                         is_published=form.is_published.data)
        db.session.add(new_post)
        if form.is_published.data:
            flash(f'New post "{form.title.data.upper()}" added!')
        else:
            flash('Required box not checked. Post not added.')
    db.session.commit()
Esempio n. 9
0
def newpost(request):
    if request.POST:
        entryform = EntryForm(request.POST)
        if entryform.is_valid():
            entryform.save(request)
            messages.add_message(request, messages.WARNING,
                                 'Your post is waiting to approve by admin.')
            return render_to_response('home.html', RequestContext(request))
    else:
        entryform = EntryForm()
        return render_to_response('newpost.html', {'form': entryform},
                                  RequestContext(request))
Esempio n. 10
0
def get_post(id=None):
    if id:
        post = Entry.query.filter_by(id=id).first()
        form = EntryForm(
            data={
                'title': post.title,
                'body': post.body,
                'is_published': post.is_published
            })
    else:
        form = EntryForm()
    return form
Esempio n. 11
0
def edit(request, entry_id):
    entry = get_object_or_404(Entry, id=entry_id)
    if request.method == 'POST':
        form = EntryForm(request.POST, instance=entry)
        if form.is_valid():
            form.save()
            messages.success(request, 'Entry was successfully edited!')
            return redirect('index')
    else:
        form = EntryForm(instance=entry)

    context = {'form': form}

    return render(request, 'blog/entry.html', context)
Esempio n. 12
0
def delete_entry(entry_id=None):
    entry = Entry.query.filter_by(id=entry_id).first_or_404()
    form = EntryForm(obj=entry)
    db.session.delete(entry)
    db.session.commit()
    flash(f'Usuniętio wpis {form.title.data}')
    return redirect(url_for("list_drafts"))
Esempio n. 13
0
def create_entry():
    form = EntryForm()
    errors = None
    if request.method == 'POST':
        edit_db_entry(form=form)
        return redirect(url_for('index'))
    return render_template("entry_form.html", form=form, errors=errors)
Esempio n. 14
0
def delete_entry(entry_id):
    entry = Entry.query.filter_by(id=entry_id).first_or_404()
    form = EntryForm(obj=entry)
    if request.method == 'POST':
        db.session.delete(entry)
        db.session.commit()
    return redirect(url_for('index'))
Esempio n. 15
0
def new_entry(request, topic_id):
    '''添加新条目'''
    topic = Topic.objects.get(id=topic_id)
    if topic.owner != request.user:
        raise Http404
    if request.method != 'POST':
        form = EntryForm()
    else:
        form = EntryForm(request.POST)
        if form.is_valid():
            new_entry = form.save(commit=False)
            new_entry.topic = topic
            new_entry.save()
            return redirect(reverse('blog:topic', args=[topic_id]))
    context = {'form': form, 'title': '条目创建页面', 'topic': topic}

    return render(request, 'blog/new_entry.html', context)
Esempio n. 16
0
def edit_entry(request, entry_id):
    '''编辑既有条目'''
    entry = Entry.objects.get(id=entry_id)
    topic = entry.topic
    if topic.owner != request.user:
        raise Http404

    if request.method != 'POST':
        form = EntryForm(instance=entry)
    else:
        form = EntryForm(data=request.POST, instance=entry)
        if form.is_valid():
            form.save()
            return redirect(reverse('blog:topic', args=[topic.id]))

    context = {'form': form, 'title': '编辑条目页面', 'topic': topic, 'entry': entry}
    return render(request, 'blog/edit_entry.html', context)
Esempio n. 17
0
def edit_entry(request, entry_id):
    """编辑条目"""
    entry = Entry.objects.get(id=entry_id)
    topic = entry.topic
    if topic.author != request.user: raise Http404
    if request.method != 'POST':

        # 未提交数据:创建一个新表单
        form = EntryForm(instance=entry)
    else:
        # POST提交的数据,对数据进行处理
        form = EntryForm(instance=entry, data=request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('blog:topic', args=[topic.id]))
    context = {'entry': entry, 'topic': topic, 'form': form}
    return render(request, 'blog/edit_entry.html', context)
Esempio n. 18
0
def edit_entry(entry_id):
    entry = Entry.query.filter_by(id=entry_id).first_or_404()
    form = EntryForm(obj=entry)
    errors = None
    if request.method == 'POST':
        edit_db_entry(form=form, entry_id=entry_id)
        return redirect(url_for('index'))
    return render_template("entry_form.html", form=form, errors=errors)
Esempio n. 19
0
def new_entry(request, topic_id):
    topic = Topic.objects.get(id=topic_id)
    if topic.author != request.user: raise Http404
    if request.method != 'POST':

        # 未提交数据:创建一个新表单
        form = EntryForm()
    else:
        # POST提交的数据,对数据进行处理
        form = EntryForm(data=request.POST)
        if form.is_valid():
            new_entry = form.save(commit=False)
            new_entry.topic = topic
            new_entry.save()
            return HttpResponseRedirect(reverse('blog:topic', args=[topic_id]))
    context = {'topic': topic, 'form': form}
    return render(request, 'blog/new_entry.html', context)
Esempio n. 20
0
def create_entry():
    form = EntryForm()
    entry_id = None
    entry = Entry(
        title=form.title.data,
        body=form.body.data,
        is_published=form.is_published.data
        )
    return create_or_edit_entry(entry_id, entry, form)
Esempio n. 21
0
def create_entry():
    form = EntryForm()
    errors = None

    if request.method == 'POST':
        errors = new_or_edit(form)
        return redirect(url_for('index', errors=errors))  #error message

    return render_template("entry_form.html", form=form, errors=errors)
def create_edit(entry_id=None, entry=None):
    form = EntryForm()
    errors = None
    if request.method == 'POST':
        if form.validate_on_submit():
            if entry_id == None:
                entry = Entry(title=form.title.data,
                              body=form.body.data,
                              is_published=form.is_published.data)
                db.session.add(entry)
                db.session.commit()
                flash('Dodano nowy post')
            else:
                entry = Entry.query.filter_by(id=entry_id).first_or_404()
                form = EntryForm(obj=entry)
                form.populate_obj(entry)
                db.session.commit()
                flash('Zaktualizowano post')
        else:
            errors = form.errors
    return render_template("entry_form.html", form=form, errors=errors)
Esempio n. 23
0
def delete_entry(entry_id):
    entry = Entry.query.filter_by(id=entry_id).first_or_404()
    form = EntryForm(obj=entry)
    errors = None
    if request.method == 'POST':
        if form.validate_on_submit():
            db.session.delete(entry)
            db.session.commit()
            flash(f'Usunięto wpis!')
            return redirect(url_for('list_drafts'))
        else:
            errors = form.errors
    return errors
Esempio n. 24
0
def edit(request, entry_id):
    e = get_object_or_404(Entry, id=entry_id)
    if request.user.id == e.author.id:
        if request.POST:
            entryform = EntryForm(request.POST)
            if entryform.is_valid():
                entryform.save_as(request, e)
                messages.add_message(request, messages.WARNING,
                                     'Your post is waiting for approvement.')
                return HttpResponseRedirect('/')
        else:
            entryform = EntryForm({'title': e.title, 'content': e.content})
            return render_to_response('edit.html', {
                'entry_id': entry_id,
                'form': entryform
            }, RequestContext(request))
    else:
        messages.add_message(
            request, messages.ERROR,
            'You can not edit this post, because you are not the author of it.'
        )
        return HttpResponseRedirect('/')
Esempio n. 25
0
def generate_post(entry_id=None):
    if entry_id:
        entry = Entry.query.filter_by(id=entry_id).first_or_404()
        form = EntryForm(obj=entry)
    else:
        form = EntryForm()
    errors = None
    if request.method == 'POST':
        if form.validate_on_submit():
            if entry_id:
                form.populate_obj(entry)
                flash('Post changed', 'success')
            else:
                entry = Entry(title=form.title.data,
                              body=form.body.data,
                              is_published=form.is_published.data)
                db.session.add(entry)
                flash('Post created', 'success')
            db.session.commit()
        else:
            errors = form.errors
    return render_template("entry_form.html", form=form, errors=errors)
Esempio n. 26
0
def create_and_edit_entry(entry_id=None):
    if entry_id != None:
        entry = Entry.query.filter_by(id=entry_id).first_or_404()
        form = EntryForm(obj=entry)
    else:
        form = EntryForm()
    error = None
    if request.method == 'POST':
        if form.validate_on_submit():
            if entry_id != None:
                form.populate_obj(entry)
            else:
                entry = Entry(title=form.title.data,
                              body=form.body.data,
                              is_published=form.is_published.data)
                db.session.add(entry)
            db.session.commit()
            if entry.is_published == True:
                flash("Dodano nowy wpis do blogu")
            return redirect(url_for('homepage'))
        else:
            error = form.errors
    return render_template('entry_form.html', form=form, error=error)
Esempio n. 27
0
def create_entry():
    ##  return create_edit(None)
    form = EntryForm()
    errors = None
    if request.method == 'POST':
        if form.validate_on_submit():
            entry = Entry(title=form.title.data,
                          body=form.body.data,
                          is_published=form.is_published.data)
            db.session.add(entry)
            db.session.commit()
        else:
            errors = form.errors
    return render_template("entry_form.html", form=form, errors=errors)
Esempio n. 28
0
def edit_entry(entry_id):
    ##  return create_edit(entry_id)
    entry = Entry.query.filter_by(id=entry_id).first_or_404()
    form = EntryForm(obj=entry)
    errors = None
    if request.method == "POST":
        if form.validate_on_submit():
            form.populate_obj(entry)
            db.session.commit()
            flash("Twój wpis został zmieniony", "info")
            return redirect("/")
        else:
            errors = form.errors
    return render_template("entry_form.html", form=form, errors=errors)
Esempio n. 29
0
def edit_entry(entry_id=None):
    if entry_id:
        entry = Entry.query.filter_by(id=entry_id).first_or_404()
        form = EntryForm(obj=entry)
    else:
        form = EntryForm()
    errors = None
    if request.method == 'POST':
        if form.validate_on_submit():
            if entry_id:
                form.populate_obj(entry)
                flash("Successfully edited the post.")
            else:
                entry = Entry(title=form.title.data,
                              body=form.body.data,
                              is_published=form.is_published.data)
                db.session.add(entry)
                flash("Successfully created the post.")
            db.session.commit()
            return redirect("/")
        else:
            errors = form.errors
    return render_template("entry_form.html", form=form, errors=errors)
Esempio n. 30
0
def search():
    errors = None
    form = EntryForm()
    search_query = request.args.get("q", "")
    all_posts = Entry.query.filter_by(is_published=True).order_by(
        Entry.pub_date.desc())
    if search_query:
        posts = Entry.query.filter(
            or_(Entry.title.like('%' + search_query + '%'),
                Entry.body.like('%' + search_query + '%')))
        return render_template("search.html",
                               posts=posts,
                               search_query=search_query)
    else:
        errors = form.errors
    return render_template("homepage.html", form=form, errors=errors)