コード例 #1
0
ファイル: views.py プロジェクト: dimitree/cspclabWeb
def write( request, board_category = None, entry_id = None ):
    initial_data = {}
    if board_category != None:
        category = get_object_or_404(Categories, title = board_category)
        initial_data["category"] = category.id

    if request.method == "POST":
        form = WriteForm(request.POST, request.FILES)
        if form.is_valid():
            if len(request.FILES) != 0:
                handle_uploaded_file(request.FILES['attachedFile'])
            post = form.save(commit=False)
            post.user = request.user
            post.save()
            return redirect(reverse("board-read", kwargs={"entry_id":post.id}))
        else:
            var = RequestContext(request, {
                'form':form
            })
            return render_to_response('write.html', var )
    else:
        if entry_id == None:
            form = WriteForm(initial=initial_data)
        else:
            post = get_object_or_404(WritingEntries, id=entry_id)
            if request.user != post.user and not request.user.is_superuser :
                return HttpResponseForbidden("not allowed")
            form = WriteForm(data=request.POST or None, instance = post)
        var = RequestContext(request, {
            'form':form
            })
        return render_to_response('write.html', var )
コード例 #2
0
ファイル: views.py プロジェクト: jongman/algospot
def write(request, slug, id):
    initial_data = {}
    categories = get_categories_for_user(request.user, 'forum.write_post')
    action = u"글 쓰기"
    if slug != None:
        category = get_object_or_404(Category, slug=slug)
        initial_data["category"] = category.id
    if id != None:
        action = u"글 편집하기"
        post = get_object_or_404(Post, id=id)
        if not request.user.is_superuser and request.user != post.user:
            return HttpResponseForbidden("Operation is forbidden.")
        category = post.category
        categories = categories | Category.objects.filter(id=category.id) # nah
        form = WriteForm(categories, data=request.POST or None, instance=post)
    else:
        if not categories.filter(id=category.id).exists():
            return HttpResponseForbidden("Operation is forbidden.")
        form = WriteForm(categories, data=request.POST or None, initial=initial_data)

    if request.method == "POST" and form.is_valid():
        post = form.save(commit=False)
        if id == None: post.user = request.user
        post.save()
        return redirect(reverse("forum-read", kwargs={"id": post.id}))
    return render(request, "write.html", {"form": form, "action": action,
                                          "category": category, "categories": categories})
コード例 #3
0
ファイル: views.py プロジェクト: ZS140/Blog_Demo
def write():
    form = WriteForm()
    if form.validate_on_submit():
        post = Post()
        post.title = request.form.get('title')
        post.content = request.form.get('content')
        post.time = datetime.datetime.now()
        post.user_id = current_user.id
        db.session.add(post)
        db.session.commit()
        return redirect(url_for('index'))
    return render_template('write.html', form=form)
コード例 #4
0
ファイル: views.py プロジェクト: ZS140/Blog_Demo
def edit(post_id):
    form = WriteForm()
    post = Post.query.filter(Post.id == post_id).first()
    form.title.data = post.title
    form.content.data = post.content
    if form.validate_on_submit():
        post.title = request.form.get("title")
        post.content = request.form.get("content")
        post.time = datetime.datetime.now()
        db.session.add(post)
        db.session.commit()
        return redirect(url_for('user', id=current_user.id))
    return render_template('edit.html', form=form, post=post)
コード例 #5
0
ファイル: write.py プロジェクト: uppfinnarn/storybox
def story(identifier):
	story = Story.query.filter_by(identifier=identifier).first()
	form = WriteForm()
	# For some reason, we can't set a default value after the field has been initialized,
	# so... let's put all the pages in BACKWARDS! :D
	form.prev_page.choices = [(page.id, page.title) for page in story.pages[::-1]] or [(-1, '-- No Other Pages --')]
	form.prev_page.disabled = (len(story.pages) == 0)
	
	if form.validate_on_submit():
		prev_page = Page.query.filter_by(id=form.prev_page.data).first() if len(story.pages) > 0 else None
		page = Page(current_user, story, prev_page, form.title.data, form.text.data)
		db.session.add(page)
		db.session.commit()
		return redirect(url_for('stories.page', identifier=story.identifier, pageID=page.identifier))
	return render_template('write/story.html', story=story, form=form)
