Exemple #1
0
    def get(self):
        list = Todo.query(Todo.deleted == False).fetch()
        deleted = Todo.query(Todo.deleted == True).fetch()

        params = {"list": list, "deleted": deleted}

        return self.render_template("index.html", params=params)
Exemple #2
0
    def testDeleteTodo(self):
        test_todo = Todo.create(name='Eat a hotdog')

        delete_todo = Todo.delete().where(Todo.id == 1)
        delete_todo.execute()

        self.assertEqual(0, Todo.select().__len__())
Exemple #3
0
 def generate_fixtures():
     t1 = Todo(title="create init flask app", done=False)
     t2 = Todo(title="Create elm app", done=False)
     t3 = Todo(title="Publish to github", done=False)
     db.session.add(t1)
     db.session.add(t2)
     db.session.add(t3)
Exemple #4
0
def add_todo():
    new_todo = Todo()
    new_todo.item = request.json["item"]
    new_todo.done = False
    db.session.add(new_todo)
    db.session.commit()
    return jsonify(success=True)
    def test_todo_put_token(self):
        """This checks to see if the Todo PUT api is working."""
        with test_database(TEST_DB, (User, Todo)):
            user = User.user_create(username='******', password='******')

            Todo.create(name='Plant some seeds in the garden.')

            token = user.generate_auth_token().decode('ascii')
            headers = {'Authorization': 'Token {}'.format(token)}

            # This converts a python dictionary to JSON to send to the API
            data = {"id": 1, "name": "Water the seeds in the garden."}
            response = self.app.put(TODO_ITEM_URL.format(1),
                                    data=data,
                                    headers=headers)

            # This converts the response from JSON to a python dict
            response_decoded = response.data.decode("utf-8")
            response_decoded = json.loads(response_decoded)

            self.assertTrue(type(response.data) is bytes)
            self.assertEqual(response.status_code, 200)
            # id should be 1 because it is the first item in the database.
            # Name should be the new value created above.
            # The response should not be a list, but a dict.
            self.assertEqual(response_decoded, {
                "id": 1,
                "name": "Water the seeds in the garden."
            })
Exemple #6
0
def add():
    form = TodoForm(request.form)
    if form.validate():
        content = form.content.data
        todo = Todo(content=content, time=datetime.now())
        todo.save()
    return redirect(url_for('index'))
def delete(request):
    """
    通过下面这样的的链接来删除数据
    """
    todo_id = int(request.query.get('id'))
    Todo.delete(todo_id)
    return redirect('/todo/index')
Exemple #8
0
def slack_todos():
    # 명령어 구분 띄어쓰기
    # /flasktodo create aaaa
    # /flasktodo list
    res = request.form['text'].split(' ')
    # 첫번째 변수는 cmd, 나머지는 *args
    cmd, *args = res

    ret_msg = ''
    if cmd == 'create':
        todo_name = args[0]

        todo = Todo()
        todo.title = todo_name

        db.session.add(todo)
        db.session.commit()
        ret_msg = 'todo가 생성되었습니다'

        send_slack('[%s] "%s" 할일을 만들었습니다.'%(str(datetime.datetime.now()), todo_name))
    
    elif cmd == 'list':
        todos = Todo.query.all()
        for idx, todo in enumerate(todos):
            ret_msg += '%d. %s (~ %s)\n'%(idx+1, todo.title, str(todo.tstamp))
        

    return ret_msg
Exemple #9
0
 def test_todolist_can_receive_post_with_user(self):
     with test_database(db, (Todo, User)):
         User.create_user(username='******',
                          email='*****@*****.**',
                          password='******')
         # a todo is created through post on TodoList api
         self.app.post('/api/v1/todos',
                       headers=headers,
                       data={'name': 'todo1'})
         self.assertEqual(Todo.select().count(), 1)
         self.assertEqual(Todo.select().get().name, 'todo1')
         # that todo is changed through 'PUT' on the Todo api
         self.app.put('/api/v1/todos/1',
                      headers=headers,
                      data={'name': 'todo1updated'})
         self.assertEqual(Todo.select().get().name, 'todo1updated')
         # testing that the 'GET' works on TodoList api
         html = self.app.get('/api/v1/todos')
         self.assertIn('todo1updated', html.get_data(as_text=True))
         # testing that the 'GET' works on the Todo api
         html = self.app.get('/api/v1/todos/1')
         self.assertIn('todo1updated', html.get_data(as_text=True))
         # testing that the 'DELETE' works on the Todo api
         self.app.delete('/api/v1/todos/1',
                         headers=headers,
                         data={'name': 'todo1updated'})
         self.assertFalse(Todo.select().count())
