Example #1
0
def show(page_id):
    page = Page.get_page(Page(), page_id)
    content = Markup(markdown.markdown(page.content))
    tags = page.get_tags()
    if current_user.is_authenticated:
        comment = Comment(('', current_user.user_id, page_id, ''))
        comments = process_comments(page.get_comments())
    else:
        comment = None
        comments = []
    form = CommentForm(secret_key=app.config['SECRET_KEY'], obj=comment)
    if form.validate_on_submit():
        form.populate_obj(comment)
        comment.new_comment(comment)
        flash('Comment posted successfully!', 'success')
        return redirect('/pages/%s' % page_id)
    elif form.is_submitted():
        if current_user.is_authenticated:
            flash('Can\'t post if there is no content!', 'warning')
        else:
            flash('You must login first to post a comment!', 'info')
            return redirect('/users/login')
    return render_template('pages/show.html',
                           title="Show Page",
                           content=content,
                           page_id=page_id,
                           comments=comments,
                           comment=comment,
                           tags=tags,
                           form=form)
Example #2
0
def index():
    return render_template('database/index.html',
                           title="Database",
                           users=User.all(User()),
                           pages=Page.get_all_pages(Page()),
                           comments=Comment.get_all_comments(Comment()),
                           tags=Tag.get_all_tags(Tag()))
Example #3
0
def edit(page_id):
    page = Page.get_page(Page(), page_id)
    form = EditForm(secret_key=app.config['SECRET_KEY'], obj=page)
    if form.validate_on_submit():
        form.populate_obj(page)
        page.save_page()
        flash('Page edited successfully.', 'success')
        return redirect('/pages/%s' % page_id)
    elif form.is_submitted():
        flash('Can\'t submit empty page!', 'warning')
    return render_template('pages/edit.html', title="Edit Page", form=form)
Example #4
0
def new():
    page = Page(('', current_user.user_id, ''))
    form = NewForm(secret_key=app.config['SECRET_KEY'], obj=page)
    if form.validate_on_submit():
        form.populate_obj(page)
        Page.new_page(page, page)
        flash('New page created successfully!', 'success')
        return redirect('/pages')
    elif form.is_submitted():
        flash('The new page can\'t be empty!', 'warning')
    return render_template('pages/new.html', title="New Page", form=form)
Example #5
0
def createPage(title, content):
    gplusId = session.get('gplus_id')
    if gplusId is None:
        raise Exception("User not logged in")
    page = Page(gplusId, title, content)
    db.session.add(page)
    db.session.commit()
    return page
Example #6
0
 def post(self):
     parsed_args = parser.parse_args()
     title = parsed_args['title']
     content = parsed_args['content']
     if title == '' or content == '':
         abort(400, message="title, content cannot be empty");
     page = Page(title=parsed_args['title'], content=parsed_args['content'])
     db.session.add(page)
     db.session.commit()
     return page, 201
Example #7
0
def createDummyPage(gplusId):
  page = Page(gplusId, "Sample Page", "Test Content")
  a = TextElement("this is sample text content #1", "26px","364px","200px","20px")
  b = TextElement("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum volutpat diam et mauris blandit ultricies sed sit amet arcu. Aenean quis lectus nibh. Morbi vulputate, neque vel condimentum volutpat, tellus eros luctus nibh, et tristique massa neque vel nibh. Quisque vitae metus tellus. Etiam blandit dolor non egestas aliquet. Mauris consequat neque ut quam semper placerat. Curabitur vulputate finibus nunc, in ultricies augue tincidunt eu.", "26px", "390px", "500px", "150px")
  c = ImageElement("dummy_image.png", "10px", "50px", "501px", "279px")
  page.text_elements.append(a)
  page.text_elements.append(b)
  page.image_elements.append(c)
  db.session.add(page)
  db.session.add(a)
  db.session.add(b)
  db.session.add(c)
  db.session.commit()
Example #8
0
def createPage():
  apiToken = request.args.get('apiToken')
  user = User.query.filter_by(apiToken=apiToken).first()
  if user is None:
    return generateError(API.INVALID_API_TOKEN_MSG, 401)
  data = request.get_json(force=True)
  if 'title' in data:
    title = data['title']
  else:
    title = PAGE.DEFAULT_PAGE_TITLE
  page = Page(user.gplusId,title, "")
  text_element_objs = []
  if 'textElements' in data:
    text_elements = data['textElements']
    for elem in text_elements:
      e = createTextElement(elem)
      text_element_objs.append(e)
      page.text_elements.append(e)

  image_element_objs = []
  if 'imageElements' in data:
    image_elements = data['imageElements']
    for elem in image_elements:
      e = createImageElement(elem)
      image_element_objs.append(e)
      page.image_elements.append(e)
  
  db.session.add(page)
  for elem in text_element_objs:
    db.session.add(elem)
  for elem in image_element_objs:
    db.session.add(elem)
    
  db.session.commit()
  response = make_response(json.dumps(page.serialize()), 201)
  response.headers['Content-Type'] = 'application/json'
  return response
Example #9
0
def createPage():
    apiToken = request.args.get('apiToken')
    user = User.query.filter_by(apiToken=apiToken).first()
    if user is None:
        return generateError(API.INVALID_API_TOKEN_MSG, 401)
    data = request.get_json(force=True)
    if 'title' in data:
        title = data['title']
    else:
        title = PAGE.DEFAULT_PAGE_TITLE
    page = Page(user.gplusId, title, "")
    text_element_objs = []
    if 'textElements' in data:
        text_elements = data['textElements']
        for elem in text_elements:
            e = createTextElement(elem)
            text_element_objs.append(e)
            page.text_elements.append(e)

    image_element_objs = []
    if 'imageElements' in data:
        image_elements = data['imageElements']
        for elem in image_elements:
            e = createImageElement(elem)
            image_element_objs.append(e)
            page.image_elements.append(e)

    db.session.add(page)
    for elem in text_element_objs:
        db.session.add(elem)
    for elem in image_element_objs:
        db.session.add(elem)

    db.session.commit()
    response = make_response(json.dumps(page.serialize()), 201)
    response.headers['Content-Type'] = 'application/json'
    return response
Example #10
0
def delete(page_id):
    Page.delete_page(Page((page_id, '', '')))
    flash('Page deleted successfully!', 'success')
    return redirect('/pages')
Example #11
0
def index():
    return render_template('pages/index.html',
                           title="Pages",
                           pages=Page.get_all_pages(Page()))
Example #12
0
def index():
    return render_template('dashboard/index.html',
                           title="Dashboard",
                           pages=Page.get_recent(Page(), 5),
                           comments=Comment.recent_comments(Comment(), 5),
                           tags=Tag.popular_tags(Tag(), 5))