コード例 #1
0
ファイル: view.py プロジェクト: paraboul/FlaskPress
def category_id(id):
    try:
        category = Category.query.filter_by(id=id).first()
        categoryForm = CategoryForm(obj=category)
    except:
        redirect('/admin/categories/')

    if categoryForm.validate_on_submit():
        prevCategory = category
        categoryForm.populate_obj(category)
        category.link = slugify_unique(category.link, Category, prevCategory)

        db.session.commit()
        return redirect('/admin/categories/')

    fp['breadcrumb'] = [{
        'a': '/admin/categories/',
        'v': 'Categories'
    }, {
        'v': category.title
    }]

    return render_template('admin_category.html',
                           fp=fp,
                           category=category,
                           categoryForm=categoryForm)
コード例 #2
0
ファイル: view.py プロジェクト: paraboul/FlaskPress
def page_id(id):
    try:
        page = Page.query.filter_by(id=id).first()
        pageForm = PageForm(obj=page)
    except:
        return redirect('/admin/pages/')

    if pageForm.validate_on_submit():
        page.link = slugify_unique(pageForm.data['link'], Page, page)
        page.title = pageForm.data['title']
        page.body = pageForm.data['body']

        if pageForm.data['id_parent']:
            page.id_parent = pageForm.data['id_parent'].id
        else:
            page.id_parent = None

        db.session.commit()
        return redirect('/admin/pages/' + str(id) + '/')
    else:
        pageForm.id_parent.data = page.parent

    fp['breadcrumb'] = [{
        'a': '/admin/pages/',
        'v': 'Pages'
    }, {
        'v': page.title
    }]

    return render_template('admin_page.html',
                           fp=fp,
                           page=page,
                           pageForm=pageForm)
コード例 #3
0
ファイル: view.py プロジェクト: paraboul/FlaskPress
def categories():
    fp['breadcrumb'] = [{'v': 'Categories'}]
    categories = Category.query.all()
    categoryForm = CategoryForm()
    categoryMultiForm = CategoryMultiForm(prefix="multi_")

    if request.args.get('q') == 'add' and categoryForm.validate_on_submit():
        category = Category()
        categoryForm.populate_obj(category)
        category.link = slugify_unique(category.link, Category)
        db.session.add(category)
        db.session.commit()
        return redirect('/admin/categories/')

    if request.args.get('q') == 'multi':
        if request.form['multi_actions'] == 'D':
            ids = request.form.getlist('selected')
            for id in ids:
                to_del = Category.query.filter_by(id=id).first()
                db.session.delete(to_del)

            db.session.commit()

        return redirect('/admin/categories/')

    return render_template('admin_categories.html',
                           fp=fp,
                           categories=categories,
                           categoryForm=categoryForm,
                           categoryMultiForm=categoryMultiForm)
コード例 #4
0
ファイル: view.py プロジェクト: paraboul/FlaskPress
def category_id(id):
  try:
    category = Category.query.filter_by(id=id).first()
    categoryForm  = CategoryForm(obj=category)
  except:
    redirect('/admin/categories/')

  if categoryForm.validate_on_submit():
    prevCategory = category
    categoryForm.populate_obj(category)
    category.link = slugify_unique(category.link, Category, prevCategory)

    db.session.commit()
    return redirect('/admin/categories/')

  fp['breadcrumb'] = [
    {'a' : '/admin/categories/', 'v' : 'Categories'},
    {'v' : category.title}
  ]

  return render_template(
    'admin_category.html',
    fp=fp,
    category=category,
    categoryForm=categoryForm
  )
コード例 #5
0
ファイル: view.py プロジェクト: paraboul/FlaskPress
def pages():
    fp['breadcrumb'] = [{'v': 'Pages'}]
    pages = Page.query.filter_by(id_parent=None).all()
    pageForm = PageForm()
    pageMultiForm = PageMultiForm(prefix="multi_")

    if request.args.get('q') == 'add' and pageForm.validate_on_submit():
        page = Page()
        pageForm.populate_obj(page)

        if pageForm.data['id_parent']:
            page.id_parent = pageForm.data['id_parent'].id

        page.link = slugify_unique(page.link, Page)
        db.session.add(page)
        db.session.commit()

        return redirect('/admin/pages/')

    if request.args.get('q') == 'multi':
        if request.form['multi_actions'] == 'D':
            ids = request.form.getlist('selected')
            for id in ids:
                to_del = Page.query.filter_by(id=id).first()
                db.session.delete(to_del)

            db.session.commit()

        return redirect('/admin/pages/')

    return render_template('admin_pages.html',
                           fp=fp,
                           pages=pages,
                           pageForm=pageForm,
                           pageMultiForm=pageMultiForm)
