Exemplo n.º 1
0
    def test_todo_description(self):
        """
    Should raise an exception if ToDo has the description 
      - empty 
      - fill in with white space
    """
        user = User.query.filter_by(username='******').one()

        with self.assertRaises(AssertionError):
            Todo(description='', user=user)

        with self.assertRaises(AssertionError):
            Todo(description='  ', user=user)
Exemplo n.º 2
0
def todos_post():
    user_id = session['user']['id']
    description = request.form.get('description')
    new_todo = Todo(user_id=user_id, description=description, complete=0)
    g.db.session.add(new_todo)
    g.db.session.commit()
    flash('New Todo item was added with id {}.'.format(new_todo.id))
    return redirect('/todo')
Exemplo n.º 3
0
def _add_todo(todos: List[dict]):
    for todo_dict in todos:
        try:
            todo = Todo(user_id=todo_dict['user_id'],
                        description=todo_dict['description'])
            db_session.add(todo)
            db_session.commit()
        except Exception as e:
            print(e)
Exemplo n.º 4
0
def todos_POST():
    if not request.form.get('description'):
        flash('Description is required.', category='danger')
        return redirect('/todo')
    new_todo = Todo(user_id=session['user']['id'],
                    description=request.form.get('description'))
    db.session.add(new_todo)
    db.session.commit()
    flash('You added todo', category='success')
    return redirect('/todo')
Exemplo n.º 5
0
def todos_POST():
    try:
        todo = Todo(description=request.form.get('description'), user=current_user)
        db.session.add(todo)
        db.session.commit()
        flash('Your todo has been created!', 'success')
    except AssertionError as err:
        flash(err.args[0], 'danger')
        db.session.rollback()
    return redirect(url_for('_todo.todos'))
Exemplo n.º 6
0
def todos_POST():
    desc = request.form.get('description', '')
    if len(desc) > 0:
        user_id = session['user']['id']
        todo_item = Todo(user_id=user_id, description=desc)
        db_session.add(todo_item)
        db_session.commit()
        flash(u'Todo item successfully created', 'success')
    else:
        flash(u'Todo item not created. Description is requireid.', 'error')
    return redirect('/todo')
Exemplo n.º 7
0
def todos_POST():
    if not session.get('logged_in'):
        return redirect('/login')

    user_id = session['user']['id']
    description = request.form.get('description', '')
    todo = Todo(user_id=user_id, description=description, is_completed=False)
    g.db.add(todo)
    g.db.commit()
    flash("You have new thing to do!")
    return redirect('/todo')
Exemplo n.º 8
0
def upgrade():
    todos = [(1, 'Vivamus tempus'), (1, 'lorem ac odio'),
             (1, 'Ut congue odio'), (1, 'Sodales finibus'),
             (1, 'Accumsan nunc vitae'), (2, 'Lorem ipsum'),
             (2, 'In lacinia est'), (2, 'Odio varius gravida')]

    for todo in todos:
        todo = Todo(todo[1], todo[0])
        db.session.add(todo)

    db.session.commit()
Exemplo n.º 9
0
    def test_add_todo(self):
        """
    Should the ToDo exist in the database
    """
        user = User.query.filter_by(username='******').one()
        todo = Todo(description='My First Todo', user=user)
        db.session.add(todo)
        db.session.commit()

        _todo = Todo.query.get(todo.id)

        assert _todo == todo
Exemplo n.º 10
0
def todos_POST():
    description = request.form['description']

    if not description:
        flash('TODOs must have a description!', 'error')
    else:
        todo = Todo(user_id=session['user']['id'],
                    description=description)
        db.session.add(todo)
        db.session.commit()
        flash('TODO created!', 'success')
    return redirect('/todo')
Exemplo n.º 11
0
def db_seed():
    with open('resources/default_data.json') as jf:
        data = json.load(jf)
        for u in data.get('users'):
            user = User(username=u['username'])
            user.set_password(u['password'])
            db.session.add(user)
            for t in u['todos']:
                db.session.add(
                    Todo(description=t['description'],
                         completed=False,
                         user=user))
        db.session.commit()
