def rearrange_same_statused_cells(newid, oldid, id_in_db):
    moved_cell = Cell.get(Cell.id == id_in_db)
    if newid > oldid:
        cells = Cell.select().where((Cell.order > oldid)
                                    & (Cell.order <= newid)
                                    & (Cell.board == moved_cell.board))
        for cell in cells:
            cell.order -= 1
            cell.save()
    else:
        cells = Cell.select().where((Cell.order < oldid)
                                    & (Cell.order >= newid)
                                    & (Cell.status == moved_cell.status)
                                    & (Cell.board == moved_cell.board))
        for cell in cells:
            cell.order += 1
            cell.save()
    moved_cell.order = newid
    moved_cell.save()
def rearrange_different_statused_cells(newid, oldid, oldstatus, newstatus,
                                       id_in_db):
    moved_cell = Cell.get(Cell.id == id_in_db)
    # newStatused rearrange
    cells = Cell.select().where((Cell.status == Status.get(
        Status.status == newstatus)) & (Cell.board == moved_cell.board)
                                & (Cell.order >= newid))
    for cell in cells:
        cell.order += 1
        cell.save()
    # oldStatus rearrange
    cells = Cell.select().where((Cell.status == Status.get(
        Status.status == oldstatus)) & (Cell.board == moved_cell.board)
                                & (Cell.order > oldid))
    for cell in cells:
        cell.order -= 1
        cell.save()

    moved_cell.order = newid
    moved_cell.status = Status.get(Status.status == newstatus)
    moved_cell.save()
def get_cell_text():
    cell_id = request.form["cell_id"]
    cell = Cell.get(Cell.id == cell_id)
    return cell.text