コード例 #6
0
ファイル: view.py プロジェクト: paraboul/FlaskPress
def categories():
  fp['breadcrumb'] = [{'v' : 'Categories'}]
  categories = Category.query.all()
  categoryForm  = CategoryForm()
  categoryMultiForm = CategoryMultiForm(prefix="multi_")
  
  if request.args.get('q') == 'add' and categoryForm.validate_on_submit():
    category = Category()
    categoryForm.populate_obj(category)
    category.link = slugify_unique(category.link, Category)
    db.session.add(category)
    db.session.commit()
    return redirect('/admin/categories/')

  if request.args.get('q') == 'multi':
    if request.form['multi_actions'] == 'D':
      ids = request.form.getlist('selected')
      for id in ids:
        to_del = Category.query.filter_by(id=id).first()
        db.session.delete(to_del)

      db.session.commit()

    return redirect('/admin/categories/')

  return render_template(
    'admin_categories.html',
    fp=fp,
    categories=categories,
    categoryForm=categoryForm,
    categoryMultiForm=categoryMultiForm
  )
コード例 #7
0
ファイル: view.py プロジェクト: paraboul/FlaskPress
def page_id(id):
  try:
    page = Page.query.filter_by(id=id).first()
    pageForm  = PageForm(obj=page)
  except:
    return redirect('/admin/pages/')

  if pageForm.validate_on_submit():
    page.link = slugify_unique(pageForm.data['link'], Page, page)
    page.title       = pageForm.data['title']
    page.body        = pageForm.data['body']

    if pageForm.data['id_parent']:
      page.id_parent = pageForm.data['id_parent'].id
    else:
      page.id_parent = None

    db.session.commit()
    return redirect('/admin/pages/'+str(id)+'/')
  else:
    pageForm.id_parent.data = page.parent

  fp['breadcrumb'] = [
    {'a' : '/admin/pages/', 'v' : 'Pages'},
    {'v' : page.title}
  ]

  return render_template(
    'admin_page.html',
    fp=fp,
    page=page,
    pageForm=pageForm
  )
コード例 #8
0
ファイル: view.py プロジェクト: paraboul/FlaskPress
def post_id(id):
    try:
        post = Post.query.filter_by(id=id).first()
        postForm = PostForm(obj=post)
    except:
        return redirect('/admin/posts/')

    if postForm.validate_on_submit():
        post.link = slugify_unique(postForm.data['link'], Post, post)
        post.title = postForm.data['title']
        post.body = postForm.data['body']

        if postForm.data['id_category']:
            post.id_category = postForm.data['id_category'].id
        else:
            post.id_category = None

        for tag in post.tags:
            post.tags.remove(tag)

        db.session.commit()

        tags = string.split(postForm.data['tags'], ',')
        for tag in tags:
            try:
                existing = Tag.query.filter_by(link=slugify(tag)).one()
                post.tags.append(existing)
            except:
                new_tag = Tag(name=tag, link=slugify(tag))
                db.session.add(new_tag)
                db.session.commit()
                post.tags.append(new_tag)

        db.session.commit()
        return redirect('/admin/posts/' + str(id) + '/')
    else:
        postForm.tags.data = post.tagsTxt
        postForm.id_category.data = post.category

    fp['breadcrumb'] = [{
        'a': '/admin/posts/',
        'v': 'Posts'
    }, {
        'v': post.title
    }]

    return render_template('admin_post.html',
                           fp=fp,
                           post=post,
                           postForm=postForm)
コード例 #9
0
ファイル: view.py プロジェクト: paraboul/FlaskPress
def post_id(id):
  try:
    post = Post.query.filter_by(id=id).first()
    postForm  = PostForm(obj=post)
  except:
    return redirect('/admin/posts/')

  if postForm.validate_on_submit():
    post.link = slugify_unique(postForm.data['link'], Post, post)
    post.title       = postForm.data['title']
    post.body        = postForm.data['body']

    if postForm.data['id_category']:
      post.id_category = postForm.data['id_category'].id
    else:
      post.id_category = None

    for tag in post.tags:
      post.tags.remove(tag)

    db.session.commit()

    tags = string.split(postForm.data['tags'], ',')
    for tag in tags:
      try:
        existing = Tag.query.filter_by(link=slugify(tag)).one()
        post.tags.append(existing)
      except:
        new_tag = Tag(name=tag, link=slugify(tag))
        db.session.add(new_tag)
        db.session.commit()
        post.tags.append(new_tag)
        
    db.session.commit()
    return redirect('/admin/posts/'+str(id)+'/')
  else:
    postForm.tags.data = post.tagsTxt
    postForm.id_category.data = post.category

  fp['breadcrumb'] = [
    {'a' : '/admin/posts/', 'v' : 'Posts'},
    {'v' : post.title}
  ]

  return render_template(
    'admin_post.html',
    fp=fp,
    post=post,
    postForm=postForm
  )
