示例#1
0
def add():
    #form=request.form
    #直接使用前端request传来的数据实例化form
    #form=TodoListForm(request.form)
    form = TodoListForm()
    #form.content=request.form['content']

    if form.validate_on_submit():
        form.content = request.form['content']
        todolist = TodoList()
        todolist.content = form.content
        db.session.add(todolist)
        db.session.commit()

    # todolists=TodoList.query.order_by(TodoList.create_time.desc())
    # todolists=todolists.all()
    # return render_template('index.html', todolists=todolists, form=form)

    #翻页的时候会报错
    # page_index = request.args.get('page', 1, type=int)
    # query = TodoList.query.order_by(TodoList.create_time.desc())
    # pagination = query.paginate(page_index, per_page=10, error_out=False)
    # todolists = pagination.items
    # return render_template('index.html',todolists=todolists,form=form,
    #                        pagination=pagination)
    return redirect(url_for('index'))
示例#2
0
文件: tests.py 项目: NVaras/todoList
 def test_empty_list(self):
     #given
     
     #when
     todoList = TodoList()
     #then
     self.assertTrue(todoList.is_empty())
示例#3
0
def test():
    params = request.args

    device_id = params.get("device_id")

    todo = TodoList(random.randint(10, 1000), params.get("title"), 1)
    todo.save()

    return jsonify({"test": todo.create_time})
示例#4
0
文件: tests.py 项目: NVaras/todoList
 def test_list_tasks(self):
     #given
     todoList = TodoList()
     todoList.add_task('afeitar al gato')
     
     #when
     
 
     #then
     self.assertTrue(False)
示例#5
0
文件: app.py 项目: Subwin/todolist
def todo_add(username):
    user = User.query.filter_by(username=username).first()
    # log('user= '******'form= ', form)
    one_todo = TodoList(form)
    one_todo.user = user
    # log('one_todo= ', one_todo.id, one_todo.content, one_todo.user_id)
    one_todo.save()

    return redirect(url_for('todo_add_view', username=username))
示例#6
0
 def post(self):
     data = super().post()
     name = data.get('name')
     todo_lists = TodoList.query.filter_by(name=name).all()
     if todo_lists:
         return self.abort(
             f'Todo list with the name "{name}" already exists!')
     new_todo_list = TodoList(name=name)
     self.session.add(new_todo_list)
     self.session.commit()
     return self.make_response(new_todo_list.serialize())
示例#7
0
文件: app.py 项目: Subwin/todolist
def todo_add(username):
    user = User.query.filter_by(username=username).first()
    # log('user= '******'form= ', form)
    one_todo = TodoList(form)
    one_todo.user = user
    # log('one_todo= ', one_todo.id, one_todo.content, one_todo.user_id)
    one_todo.save()

    return redirect(url_for('todo_add_view', username=username))
示例#8
0
 def post(self, account_id):
     self.response.headers['Content-Type'] = 'application/json'
     try:
         account = Account.get_by_id(int(account_id))
         todo_list_data = json.loads(self.request.body)
         todo_list = TodoList(title=todo_list_data.get('title'), status=todo_list_data.get('status'),
                              account=account.key, parent=account.key)
         todo_list.put()
         result = {'id': todo_list.key.id()}
         self.response.out.write(json.dumps(result))
     except Exception as e:
         result = {'error': 'Unexpected error has occurred', 'message': e.message}
         self.response.set_status(500, json.dumps(result))
         self.response.out.write(json.dumps(result))
示例#9
0
 def post(self, account_id, todo_list_id, todo_item_id):
     self.response.headers['Content-Type'] = 'application/json'
     try:
         account = Account.get_by_id(int(account_id))
         todo_list = TodoList.get_by_id(id=int(todo_list_id), parent=account.key)
         item_data = json.loads(self.request.body)
         todo_iem = TodoItem.get_by_id(id=int(todo_item_id), parent=todo_list.key)
         if todo_iem:
             todo_iem.populate(**item_data)
             todo_iem.put()
             item_dict = todo_iem.to_dict(exclude=['created', 'updated', 'todo_list'])
             item_dict['id'] = todo_iem.key.id()
             self.response.out.write(json.dumps(item_dict))
         else:
             result = {'error': 'Bad Request', 'message': 'Invalid todo item %s' % todo_item_id}
             self.response.set_status(400, json.dumps(result))
             self.response.out.write(json.dumps(result))
     except AttributeError as ae:
         result = {'error': 'Bad request', 'message': ae.message}
         self.response.set_status(400, json.dumps(result))
         self.response.out.write(json.dumps(result))
     except Exception as e:
         result = {'error': 'Unexpected error has occurred', 'message': e.message}
         self.response.set_status(500, json.dumps(result))
         self.response.out.write(json.dumps(result))