コード例 #6
0
ファイル: view.py プロジェクト: kgyeongmi21/flask-assignment
def writing_page():
    form = WriteForm()
    if form.validate_on_submit():
        user = User.query.filter_by(name=form.author.data).first()
        if user is None:
            user = User(name=form.author.data)
            db.session.add(user)
            db.session.commit()

        post = Post(title=form.title.data,
                    body=form.content.data,
                    userid=user.userid)
        db.session.add(post)
        db.session.commit()
        session['username'] = user.name
        session['userid'] = user.userid
        return redirect(url_for('.board_page'))
    return render_template("write.html", form=form)
コード例 #7
0
ファイル: views.py プロジェクト: Uhniboogui/cspclabWeb
def write( request ):
    page_title = 'Write page'
    categories = Categories.objects.all()
    tpl = loader.get_template('write.html')
    if request.method == "POST":
        form = WriteForm(request.POST, request.FILES)
        if form.is_valid():
            handle_uploaded_file(request.FILES['attachedFile'])
            post = form.save(commit=False)
            post.save()
            tpl = loader.get_template('main.html')
            return HttpResponse( tpl )
    else:
        form = WriteForm()
        ctx = Context({
            'page_title':page_title,
            'categories':categories,
            'form':form
            })
        return HttpResponse( tpl.render(ctx) )
コード例 #8
0
ファイル: view.py プロジェクト: kgyeongmi21/flask-assignment
def post_page(postid):
    post = Post.query.filter_by(postid=postid).first()
    post.user = User.query.filter_by(userid=post.userid).first()
    form = WriteForm()
    form.title.data = post.title
    form.title.render_kw = {'readonly': True}
    form.author.data = post.user.name
    form.author.render_kw = {'readonly': True}
    form.content.data = post.body
    form.content.render_kw = {'readonly': True}
    form.submit.render_kw = {'style': 'display: none'}
    return render_template("detail.html", form=form)
コード例 #9
0
def write(request, slug, id):
    initial_data = {}
    categories = get_categories_for_user(request.user, 'forum.write_post')
    action = u"글 쓰기"
    if slug != None:
        category = get_object_or_404(Category, slug=slug)
        initial_data["category"] = category.id
    if id != None:
        action = u"글 편집하기"
        post = get_object_or_404(Post, id=id)
        if not request.user.is_superuser and request.user != post.user:
            return HttpResponseForbidden("Operation is forbidden.")
        category = post.category
        categories = categories | Category.objects.filter(
            id=category.id)  # nah
        form = WriteForm(categories, data=request.POST or None, instance=post)
    else:
        if not categories.filter(id=category.id).exists():
            return HttpResponseForbidden("Operation is forbidden.")
        form = WriteForm(categories,
                         data=request.POST or None,
                         initial=initial_data)

    if request.method == "POST" and form.is_valid():
        post = form.save(commit=False)
        if id == None: post.user = request.user
        post.save()
        return redirect(reverse("forum-read", kwargs={"id": post.id}))
    return render(
        request, "write.html", {
            "form": form,
            "action": action,
            "category": category,
            "categories": categories
        })
コード例 #10
0
def write():
    form = WriteForm()
    if (form.filename.data and form.text.data):
        name = form.filename.data
        filename1 = str(name) + ".txt"

        list_names = os.listdir('./')

        if (filename1 in list_names):
            flash("file already exist (try editing)", 'danger')
            return redirect(url_for('write'))

        else:
            text1 = form.text.data
            text2 = open(filename1, 'w+')
            text2.write(text1)
            text2.close()

    if (form.validate_on_submit()):
        flash("file created !", 'success')
        return redirect(url_for('home'))
    return render_template("write.html", title="write", form=form)