Exemple #10
0
 def test_todo(self):
     with test_database(TEST_DB, (Todo,)):
         todo = Todo.create(name='sport')
         self.assertEqual(Todo.select().count(), 1)
         self.assertEqual(Todo.select().get().created_at,
                          datetime.date.today())
         self.assertEqual(todo.name, 'sport')
Exemple #11
0
def addtodo(request):
    if 'Item' in request.GET and request.GET['Item']:
        newname = request.GET['Item']
        newstatue = '0'
        # print('1')
        newid = Todo.objects.order_by('id').reverse()[0].id+1
        todo = Todo(id=newid, name=newname, statue=newstatue)
        todo.save()
        # NOtE:重定向至首页,安全一些
        return HttpResponseRedirect('/index/')
        ##or:发送请求至首页与重定向有区别
        # return index(request)

        # notlist = Todo.objects.filter(statue=0)
        # finishlist = Todo.objects.filter(statue=1)
        # notpaginator = Paginator(notlist, 3)
        # finishpaginator = Paginator(finishlist, 3)
        # try:
        #     anotpage = int(request.GET.get('notpage', 1))
        #     afinishpage = int(request.GET.get('finishpage', 1))
        #     nottodo = notpaginator.page(anotpage)
        #     finish = finishpaginator.page(afinishpage)
        # # print(Todo.objects.order_by('id').reverse()[0].id + 1)
        # except (EmptyPage, InvalidPage, PageNotAnInteger):
        #     nottodo = notpaginator.page(1)
        #     finish = finishpaginator.page(1)
        # return render_to_response('index.html',
        #                       {'nottodo': nottodo, 'finish': finish},
        #                       context_instance=RequestContext(request))
    else:
        return HttpResponseRedirect('/index/')
Exemple #12
0
def handle_todo():
    """
    Create person and retrieve all persons
    """

    # POST request
    if request.method == 'POST':
        body = request.get_json()

        if body is None:
            raise APIException(
                "You need to specify the request body as a json object",
                status_code=400)
        if 'todo_item' not in body:
            raise APIException('You need to specify a Todo', status_code=400)

        todo1 = Todo(todo_item=body['todo_item'])
        db.session.add(todo1)
        db.session.commit()
        return jsonify(todo1.serialize()), 200

    # GET request
    if request.method == 'GET':
        all_todos = Todo.query.all()
        all_todos = list(map(lambda x: x.serialize(), all_todos))
        return jsonify(all_todos), 200

    return "Invalid Method", 404
Exemple #13
0
def add_todo():
    """Add a todo."""
    form = TodoForm()
    if request.method == 'POST' and form.validate_on_submit():
        todo = Todo(text=form.todo.data)
        todo.save()
    return redirect(url_for('todo_list'))
Exemple #14
0
def create_todo():
    '''
    Create a new todo item
    '''
    error = False
    body = {} # an empty dictionary
    try:
        description = request.get_json()['description']
        requested_list = request.get_json()['list']      
        
        # Neues Todo Item
        todo = Todo(description=description, completed=False)
        todo.list = TodoList.query.filter_by(name=requested_list).one()
        db.session.add(todo)
        db.session.commit()
        body['id'] = todo.id
        body['completed'] = todo.completed
        body['description'] = todo.description
        body['list_id'] = todo.list_id
    except Exception:
        error = True
        db.session.rollback()
        print(sys.exc_info())
    finally:
        db.session.close()
    if error:
        abort(400)
    else:
        return jsonify(body)
Exemple #15
0
def create_todo():
    """Creates a new todo and returns JSON of that created todo"""
    new_todo = Todo(title=request.json["title"])
    db.session.add(new_todo)
    db.session.commit()
    response_json = jsonify(todo=new_todo.serialize())
    return (response_json, 201)
 def test_get_todo_list(self):
     app.config['TESTING'] = True
     self.app = app.test_client()
     Todo.create(name='TODO')
     listview = self.app.get('/api/v1/todos')
     self.assertEqual(listview.status_code, 200)
     self.assertEqual(Todo.get(Todo.name == 'TODO').name, 'TODO')
Exemple #17
0
def todos():
	if request.method == 'POST':
		userid = session.get('userid', None)
		if not userid:
			return jsonify(), 401

		data = request.get_json()

		todo = Todo()
		todo.title = data.get('title')
		todo.fcuser_id = userid

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


		send_slack('TODO가 생성되었습니다')		# 사용자 정보, 할일 제목, 기한
		return jsonify(), 201

	elif request.method == 'GET':
		pass

	elif request.method == 'DELETE':
		pass

	
	return jsonify(data)