示例#10
0
def show_todo_list():
    form = TodoListForm()
    if request.method == 'GET':
        todolists = TodoList.query.all()
        if current_user:
            flag = 1
        else:
            flag = 0
        print(flag)
        return render_template('index.html',
                               todolists=todolists,
                               flag=flag,
                               form=form)
    else:
        if form.validate_on_submit():
            print(form.title.data + '-----' + form.status.data + "----" +
                  form.time.data)
            todolist = TodoList(current_user.id, form.title.data,
                                form.status.data, form.time.data)
            # print(todolist)
            db.session.add(todolist)
            db.session.commit()
            flash('You have add a new todo list')
        else:
            flash(form.errors)
        return redirect(url_for('show_todo_list'))
示例#11
0
def uploadTodolist():
    if request.method != "POST":
        return json.dumps({"status": 401, "msg": "request method error"})

    data = json.loads(request.get_data(as_text=True))

    todolist = data.get("todolist")
    if not todolist and todolist !=[] :
        return json.dumps({"status": 402, "msg": "参数缺失"})

    try:
        db.drop_all()
        db.create_all()
    except Exception as e:
        return json.dumps({"status": 402, "msg": "去除旧数据失败"})

    if todolist == []:
        return json.dumps({"status": 200, "msg": "ok"})

    for todo in todolist:
        try:
            todoObj = TodoList(value=todo.get("value"), isEdited=todo.get("isEdited"),isSelected=todo.get("isSelected"))
        except Exception as e:
            return json.dumps({"status": 402, "msg": "添加新数据操作发生异常"})

        db.session.add_all([todoObj])
        db.session.commit()
    

    return json.dumps({"status": 200, "msg": "ok"})
示例#12
0
def addTodoObj():
    """
    添加todo对象方法
    """
    if request.method != "POST":
        return json.dumps({"status": 401, "msg": "request method error"})

    data = json.loads(request.get_data(as_text=True))

    value = data.get("value")
    isEdited = data.get("isEdited")
    isSelected = data.get("isSelected")

    if not all([value]):
        return json.dumps({"status": 402, "msg": "参数缺失"})

    try:
        count = db.session.query(TodoList).filter_by(value=value).count()
    except Exception as e:
        return json.dumps({"status": 402, "msg": "查重操作发生异常"})
    if count > 0:
        return json.dumps({"status": 402, "msg": "已存在事件 请重新添加"})

    try:
        todoObj = TodoList(value=value, isEdited=isEdited,isSelected=isSelected)
    except Exception as e:
        return json.dumps({"status": 402, "msg": "添加操作发生异常"})
    
    db.session.add_all([todoObj])
    db.session.commit()

    return json.dumps({"status": 200, "msg": "ok"})
示例#13
0
def create_todo_lists():
    json_data = request.json
    lists = json_data['lists']
    for todo_list in lists:
        db_session.add(TodoList(**todo_list))
    db_session.commit()
    return jsonify('Success')
示例#14
0
文件: app.py 项目: dhduan/todolist
def show_todo_list(page=None):
    if not page:
        page = 1
    form = TodoListForm()
    if request.method == 'GET' and current_user.id == 1:
        # todolists = TodoList.query.all()
        todolists = TodoList.query.filter_by(user_id=1).order_by(
            TodoList.create_time.desc()).paginate(page=page, per_page=5)
        return render_template('index.html',
                               todolists=todolists.items,
                               pagination=todolists,
                               form=form)
    elif current_user.id != 1:
        tdl = TodoList.query.filter_by(user_id=current_user.id).order_by(
            TodoList.create_time.desc()).paginate(page=page, per_page=5)
        return render_template('index.html',
                               todolists=tdl.items,
                               pagination=tdl,
                               form=form)
    else:
        if form.validate_on_submit():
            todolist = TodoList(current_user.id, form.title.data,
                                form.content.data, form.status.data,
                                current_user.username)
            db.session.add(todolist)
            db.session.commit()
            flash('新内容添加成功!')
        else:
            flash(form.errors)
        return redirect(url_for('show_todo_list'))
