Example #1
0
def new():
    form = CreateForm()
    if form.validate_on_submit():
        todo = TodoModel(title=form.title.data, remarks=form.remarks.data)
        todo.save_to_db()
        return redirect(url_for('view.home'))
    return render_template('create.html', form=form)
Example #2
0
class TodoService:
    def __init__(self):
        self.model = TodoModel()

    def create(self, params):
        return self.model.create(params['text'], params['description'])

    def read(self, params):
        return self.model.read(params['item_id'])
Example #3
0
    def post(self):
        """POST /: Create a single todo"""

        try:
            new_todo = TodoModel(title = self.request.get('title')) 
            key = new_todo.put()

            self.response.headers['Content-Type'] = 'text/plain'
            self.response.write('Successfully added new todo')
        except:
            raise Exception("Error: could not complete request")
    def post(self):
        """POST /: Create a single todo"""

        self.response.headers = initialize_headers(self.response.headers, 'POST')

        new_title = json.loads(self.request.body).get('title')

        new_todo = TodoModel(title = new_title) 
        key = new_todo.put()

        self.response.write('Successfully added new todo')
    def post(self):
        """POST /: Create a single todo"""

        self.response.headers = initialize_headers(self.response.headers, 'POST')

        # new_title = json.loads(self.request.body).get('title')
        new_todo = self.request.get('todoText')
        new_todo = TodoModel(todoText = new_todo)
        key = new_todo.put()

        message = json.dumps({'log': 'New Todo was successfully created', 'id': key.id()})
        self.response.write(message)
Example #6
0
class ToDoService:
    def __init__(self):
        self.model = TodoModel()

    def create(self, params):
        return self.model.create(params)

    def update(self, item_id, params):
        return self.model.update(item_id, params)

    def delete(self, item_id):
        return self.model.delete(item_id)

    def list(self):
        response = self.model.list_items()
        return response
Example #7
0
 def post(self):
     token = User.get_request_token(request)
     user = User.verify_session_token(token)
     if not user:
         return {
             "message":
             "Invalid or expired token. You need to re-authenticate.",
             "meta": api_docs
         }, 401
     data = parser.parse_args()
     body = data['body']
     status = data['status']
     new_todo = TodoModel.create_new(body=body,
                                     creator_id=user.id,
                                     status=status)
     return {
         "logged in as": f"{user.username} {user.email}",
         "message": "Success. Todo created.",
         "todo": {
             "id": new_todo.id,
             "body": new_todo.body,
             "status": new_todo.status,
             "owner": new_todo.user.username,
             "created": f"{new_todo.created_at}"
         },
         "meta": api_docs
     }, 201
Example #8
0
def todo():
    todo_form = Todo()
    if todo_form.validate_on_submit():
        todo = TodoModel(content=todo_form.content.data)
        db.session.add(todo)
        db.session.commit()
        return redirect('/')
    return render_template('todo.html', form=todo_form)
    def get(self):
        """GET /: Retrieve all todos"""

        self.response.headers = initialize_headers(self.response.headers, 'GET')

        qry = TodoModel.query().fetch()
        all_todos = serialize_data(qry)

        self.response.out.write(json.dumps(all_todos, sort_keys=True, indent=4))
Example #10
0
def update(_id):
    todo = TodoModel.find_by_id(_id)
    form = UpdateForm(obj=todo)
    if form.validate_on_submit():
        todo.title = form.title.data
        todo.remarks = form.remarks.data
        todo.save_to_db()
        return redirect(url_for('view.home'))
    return render_template('update.html', form=form, todo=todo)
Example #11
0
    def post(self):
        """ Create new todo item"""

        req_data = self.parser.parse_args()
        user_id = get_jwt_identity()
        new_todo = TodoModel(**req_data, owner=user_id)

        try:
            new_todo.save_to_db()
        except Exception as exception:
            logger.debug(
                f"Exception occured when creating a todo with params: {new_todo}, {exception}",
            )
            return {"success": False, "message": "internal_error"}, 500

        return {
            "success": True,
            "message": "todo created succesfully",
            "todo": new_todo.to_json(),
        }
Example #12
0
 def test_insert(self):
     todoApi = TodoApi()
     #gets an instance of the message that is generated dynamically by the library endpoints_proto_datastore
     request = todoApi.TodoInsert.remote.request_type()
     request.title = self.TITLE
     todoApi.TodoInsert(request)
     query = TodoModel.query().fetch()
     self.assertEqual(1, len(query))
     result = query[0]
     self.assertEquals(self.TITLE, result.title)
     self.assertEquals(self.IS_COMPLETED, result.completed)
Example #13
0
    def test_list(self):
        todoModel = TodoModel(title=self.TITLE,
                              completed=self.IS_COMPLETED).put()
        todoApi = TodoApi()
        request = todoApi.TodosList.remote.request_type()
        todos_list = todoApi.TodosList(request).items

        self.assertEqual(1, len(todos_list))
        result = todos_list[0]
        self.assertEquals(self.TITLE, result.title)
        self.assertEquals(self.IS_COMPLETED, result.completed)