Exemple #18
0
def index():
    if current_user.is_authenticated:
        logged_in = True
        login_on = False
    else:
        return redirect(url_for('login'))
    if 'todo' in request.form:
        if request.form['todo']:
            item = Todo(todo_text=request.form['todo'])
            if logged_in:
                item.owner = current_user.id
            else:
                items.append(item)
            db.session.add(item)
            db.session.commit()
            return redirect(url_for('index'))
    # todos = []
    if logged_in:
        todos = Todo.query.filter_by(owner=current_user.id).all()
    else:
        todos = items
    return render_template(
        "index.html",
        todos=todos,
        template_form=TodoForm(),
        login_on=login_on,
        notes=True,
        logged_in=logged_in
    )
Exemple #19
0
 def setUp(self):
     # Bind model classes to test db. Since we have a complete list of
     # all models, we do not need to recursively bind dependencies.
     self.client = app.test_client()
     TEST_DB.bind(MODELS, bind_refs=False, bind_backrefs=False)
     TEST_DB.connect()
     TEST_DB.create_tables([Todo], safe=True)
     Todo.create(name='Launch the Space Rocket', )
Exemple #20
0
def add():
    form = request.form
    content = form['content']
    todo = Todo(content=content)
    todo.save()

    todos = Todo.objects.all()
    return render_template("index.html", todos)
Exemple #21
0
def add():
    form = TodoForm(request.form)
    if form.validate():
        content = form.content.data
        todo = Todo(content=content,time=datetime.now())
        todo.save()
    todos = Todo.objects.order_by('-time')
    return render_template("index.html",todos=todos,form=form)
Exemple #22
0
    def post(self):
        new_todo_text = self.request.get('new_todo_text')

        todo = Todo(text=new_todo_text, done=False)
        todo.put()

        return self.render_template("add.html",
                                    {'new_todo_text': new_todo_text})
Exemple #23
0
def fetchReload():
    time.sleep(1)
    list = Todo.query(Todo.deleted == False).fetch()
    deleted = Todo.query(Todo.deleted == True).fetch()

    params = {"list": list, "deleted": deleted}

    return params
Exemple #24
0
def home():
    if request.method == 'POST':
        todo_text = request.form.get('todo-text')
        if todo_text:
            todo = Todo(id='todo-{}'.format(datetime.now()), text=todo_text)
            todo.save()
    todos = Todo.scan()
    return render_template('index.html', todos=todos)
 def test_todo_list(self):
     todo_data = {
         'name': 'todo one'
     }
     with test_database(TEST_DB, (Todo,)):
         Todo.create(**todo_data)
         rv = self.app.get('/api/v1/todos')
         self.assertIn(todo_data['name'], rv.get_data(as_text=True))
Exemple #26
0
def create_todo():
    new_todo = Todo(title=request.json['title'])
    db.session.add(new_todo)
    db.session.commit()

    response_json = jsonify(todo=new_todo.serialize())

    return (response_json, 201)
Exemple #27
0
def add():
    form = TodoForm(request.form)
    if form.validate():
        content = form.content.data
        todo = Todo(content=content)
        todo.save()
    todos = Todo.objects.all()
    return render_template("index.html", todos=todos, form=form)
Exemple #28
0
def add():
    form = TodoForm(request.form)
    if form.validate():
        content = form.content.data
        todo = Todo(content=content)
        todo.save()
    todos = Todo.objects.order_by('-time')
    return render_template("index.html", todos=todos, form=form)
 def test_todo_put_unauthorized(self):
     """This checks to see if the Todo PUT api is working."""
     with test_database(TEST_DB, (User, Todo)):
         Todo.create(name='Plant some seeds in the garden.')
         # This converts a python dictionary to JSON to send to the API
         data = {"id": 1, "name": "Water the seeds in the garden."}
         response = self.app.put(TODO_ITEM_URL.format(1), data=data)
         self.assertEqual(response.status_code, 401)
def delete(request):
    """
    通过下面这样的链接来删除一个 todo
    /delete?id=1
    """
    todo_id = int(request.query.get('id'))
    Todo.delete(todo_id)
    return redirect('/')
Exemple #31
0
def add():
   form = request.form
   content = form['content']
   todo = Todo(content = content)
   todo.save()

   todos = Todo.objects.all()
   return render_template("index.html",todos)