Exemplo n.º 12
0
def todo_insert():
    form = TodoForm(request.form)
    if form.validate():
        todo = Todo(description=form.data['description'],
                    user_id=session['user']['id'])
        db.session.add(todo)
        db.session.commit()
        flash("ToDo added successfuly!")
    else:
        flash("ToDo description is required!")
    return redirect(
        url_for('todos_list',
                page=get_last_page_uncompleted(session['user']['id'])))
Exemplo n.º 13
0
def todos_POST():
    # Redirect with flash if no description entered.
    if request.form.get('description') == '':
        flash('Please enter a description of your task.')
        return redirect('/todo')
    # Insert into db and redirect if description given.
    else:
        todo = Todo(user_id=current_user.id,
                    description=request.form.get('description'),
                    completed=False)
        db.session.add(todo)
        db.session.commit()
        flash('Your task has been added to the list.')
        return redirect('/todo')
Exemplo n.º 14
0
def todos_POST():
    if not session.get('logged_in'):
        return redirect('/login')

    des = request.form.get('description', '')
    if des:

        t = Todo(session['user']['id'], des, False)
        db_session.add(t)
        db_session.commit()
        flash("Todo Added!")
    else:
        flash("Must include description when adding Todo!", "errors")

    return redirect('/todos/1')
Exemplo n.º 15
0
def todo_add():
    desc = request.form.get('description', '')
    print("desc={}".format(desc))

    if desc is None:
        flash('Description must not be empty')
    else:
        user = User.query.filter_by(username=current_user.username).first()
        todo = Todo(description=desc,user_id=user.id)
        db.session.add(todo)
        db.session.commit()

        flash('Todo has been successfully added')

    return redirect('/todo')
Exemplo n.º 16
0
def todos_POST():
    if not request.form.get('description'):
        flash('TODO description can not be empty')
        return redirect('/todo')

    description = request.form.get('description', '')
    todo = Todo(user_id=session['user']['id'],
                description=description,
                completed=0)

    db.session.add(todo)
    db.session.commit()

    flash('TODO added successfully')
    return redirect('/todo')
Exemplo n.º 17
0
def todos_POST():
    if not session.get('logged_in'):
        return redirect('/login')
    user_id = session['user'].get('id')
    description = request.form.get('description')
    if not description:
        flash('Todo\'s description cannot be empty')
    else:
        try:
            new = Todo(user_id, description, False)
            db.session.add(new)
            db.session.commit()
            flash("The new Todo was successfully implemented.")
        except SQLAlchemyError:
            flash('The todo was not properly initialized, please contact AlayaCare if the problem persists')
    return redirect('/todo')
Exemplo n.º 18
0
def todos_POST():
    if not session.get('logged_in'):
        return redirect('/login')

    description = clean_field(request.form.get('description', ' '))

    if description:
        todo = Todo(session['user']['id'], description)
        db.session.add(todo)
        db.session.commit()

        flash("Todo added succesfully.")
    else:
        flash("Description is required.")

    return redirect('/todo')
Exemplo n.º 19
0
def init_db():
    db.create_all()

    records = [
        User(username='******', password=generate_password_hash('user1')),
        User(username='******', password=generate_password_hash('user2')),
        Todo(user_id=1, description='Vivamus tempus'),
        Todo(user_id=1, description='lorem ac odio'),
        Todo(user_id=1, description='Ut congue odio'),
        Todo(user_id=1, description='Sodales finibus'),
        Todo(user_id=1, description='Accumsan nunc vitae'),
        Todo(user_id=2, description='Lorem ipsum'),
        Todo(user_id=2, description='In lacinia est'),
        Todo(user_id=2, description='Odio varius gravida')
    ]

    db.session.bulk_save_objects(records)
    db.session.commit()
Exemplo n.º 20
0
def todos_POST():
    description = request.form.get('description', '')
    per_page = session.get('per_page', None)
    page = 1
    if len(description) > 0:
        todo = Todo(description=description,
                    user_id=session['user_id'],
                    completed=False)
        db.session.add(todo)
        db.session.commit()
        flash("Todo added successfully", "success")
        c = db.session.query(Todo).filter(
            Todo.user_id == session['user_id']).count()
        page = 1 + (c - 1) // per_page
    else:
        flash("Description can not be empty", "danger")
    return redirect(url_for('todos', page=page, per_page=per_page))
