summaryrefslogtreecommitdiff
path: root/cli/app/controllers/page_controller.py
blob: d3936251a9e63df1d911cd9cc7b68d9dd8045eef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from flask import request, jsonify, redirect
from flask_classful import route
from werkzeug.datastructures import MultiDict

from app.sql.common import db, Session
from app.sql.models.page import Page, PageForm
from app.sql.models.tile import Tile
from app.controllers.crud_controller import CrudView

class PageView(CrudView):
  model = Page
  form = PageForm

  def where(self, query, args):
    graph_id = args.get('graph_id', default=None)
    if graph_id is not None:
      query = query.where(Page.graph_id == int(graph_id))
    return query

  def on_destroy(self, session, item):
    session.query(Tile).filter(Tile.page_id == item.id).delete(synchronize_session=False)