示例#15
0
def todo(request, project_name):
    """Allows to create a new todolist and todoitems.
    Actions available here:
    Add a todolist: Owner Participant
    Add a todoitem: Owner Participant
    """
    project = get_project(request, project_name)
    access = get_access(project, request.user)
    if request.GET.get('includecomplete', 0):
        lists = TodoList.objects.filter(user=request.user, project=project)
    else:
        lists = TodoList.objects.filter(user=request.user, project=project, is_complete_attr=False)
    addlistform = bforms.AddTodoListForm()
    if request.method == 'POST':
        if request.POST.has_key('addlist'):
            addlistform = bforms.AddTodoListForm(project, request.user, request.POST)
            if addlistform.is_valid():
                addlistform.save()
                return HttpResponseRedirect('.')
        elif request.POST.has_key('additem'):
            id = int(request.POST['id'])
            list = TodoList.objects.get(id=id)
            text_id = '%s-text' % list.id
            if request.POST[text_id]:
                item = TodoItem(list=list, text=request.POST[text_id])
                item.save()
        elif request.POST.has_key('listmarkdone'):
            id = int(request.POST['id'])
            list = TodoList.objects.get(id=id)
            list.is_complete = True
            list.save()
            return HttpResponseRedirect('.')
        elif request.POST.has_key('itemmarkdone'):
            id = int(request.POST['id'])
            todoitem = TodoItem.objects.get(id=id)
            todoitem.is_complete = True
            todoitem.save()
            return HttpResponseRedirect('.')

    if request.method == 'GET':
        addlistform = bforms.AddTodoListForm()

    if request.GET.get('csv', ''):
        response, writer = reponse_for_cvs(project=project)
        writer.writerow(('Todo Lists',))
        writer.writerow(TodoList.as_csv_header())
        lists = TodoList.objects.filter(user=request.user, project=project)
        for list in lists:
            writer.writerow(list.as_csv())
        for list in lists:
            for item in list.todoitem_set.all():
                writer.writerow(item.as_csv())
        return response
    payload = {'project': project, 'lists': lists, 'addlistform': addlistform}
    return render(request, 'project/todo.html', payload)
示例#16
0
  def post(self):
    # create new list, return id
    new_list = TodoList()
    new_list.task_count = 0
    new_list.remote_addr = self.request.remote_addr
    new_list.referer = self.request.headers.get('Referer')
    new_list.put()

    self.json({'list': new_list.to_dict()})
示例#17
0
 def get(self, account_id, todo_list_id):
     self.response.headers['Content-Type'] = 'application/json'
     try:
         account = Account.get_by_id(int(account_id))
         todo_list = TodoList.get_by_id(id=int(todo_list_id), parent=account.key)
         todo_list_dict = todo_list.to_dict(exclude=['account', 'created', 'updated'])
         self.response.out.write(json.dumps(todo_list_dict))
     except Exception as e:
         result = {'error': 'Unexpected error has occurred', 'message': e.message}
         self.response.set_status(500, json.dumps(result))
         self.response.out.write(json.dumps(result))
示例#18
0
  def list_handler_method(self, *args):
    list_id = args[0]
    list_id = long(list_id)
    my_list = TodoList.get_by_id(list_id)
    if not my_list:
      self.not_found()
      return

    args = list(args)
    args[0] = my_list
    return method(self, *args)
示例#19
0
def add_todo( uid ):
    user = User.query.get( int( uid ) )
    title = request.form[ 'title' ]
    desc = request.form[ 'desc' ]
    color = request.form[ 'color' ]
    priority = request.form[ 'priority' ]

    newTodo = TodoList( title, desc, color, priority, user )
    db.session.add( newTodo )
    db.session.commit()

    return redirect('/user/' + str(user.id) )
 def post(self, **kwargs):
     data = request.data
     if not data:
         data = '{}'
     data = json.loads(data)
     name = data.get('name')
     if not name:
         return abort(400, 'no name posted')
     new_list = TodoList(name=name)
     self.session.add(new_list)
     self.session.commit()
     return name
示例#21
0
def handle_listpost():

    todolist = request.json

    new_todolist = TodoList(user=todolist["user"],
                            label=todolist["label"],
                            done=todolist["done"])
    db.session.add(new_todolist)
    db.session.commit()
    posttodolist = TodoList.query.filter_by(user=todolist["user"])
    response_body = list(map(lambda x: x.serialize(), posttodolist))
    return jsonify(response_body), 200
示例#22
0
文件: main.py 项目: justinhaddad/jdo
 def on_post(self, req, resp):
     if not req.content_length:
         resp.status = falcon.HTTP_422
         return
     data = req.context['body']
     try:
         list, created = TodoList.get_or_create(name=DEFAULT_LIST)
         t = Todo.create(list=list, **data)
         resp.body = json.dumps(model_to_dict(t), cls=Encoder)
         resp.status = falcon.HTTP_201
     except IntegrityError as e:
         log.exception('Failed to create todo.')
         resp.status = falcon.HTTP_422