Exemplo n.º 21
0
def _init_db():

    # Database initialisation
    db.create_all()

    # Filling the database with records for User and Todo models
    records = [
        User(username='******',
             password=generate_password_hash('user1')),
        User(username='******',
             password=generate_password_hash('user2')),
        Todo(user_id=1, description='Vivamus tempus'),
        Todo(user_id=1, description='lorem ac odio'),
        Todo(user_id=1, description='Ut congue odio'),
        Todo(user_id=1, description='Sodales finibus'),
        Todo(user_id=1, description='Accumsan nunc vitae'),
        Todo(user_id=2, description='Lorem ipsum'),
        Todo(user_id=2, description='In lacinia est'),
        Todo(user_id=2, description='Odio varius gravida')
        ]
    
    db.session.bulk_save_objects(records)
    db.session.commit()
Exemplo n.º 22
0
def todos():
    todo_form = TodoForm()
    if todo_form.validate_on_submit():
        todo = Todo(owner=current_user, description=form.description.data)
        db.session.add(todo)
        db.session.commit()
    # Paginate todos
    page = request.args.get('page', 1, type=int)
    todos = current_user.todos.order_by(Todo.timestamp.desc()).paginate(
        page, 5, False)

    next_url = url_for('todos', page=todos.next_num) \
        if todos.has_next else None
    prev_url = url_for('todos', page=todos.prev_num) \
        if todos.has_prev else None

    # return the html page and make the todos var accessible
    return render_template('todos.html',
                           todos=todos.items,
                           next_url=next_url,
                           prev_url=prev_url,
                           todo_form=todo_form)
Exemplo n.º 23
0
def _create_seed():
    user1 = User(username='******')
    user1.set_password('user1')
    db.session.add(user1)

    user2 = User(username='******')
    user2.set_password('user2')
    db.session.add(user2)

    user3 = User(username='******')
    user3.set_password('user3')
    db.session.add(user3)
    print(User.query.count(), "Users added")

    db.session.add(Todo(user_id=1, description='Vivamus tempus'))
    db.session.add(Todo(user_id=1, description='lorem ac odio'))
    db.session.add(Todo(user_id=1, description='Ut congue odio'))
    db.session.add(Todo(user_id=1, description='Sodales finibus'))
    db.session.add(Todo(user_id=1, description='Accumsan nunc vitae'))
    db.session.add(Todo(user_id=2, description='Lorem ipsum'))
    db.session.add(Todo(user_id=2, description='In lacinia est'))
    db.session.add(Todo(user_id=2, description='Odio varius gravida'))
    print(Todo.query.count(), "Todos added")
    db.session.commit()
Exemplo n.º 24
0
def todos_POST():
    error = None
    url = ''
    r = request
    base_url = r.base_url
    referrer = r.referrer

    url = re.sub(base_url, '', referrer)

    if not session.get('logged_in'):
        return redirect('/login')
    try:
        userid = session['user']['id']
        descr = request.form.get('description', '')

        mytodo = Todo(userid, descr, 0)
        db.session.add(mytodo)
        db.session.commit()
        error = "Insert successful!"
    except exc.SQLAlchemyError:
        print 'sql error'
        error = "Unable to insert!"
    flash(error)
    return redirect('/todo/'+url)
Exemplo n.º 25
0
def todos_POST():
    # create a paginator to redirect the user to the last page after a todo has been added
    page, per_page, offset = get_page_args(page_parameter='page',
                                           per_page_parameter='per_page')
    todos = Todo.query.filter(Todo.user_id == current_user.get_id()).offset(
        offset).limit(offset + per_page).all()
    pagination = Pagination(page=page,
                            total=get_todos_count(current_user.get_id()),
                            per_page=per_page)

    form = CreateTodoForm(request.form)

    if form.validate_on_submit():
        todo = Todo(current_user.get_id(), form.description.data)
        db_session.add(todo)
        db_session.commit()
        flash('Todo successfully created!', 'success')
        return redirect('/todo?page=%s' % pagination.total_pages)

    return render_template('todos.html',
                           form=form,
                           todos=todos,
                           page=page,
                           pagination=pagination)