Exemple #32
0
def add():
    content = request.form.get("content")
    status = request.form.get("status")
    todo = Todo(content=content, status=status)
    todo.save()
    # return redirect("/")
    todos = Todo.objects.all()
    return render_template("index.html", todos=todos)
Exemple #33
0
def submit_word(user_id):
    """Add a todo."""
    form = TodoForm()

    if request.method == 'POST' and form.validate_on_submit():
        todo = Todo(text=form.todo.data)
        todo.save()
    return redirect(url_for('game_list'))
Exemple #34
0
 def move_group(self, e):
     items = self.list.get_selected_objects()
     if not len(items):
         return False
     with TodoGroupFormDialog(self.note_id) as dlg:
         if dlg.ShowModal() == wx.ID_OK:
             Todo.set_group(items, dlg.get_group())
             self.list.update()
Exemple #35
0
def create_todo():
    data = json.loads(request.data)
    todo = Todo(content=data['content'], done=data['done'], order=data['order'])
    todo.put()
    return jsonify(id=todo.key().id(),
                   content=todo.content,
                   done=todo.done,
                   order=todo.order)
Exemple #36
0
    def get(self):
        list = Todo.query(Todo.deleted == False).fetch()
        deleted = Todo.query(Todo.deleted == True).fetch()
        task = ""

        params = {"list": list, "deleted": deleted, "task": task}

        return self.render_template("add.html", params=params)
Exemple #37
0
def route_add(request):
    # headers = {
    #     'Content-Type': 'text/html',
    # }
    form = request.form()
    o = Todo(form)
    o.save()
    return redirect('/todo')
Exemple #38
0
def add():
    content = request.form.get("content")
    status = request.form.get("status")
    todo = Todo(content=content, status=status)
    todo.save()
    # return redirect("/")
    todos = Todo.objects.all()
    return render_template("index.html", todos=todos)
def add():
    form = TodoForm(request.form)
    if form.validate():
        content = form.content.data
        todo = Todo(content = content)
        todo.save()
    # Show all the list again
    todos = Todo.objects.order_by('-time')
    return render_template("index.html", todos = todos, form = form)
Exemple #40
0
def index():
    # As a list to test debug toolbar
    Todo.objects().delete()  # Removes
    Todo(title="Simple todo A", text="12345678910").save()  # Insert
    Todo(title="Simple todo B", text="12345678910").save()  # Insert
    Todo.objects(title__contains="B").update(set__text="Hello world")  # Update
    todos = list(Todo.objects[:10])
    todos = Todo.objects.all()
    return flask.render_template('index.html', todos=todos)
def pagination():
    Todo.objects().delete()
    for i in range(10):
        Todo(title='Simple todo {}'.format(i), text="12345678910").save()  # Insert

    page_num = int(flask.request.args.get('page') or 1)
    todos_page = Todo.objects.paginate(page=page_num, per_page=3)

    return flask.render_template('pagination.html', todos_page=todos_page)
Exemple #42
0
def addTodo(request):

	todoText = request.GET.get('item')

	todo = Todo(text = todoText)

	todo.save()

	return render_to_response('dashboard/todo.html', {'todoItem':todo}, context_instance =RequestContext(request))
Exemple #43
0
    def post(self):
        task = self.request.get("task")

        task = self.validation(task)

        task = Todo(task=task)
        task.put()

        return self.render_template("sporocilo-poslano.html")
Exemple #44
0
def addtodo(request):
	if request.method == 'POST':
		todo = request.POST['todo']
		priority = request.POST['priority']
		user = User.objects.get(id=1)
		addtodo = Todo(user=user, todo=todo, priority=priority, flag='1')
		addtodo.save()
		todolist = Todo.objects.filter(flag=1)
		finishtodos = Todo.objects.filter(flag=0)
		return HttpResponseRedirect("/todolists/")
Exemple #45
0
def add(request):
    if request.method =='POST':
        try:
            action = request['action']
            print 'action is:', action
        except:
            return HttpResponseRedirect('/')
        item = Todo(action=action, status=False, user=request.user)
        item.save()
    return HttpResponseRedirect('/')
def new_item():
    if request.GET.get('save', '').strip():
        new = request.GET.get('task', '').strip()
        newtask = Todo()
        newtask.task = new
        newtask.status = 1
        session.add(newtask)
        session.commit()
        redirect('/')
    else:
        return template('new_task')