コード例 #11
0
ファイル: app.py プロジェクト: WeiWei1992/interface_autotest
def write():
    form = WriteForm()
    if request.method == 'POST':
        username = request.form.get('username')
        interface_name = request.form.get('interface_name')
        exe_mode = request.form.get('exe_mode')
        interface_url = request.form.get('interface_url')
        header = request.form.get('header')
        cookie = request.form.get('cookie')
        params = request.form.get('params')
        expect_params = request.form.get('expect_params')
        expect_params_value = request.form.get('expect_params_value')
        complete_params = request.form.get('complete_params')

        flash('提交成功 ')
        print("username: "******"interface_name: ", interface_name)
        print("exe_mode:", exe_mode)
        print("interface_url: ", interface_url)
        print("header:", header)
        print("cookie: ", cookie)
        print("params: ", params)
        print("expect_params: ", expect_params)
        print("expect_params_value: ", expect_params_value)
        print("complete_params: ", complete_params)

        db1 = OpenationDbInterface()
        db1.insert_value(username, interface_name, exe_mode, interface_url,
                         header, cookie, params, expect_params,
                         expect_params_value, complete_params)
        # for i in range(len(res)):
        #     print(res[i])
        # db.insert_value(username,interface_url)

        return redirect(url_for('write'))
    return render_template('write.html')
コード例 #12
0
ファイル: andywrote.py プロジェクト: andrewblim/andywrote.me
def blog_submit_post(post=None):

    form = WriteForm()
    if form.is_submitted():

        # pre-validation sanitization
        title    = bleach.clean(form.title.data, tags=[])
        tag_list = bleach.clean(form.tag_list.data, tags=[])
        tag_list = re.sub('\s+', ' ', tag_list).strip()
        body     = bleach.clean(form.body.data, tags=allowed_tags_body)

        if form.validate():
            try:

                # Convert line breaks/apply smartypants as needed

                body = clean_post_text(body,
                                       form.convert_breaks.data,
                                       form.use_smartypants.data)
                if form.use_smartypants.data:
                    title = smartypants(title)

                # Get list of tag names

                tag_list = set(re.split('\s?,\s?', tag_list))
                if len(tag_list) == 1 and '' in tag_list:
                    tag_list = set([])

                # Generate slug for post if it's not specified. It's a ValidationError to
                # have a duplicate slug, though generate_slug_for_post will try to get
                # around that. 

                if form.slug.data == '':
                    slug_title = generate_slug_for_post(title)
                    if len(slug_title) > 80:
                        form.title.errors.append("Couldn't generate a slug from title - try a different title.")
                        raise ValidationError
                else: 
                    slug_title = form.slug.data
                    if post is None and Post.query.filter_by(slug=form.slug.data).first() is not None:
                        form.slug.errors.append("There is already a post with that slug")
                        raise ValidationError

                # Add the post, if it's a new one. 

                if post is None:
                    new_post = Post(title=title, 
                                    body=body, 
                                    slug=slug_title,
                                    authors=[current_user])
                    for tag_name in tag_list:
                        tag = find_or_create_tag_by_name(tag_name)
                        new_post.tags.append(tag)
                    db.session.add(new_post)

                # If it's not new, edit post

                else:
                    post.title     = title
                    post.body      = body
                    post.slug      = slug_title
                    post.authors   = [current_user]
                    post.published = form.published.data
                    tags_removed   = filter(lambda x: x.name not in tag_list, post.tags)
                    post.tags      = []
                    for tag_name in tag_list:
                        tag = find_or_create_tag_by_name(tag_name)
                        post.tags.append(tag)
                    # remove tags that are now not used by any posts
                    for tag in tags_removed:
                        if len(tag.posts.all()) == 1:
                            db.session.delete(tag)

                db.session.commit()
                if post is None:
                    flash(u'Successfully posted: %s' % title, category='blog')
                else:
                    flash(u'Successfully edited: %s' % title, category='blog')
                return redirect('/blog')

            except ValidationError:
                pass
        else:
            pass

    flash(u'There were errors in your submission. Please check below.')
    return render_template('blog/write.html', form=form)