示例#23
0
文件: app.py 项目: bellpost/pydemo
def add_todo_list():
    form = TodoListForm()
    if request.method == 'GET':
        todolists = TodoList.query.filter_by(user_id=current_user.id).filter(
            TodoList.status >= 1).all()
        if len(todolists) < 1:
            flash("没有家务日志,请添加")
        return render_template('newadd.html', todolists=todolists, form=form)
    else:
        if form.validate_on_submit():
            if form.bz.data == '1':
                todolist = TodoList(current_user.id, form.title.data + " (额外)",
                                    form.status.data, form.score.data,
                                    form.bz.data)
            else:
                todolist = TodoList(current_user.id, form.title.data,
                                    form.status.data, form.score.data,
                                    form.bz.data)
            db.session.add(todolist)
            db.session.commit()
            flash('新增了一个家务')
        else:
            flash(form.errors)
        return redirect(url_for('add_todo_list'))
示例#24
0
文件: app.py 项目: dhduan/todolist
def add_todo_list():
    form = TodoListForm()
    if request.method == 'POST':
        date = form.wrk_date.data.strftime('%Y-%m-%d')
        print(date)
        if form.validate_on_submit():
            todolist = TodoList(current_user.id, date, form.title.data,
                                form.content.data, form.status.data,
                                current_user.username)
            db.session.add(todolist)
            db.session.commit()
            flash(current_user.username + '添加了一条新的工作内容')
        else:
            flash(form.errors)
    return redirect(url_for('show_todo_list'))
示例#25
0
def show_todo_list():
    form = TodoListForm()
    if request.method == 'GET':
        todolists = TodoList.query.all()
        return render_template('index.html', todolists=todolists, form=form)
    else:
        if form.validate_on_submit():
            todolist = TodoList(current_user.id, form.title.data,
                                form.status.data)
            db.session.add(todolist)
            db.session.commit()
            flash('Сіз жаңа todo тізімін қосдыңыз')
        else:
            flash(form.errors)
        return redirect(url_for('show_todo_list'))
示例#26
0
文件: views.py 项目: 7feilee/CTF
def index():
    form = TodoListForm()
    if request.method == 'GET':
        todolists = TodoList.query.filter_by(name=session['username']).all()
        return render_template('index.html', todolists=todolists, form=form)
    else:
        if form.validate_on_submit():
            todolist = TodoList(str(uuid1()), session['username'],
                                form.title.data, form.status.data)
            db.session.add(todolist)
            db.session.commit()
            flash('You have add a new todo list')
        else:
            flash('validate string!')
        return redirect(url_for('test.index'))
示例#27
0
def show_todo_list():
    todoListform = TodoListForm()
    if request.method == 'GET':
        todolists = TodoList.query.all()
        return render_template("index_follow.html", todo_list=todolists, form=todoListform, title=u"首页")

    elif request.method == 'POST':
        if todoListform.validate_on_submit():
            todolist = TodoList(user_id=current_user.id, title=todoListform.title.data, status=todoListform.status.data)
            db.session.add(todolist)
            db.session.commit()
            flash('记录新增成功!')
        else:
            flash(todoListform.errors)
        return redirect(url_for('main.show_todo_list'))
示例#28
0
文件: tests.py 项目: NVaras/todoList
 def test_add_task(self):
     #given
     todoList = TodoList()
     
     #when
     todoList.add_task('afeitar al gato')
     
     #then
     self.assertFalse(todoList.is_empty())
     self.assertEquals('afeitar al gato', todoList.first_task())
示例#29
0
 def get(self, account_id):
     self.response.headers['Content-Type'] = 'application/json'
     try:
         account = Account.get_by_id(int(account_id))
         logging.info(account)
         lists = TodoList.query(TodoList.account == account.key, ancestor=account.key).fetch()
         lists_array = []
         for todo_list in lists:
             todo_list_dict = todo_list.to_dict(exclude=['created', 'updated', 'account'])
             todo_list_dict['id'] = todo_list.key.id()
             lists_array.append(todo_list_dict)
         result = {'todo_lists': lists_array}
         self.response.out.write(json.dumps(result))
     except Exception as e:
         result = {'error': 'Unexpected error has occurred', 'message': e.message}
         self.response.set_status(500, json.dumps(result))
         self.response.out.write(json.dumps(result))