Exemple #47
0
def add_todo(request):
    t = Todo( # Creates new todo
        title = request.POST['title'],
        description = request.POST['description'],
        importance = request.POST['importance'],
        start_date = request.POST['start_date'],
        stop_date = request.POST['stop_date'],
        owner = request.user)
    t.save()
    # reverse() takes etiher a view or the name of a view and returns its URLS:
    return HttpResponseRedirect(reverse(todo_index)) # Redirect todo_index view 
def add_todo():
    todo_id = request.form['todo_id']

    if request.method == 'POST':
        print('POSTed')
    else:
        print('GETed')

    if todo_id:
        Todo.add(todo_id)
    return redirect('/todo/')
def create(request):
    req = simplejson.loads(request.raw_post_data)
    content = req['content']
    order = req['order']
    
    if not content:
        return HttpResponse(simplejson.dumps({'success':False}), mimetype = 'application/json')
    todo = Todo()
    todo.content = content
    todo.order = order
    todo.save()
    return HttpResponse(simplejson.dumps({'success':True}), mimetype = 'application/json')
Exemple #50
0
    def post(self):
        title = self.request.get("title")
        notes = self.request.get("notes")
        author = self.request.get("author")

        title = title.upper()

        task = Todo(naslov=title,vsebina=notes,avtor=author)
        task.put()

        params = {"title":title,"notes":notes,"avtor":author}
        self.render_template("todo_task.html",params=params)
Exemple #51
0
def add():
    # print(request.form)
    form = TodoForm(request.form)
    # print form.__dict__
    if form.validate():
        content = form.content.data
        todo = Todo(content=content, time=datetime.now())
        # todo = Todo()
        # todo.content = content
        todo.save()
    todos = Todo.objects.order_by("-time")
    return render_template("index.html", todos=todos, form=form)
Exemple #52
0
def route_add(request):
    headers = {
        'Content-Type': 'text/html',
    }
    header = response_with_header(headers)
    form = request.form()
    t = Todo(form)
    log('add todo', t)
    t.save()
    # 返回的不是一个完整的 html 的 body,只是要插入的数据
    body = t.json_str()
    log('add body', body)
    r = header + '\r\n' + body
    return r.encode(encoding='utf-8')
Exemple #53
0
def addtodo(request):
    if request.method=='POST':
        atodo=request.POST['todo']
        priority=request.POST['priority']
        user=User.objects.get(id='1')
        todo=Todo(user=user,todo=atodo,priority=priority,flag='1')
        todo.save()
        todolist = Todo.objects.filter(flag='1')
        finishtodos = Todo.objects.filter(flag=0)
        return render_to_response('showtodo.html',{'todolist':todolist,'finishtodos':finishtodos},context_instance=RequestContext(request))
    else:
        todolist = Todo.objects.filter(flag=1)
        finishtodos = Todo.objects.filter(flag=0)
        return render_to_response('simpleTodo.html',{'todolist':todolist,'finishtodos':finishtodos},context_instance=RequestContext(request))
Exemple #54
0
    def post(self):
        title = self.request.get("title")
        notes = self.request.get("notes")
        author = self.request.get("author")

        title = title.upper()

        task = Todo(naslov=title,datum=date,vsebina=notes,avtor=author)
        task.put()


        self.write(title)
        self.write(notes)
        self.write(author)
 def put(self):
     tasks = list(Todo.list_index.query('1')) # list id
     with Todo.batch_write() as batch:
         for task in tasks:
             task.done = True
             batch.save(task)
     return '', 204
Exemple #56
0
def update_todo(id):
    todo = Todo.get_by_id(id)
    data = json.loads(request.data)
    todo.content = data['content']
    todo.done = data['done']
    todo.save()
    return jsonify(id=id, content=todo.content, done=todo.done)
Exemple #57
0
 def test_get_todos(self):
     with test_database(TEST_DB, (Todo,)):
         self.create_todos()
         rv = self.app.get('/api/v1/todos')
         self.assertEqual(rv.status_code, 200)
         self.assertEqual(Todo.select().count(), 3)
         self.assertIn('Study', rv.get_data(as_text=True))
Exemple #58
0
    def post(self, task_id):
        task = Todo.get_by_id(int(task_id))
        task.task = self.request.get("task")
        task.task = self.validation(task.task)
        task.put()

        self.redirect("/task/" + task_id)
 def get_todos(self, request):
     get_user() #check auth
     
     done = True if request.done == 'true' else False
     todo_items = [todo.to_message() for todo in Todo.get_todos_of_user(done)]
     
     return TodoListResponseMessage(items=todo_items)