Example #14
0
 def test_insert(self):
     todoApi = TodoApi()
     #gets an instance of the message that is generated dynamically by the library endpoints_proto_datastore
     request = todoApi.TodoInsert.remote.request_type()
     request.title = self.TITLE
     todoApi.TodoInsert(request)
     query = TodoModel.query().fetch()
     self.assertEqual(1, len(query))
     result = query[0]
     self.assertEquals(self.TITLE, result.title)
     self.assertEquals(self.IS_COMPLETED, result.completed)
Example #15
0
    def get(self):
        """GET /: Retrieve all todos"""

        try:
            qry = TodoModel.query().fetch()
            all_todos = serialize_data(qry)

            self.response.headers['Content-Type'] = 'text/plain'
            self.response.write(json.dumps(all_todos, sort_keys=True, indent=4))
        except:
            # TODO: Improve this error 
            raise Exception("Error: could not complete request")            
Example #16
0
    def post(self, todo_id):
        args = task_post_args.parse_args()
        task = TodoModel.query.filter_by(id=todo_id).first()
        if task:
            abort(409, 'Task with this ID already taken!')

        todo = TodoModel(id=todo_id,
                         task=args['task'],
                         summary=args['summary'])
        db.session.add(todo)
        db.session.commit()
        return 201, todo
Example #17
0
    def get(self):
        """get all todos linked to user"""

        try:
            user_id = get_jwt_identity()
            todos = [
                todo.to_json() for todo in TodoModel.find_by_user(user_id)
            ] or []
        except Exception as exception:
            logger.debug(f"Exception fetching todos: {exception}")
            return {"success": False, "message": "internal_error"}, 500

        return {"success": True, "todos": todos}
Example #18
0
    def put(self, todo_id: str):
        """ modify existing todo item"""
        req_data = self.parser.parse_args()
        try:
            todo = TodoModel.find_by_id(todo_id)
            if not todo:
                todo = TodoModel(**req_data, owner=get_jwt_identity())
            else:
                todo.desc = req_data["desc"]
                todo.title = req_data["title"]
                todo.status = req_data["status"]

            todo.save_to_db()
            return {"success": True, "todo": todo.to_json()}, 200
        except Exception as exception:
            logger.error(
                f"Exception occured when modifying a todo with params: {req_data}, {exception}",
            )
            return {"sucess": False, "message": "internal_error"}, 500
Example #19
0
    def delete(self, todo_id: str):
        """ Create new todo item"""

        try:
            todo = TodoModel.find_by_id(todo_id)
            if not todo:
                return {"success": True, "message": "deleted_succesfully"}, 200

            todo.delete_from_db()
        except Exception as exception:
            logger.debug(
                f"Exception occured when deleting a todo with id: {todo_id}, {exception}",
            )
            return {"success": False, "message": "internal_error"}, 500

        return {"success": True, "message": "deleted_succesfully"}, 200
Example #20
0
class TodoService:
    def __init__(self):
        self.model = TodoModel()

    def create(self, params):
        self.model.create(params)

    def delete(self, params):
        self.model.delete(params)

    def update(self, params):
        self.model.updateTodo(params)

    def getTodos(self):
        return self.model.getTodos()
Example #21
0
def todo():
    if request.method == "GET":
        todos = {"todos": []}
        result = TodoModel.query.all()
        for todo in result:
            todos['todos'].append(todo.json())
        print(jsonify(todos))
        return todos
    elif request.method == "POST":
        post_body = request.form
        print(type(post_body))
        print(post_body)
        todo = TodoModel(title=post_body.get('title'),
                         description=post_body.get('description'))
        db.session.add(todo)
        db.session.commit()
        return redirect("/")
Example #22
0
 def __init__(self):
     self.model = TodoModel()
Example #23
0
def create():
    request_data = json.loads(request.data)
    todo = TodoModel(content=request_data['content'])
    db.session.add(todo)
    db.session.commit()
    return str({'201': 'todo created successfully'})
Example #24
0
def delete(_id):
    todo = TodoModel.find_by_id(_id)
    todo.delete_to_db()
    return redirect(url_for('view.home'))
Example #25
0
def home():
    todo = TodoModel.all()
    print(todo)
    return render_template('index.html', todo=todo)
Example #26
0
 def test_toggle(self):
     todoModel = TodoModel(title=self.TITLE).put()
     todoApi = TodoApi()
     request = todoApi.TodoToggle.remote.request_type()
     request.id = 1
     todoApi.TodoToggle(request)
Example #27
0
def create_todos():
    todo1 = TodoModel.create_new("Wash the dishes!", 1, "Not done.")
    todo2 = TodoModel.create_new("Study for exam!", 1, "Not done.")