コード例 #10
0
ファイル: view.py プロジェクト: paraboul/FlaskPress
def posts():
  fp['breadcrumb'] = [{'v' : 'Posts'}]
  posts = Post.query.all()
  postForm  = PostForm()
  postMultiForm = PostMultiForm(prefix="multi_")

  if request.args.get('q') == 'add' and postForm.validate_on_submit():
    post = Post(
      id_category = postForm.data['id_category'].id,
      link        = postForm.data['link'],
      title       = postForm.data['title'],
      body        = postForm.data['body']
    )
    tags = string.split(postForm.data['tags'], ',')
    post.link = slugify_unique(post.link, Post)
    db.session.add(post)
    db.session.commit()

    for tag in tags:
      try:
        existing = Tag.query.filter_by(link=slugify(tag)).one()
        post.tags.append(existing)
      except:
        new_tag = Tag(name=tag, link=slugify(tag))
        db.session.add(new_tag)
        db.session.commit()
        post.tags.append(new_tag)
        
    db.session.commit()

    return redirect('/admin/posts/')

  if request.args.get('q') == 'multi':
    if request.form['multi_actions'] == 'D':
      ids = request.form.getlist('selected')
      for id in ids:
        to_del = Post.query.filter_by(id=id).first()
        db.session.delete(to_del)

      db.session.commit()

    return redirect('/admin/posts/')

  return render_template(
    'admin_posts.html',
    fp=fp,
    posts=posts,
    postForm=postForm,
    postMultiForm=postMultiForm
  )
コード例 #11
0
ファイル: view.py プロジェクト: paraboul/FlaskPress
def posts():
    fp['breadcrumb'] = [{'v': 'Posts'}]
    posts = Post.query.all()
    postForm = PostForm()
    postMultiForm = PostMultiForm(prefix="multi_")

    if request.args.get('q') == 'add' and postForm.validate_on_submit():
        post = Post(id_category=postForm.data['id_category'].id,
                    link=postForm.data['link'],
                    title=postForm.data['title'],
                    body=postForm.data['body'])
        tags = string.split(postForm.data['tags'], ',')
        post.link = slugify_unique(post.link, Post)
        db.session.add(post)
        db.session.commit()

        for tag in tags:
            try:
                existing = Tag.query.filter_by(link=slugify(tag)).one()
                post.tags.append(existing)
            except:
                new_tag = Tag(name=tag, link=slugify(tag))
                db.session.add(new_tag)
                db.session.commit()
                post.tags.append(new_tag)

        db.session.commit()

        return redirect('/admin/posts/')

    if request.args.get('q') == 'multi':
        if request.form['multi_actions'] == 'D':
            ids = request.form.getlist('selected')
            for id in ids:
                to_del = Post.query.filter_by(id=id).first()
                db.session.delete(to_del)

            db.session.commit()

        return redirect('/admin/posts/')

    return render_template('admin_posts.html',
                           fp=fp,
                           posts=posts,
                           postForm=postForm,
                           postMultiForm=postMultiForm)
コード例 #12
0
ファイル: view.py プロジェクト: paraboul/FlaskPress
def pages():
  fp['breadcrumb'] = [{'v' : 'Pages'}]
  pages = Page.query.filter_by(id_parent=None).all()
  pageForm  = PageForm()
  pageMultiForm = PageMultiForm(prefix="multi_")

  if request.args.get('q') == 'add' and pageForm.validate_on_submit():
    page = Page()
    pageForm.populate_obj(page)

    if pageForm.data['id_parent']:
      page.id_parent = pageForm.data['id_parent'].id

    page.link = slugify_unique(page.link, Page)
    db.session.add(page)
    db.session.commit()
      
    return redirect('/admin/pages/')

  if request.args.get('q') == 'multi':
    if request.form['multi_actions'] == 'D':
      ids = request.form.getlist('selected')
      for id in ids:
        to_del = Page.query.filter_by(id=id).first()
        db.session.delete(to_del)

      db.session.commit()

    return redirect('/admin/pages/')

  return render_template(
    'admin_pages.html',
    fp=fp,
    pages=pages,
    pageForm=pageForm,
    pageMultiForm=pageMultiForm
  )