示例#30
0
 def get(self, account_id, todo_list_id):
     self.response.headers['Content-Type'] = 'application/json'
     try:
         account = Account.get_by_id(int(account_id))
         todo_list = TodoList.get_by_id(id=int(todo_list_id), parent=account.key)
         todo_items = TodoItem.query(TodoItem.todo_list == todo_list.key,
                                     ancestor=todo_list.key).order(-TodoItem.created)
         todo_items_array = []
         for item in todo_items:
             item_dict = item.to_dict(exclude=['created', 'updated', 'todo_list'])
             item_dict['id'] = item.key.id()
             todo_items_array.append(item_dict)
         result = {'todo_items': todo_items_array}
         self.response.out.write(json.dumps(result))
     except Exception as e:
         result = {'error': 'Unexpected error has occurred', 'message': e.message}
         self.response.set_status(500, json.dumps(result))
         self.response.out.write(json.dumps(result))
示例#31
0
 def post(self, account_id, todo_list_id):
     self.response.headers['Content-Type'] = 'application/json'
     try:
         data = json.loads(self.request.body)
         items = data.get('items', [data])
         account = Account.get_by_id(int(account_id))
         todo_list = TodoList.get_by_id(id=int(todo_list_id), parent=account.key)
         item_array = []
         for item_data in items:
             item = TodoItem(text=item_data.get('text'), status=item_data.get('status'), todo_list=todo_list.key,
                             parent=todo_list.key)
             item.put()
             item_array.append({'id': item.key.id()})
         result = {'items': item_array}
         self.response.out.write(json.dumps(result))
     except Exception as e:
         result = {'error': 'Unexpected error has occurred', 'message': e.message}
         self.response.set_status(500, json.dumps(result))
         self.response.out.write(json.dumps(result))
示例#32
0
    def post(self):
        """
        create an instance
        :return: created instance in json view, 201 status code
        """
        json_data = request.get_json(force=True)
        if not json_data:
            return {'message': 'No input data provided'}, 400
        errors = todo_schema.validate(json_data)
        if errors:
            return errors, 422
        # Validate and deserialize input
        todolist = TodoList.query.filter_by(name=json_data['name']).first()
        if todolist:
            return {'message': 'Todolist already exists'}, 400
        todolist = TodoList(name=json_data['name'])
        db.session.add(todolist)
        db.session.commit()

        result = todo_schema.dump(todolist)

        return {"status": 'success', 'todolist': result}, 201
示例#33
0
def create_list():
    '''
    Create a new list item
    '''
    error = False
    body = {}
    try:
        listname = request.get_json()['name']
        neue_liste = TodoList(name=listname)
        db.session.add(neue_liste)
        db.session.commit() 
        body['id'] = neue_liste.id
        body['name'] = neue_liste.name
    except Exception:
        error = True
        db.session.rollback()
        print(sys.exc_info())
    finally:
        db.session.close()
    if error:
        abort(400)
    else:
        return jsonify(body)
示例#34
0
 def save(self):
     list = TodoList(name=self.cleaned_data['name'],
                     user=self.user,
                     project=self.project)
     list.save()
     return list
示例#35
0
# -*- coding: utf-8 -*-
# This app use json format in http body
import uuid

import ujson
from tendaysweb import TenDaysWeb, Response, HttpException
from aiomysql import create_pool

from models import TodoList, Todo

db_connection_pool = None

app = TenDaysWeb('todolist')
todolist = TodoList()

SELECT_ALL_SQL = '''
SELECT * FROM todolist_wechat;
'''

SELECT_SQL = '''
SELECT * FROM todolist_wechat WHERE wechat_uuid=%s;\
'''

INSERT_SQL = '''INSERT INTO todolist_wechat(uuid, wechat_uuid, title, content) VALUES(%s, %s, %s, %s);
'''

DELETE_SQL = '''DELETE FROM todolist_wechat WHERE uuid=%s;'''


@app.signal(signal_type='run_before_start')
async def init_connection_pool(loop):
示例#36
0
def addList():
    newList = TodoList()
    newList.name = "New Todo List"
    db.session.add(newList)
    db.session.commit()
    return redirect(url_for('routes.showLists'))
示例#37
0
文件: tests.py 项目: NVaras/todoList
 def test_add_many_tasks(self):
     #given
     todoList = TodoList()
     todoList.add_task('afeitar al gato')
 
     #when
     todoList.add_task('Afeitar al perro')
     todoList.add_task('Peinar la mugneca')
 
     #then
     self.assertEqual(3, todoList.length())
     self.assertTrue(todoList.contains('afeitar al gato'))
     self.assertTrue(todoList.contains('Afeitar al perro'))
     self.assertTrue(todoList.contains('Peinar la mugneca'))
     
示例#38
0
 def mutate(self, name):
     if request.method == "POST":
         todo_list = TodoListModel(name=name)
         todo_list.create()
         result = Success(yeah='yeah')
         return CreateTodoList(result=result)