コード例 #1
0
def add_task():
    task_id = request.args.get('tid')
    ori_task = Task.query.filter(Task.id == task_id).first()
    form = AddTaskForm()
    if ori_task:
        form = AddTaskForm(name=ori_task.name,
                           key=ori_task.redis_key,
                           ctime=ori_task.start_time)

    if request.method == 'POST' and form.validate():
        tid = request.values.get('tid')
        str_key = form.key.data
        task = Task(form.name.data, str_key, form.ctime.data)
        if tid:
            # update
            tsObj = Task.query.filter(Task.id == tid).first()
            ori_str_key = tsObj.redis_key
            rd.delete(ori_str_key)
            tsObj.redis_key = str_key
            tsObj.name = form.name.data
            tsObj.start_time = form.ctime.data
            db.session.commit()
        else:
            db.session.add(task)

        rd.setex(str_key, 1, task.seconds)
        return redirect('/')
    return render_template('add.html', form=form)
コード例 #2
0
ファイル: views.py プロジェクト: vioxcd/flask-app
def new_task():
    error = None
    form = AddTaskForm(request.form)
    if request.method == 'POST':
        if form.validate_on_submit():
            new_task = Task(
                form.name.data,
                form.due_date.data,
                form.priority.data,
                '1',
                datetime.datetime.utcnow(),
                session['user_id']  # add user session into the database
            )
            # Add the data in the session when creating new instance
            # When updating or delete, no need to do session.add
            db.session.add(new_task)
            db.session.commit()
            flash('New entry created!')
            return redirect(url_for('tasks'))
    # If the request is GET
    return render_template(
        'tasks.html',
        form=form,
        error=error,
        open_tasks=open_tasks(),
        closed_tasks=closed_tasks()
    )
コード例 #3
0
def tasks():
    # display some information to the user
    # using class AddTaskForm created in forms.py (our file)
    return render_template('tasks.html',
                           form=AddTaskForm(request.form),
                           open_tasks=open_tasks(),
                           closed_tasks=closed_tasks())
コード例 #4
0
ファイル: views.py プロジェクト: AndRaven/flasktaskr
def tasks():
    g.db = connect_db()

    cursor = g.db.execute(
        'select name, due_date, priority, task_id from tasks where status=1')

    open_tasks = [
        dict(name=row[0], due_date=row[1], priority=row[2], task_id=row[3])
        for row in cursor.fetchall()
    ]

    cursor = g.db.execute(
        'select name, due_date, priority, task_id from tasks where status=0')

    closed_tasks = [
        dict(name=row[0], due_date=row[1], priority=row[2], task_id=row[3])
        for row in cursor.fetchall()
    ]

    g.db.close()

    return render_template('tasks.html',
                           form=AddTaskForm(request.form),
                           open_tasks=open_tasks,
                           closed_tasks=closed_tasks)
コード例 #5
0
ファイル: routes.py プロジェクト: mah-ashish/todo-list
def edit_task(taskid):
    task = Task.query.filter_by(id=taskid, user_id=current_user.id).first()
    if not task:
        return redirect(url_for('index'))
    categories = Category.query.filter_by(user_id=current_user.id).all()
    items = [c.name for c in categories]
    form = AddTaskForm(items)
    if form.validate_on_submit():
        if form.category.data.lower(
        ) != task.category.name or form.task.data.lower() != task.name:
            c = Category.query.filter_by(
                user_id=current_user.id,
                name=form.category.data.lower()).first()
            if c:
                tasks = [task.name for task in c.tasks]
                if form.task.data.lower() in tasks:
                    flash('Task ' + form.task.data + ' already exists',
                          'warning')
                    return redirect(url_for('edit_task', taskid=taskid))

        task.name = form.task.data.lower()
        task.category_id = Category.query.filter_by(
            user_id=current_user.id,
            name=form.category.data.lower()).first().id
        task.deadline = datetime.strptime(form.deadline.data, '%Y/%m/%d')
        task.priority = form.priority.data
        db.session.commit()
        flash('Task edited', 'info')
        return redirect(url_for('index'))
    return render_template('task.html', title='Edit Task', form=form)
コード例 #6
0
def add_task():
    if 'username' not in session:
        return redirect('/login')
    form = AddTaskForm()
    form.user.choices = [(i.id, i.name) for i in db.session.query(UsersModel)]
    name = form.name.data
    desc = form.desc.data
    priority = form.priority.data
    user = form.user.data
    date = form.date.data
    if form.validate_on_submit():
        task = TasksModel(name=name,
                          desc=desc,
                          author=session['user_id'],
                          date=date,
                          priority=priority,
                          user=user)
        db.session.add(task)
        db.session.commit()
        return redirect('/')
    admin = db.session.query(UsersModel).filter_by(
        id=session['user_id']).first().admin
    return render_template('add_tasks.html',
                           username=session['username'],
                           form=form,
                           name='',
                           desc='',
                           admin=admin)
コード例 #7
0
def add_taskid(id):
    if 'username' not in session:
        return redirect('/login')
    form = AddTaskForm()
    form.user.choices = [(i.id, i.name) for i in db.session.query(UsersModel)]
    task = db.session.query(TasksModel).filter_by(id=id).first()
    if task:
        namey = task.name
        descy = task.desc
    else:
        return redirect('/')
    name = form.name.data
    desc = form.desc.data
    priority = form.priority.data
    user = form.user.data
    date = form.date.data
    if form.validate_on_submit():
        task.name = name
        task.desc = desc
        task.priority = priority
        task.date = date
        task.user = user
        db.session.commit()
        return redirect('/')
    admin = db.session.query(UsersModel).filter_by(
        id=session['user_id']).first().admin
    return render_template('add_tasks.html',
                           username=session['username'],
                           form=form,
                           name=namey,
                           desc=descy,
                           admin=admin)
コード例 #8
0
ファイル: views.py プロジェクト: Alberick/realpython-jean
def tasks():
    open_tasks = db.session.query(Task).filter_by(status='1').order_by(Task.due_date.asc())
    closed_tasks = db.session.query(Task).filter_by(status='0').order_by(Task.due_date.asc())

    return render_template('tasks.html', open_tasks=open_tasks,
                           closed_tasks=closed_tasks,
                           form=AddTaskForm(request.form))
コード例 #9
0
ファイル: views.py プロジェクト: kirishion/real-python-test
def tasks():
    """g.db = db_connect()
    cursor = g.db.execute(
        'SELECT name, due_date, priority, task_id from tasks where status = 1 ORDER BY priority')

    open_tasks = [
        dict(name=row[0], due_date=row[1], priority=row[2],
             task_id=row[3]) for row in cursor.fetchall()]"""

    open_tasks = db.session.query(Task) \
        .filter_by(status=1).order_by(Task.due_date.asc())
    """cursor = g.db.execute(
        'SELECT name, due_date, priority, task_id from tasks where status = 0')

    closed_tasks = [
        dict(name=row[0], due_date=row[1], priority=row[2],
             task_id=row[3]) for row in cursor.fetchall()]"""

    closed_tasks = db.session.query(Task) \
        .filter_by(status=0).order_by(Task.due_date.asc())

    #g.db.close()

    return render_template('tasks.html',
                           form=AddTaskForm(request.form),
                           open_tasks=open_tasks,
                           closed_tasks=closed_tasks)
コード例 #10
0
def tasks():
    open_tasks_var = open_tasks()
    closed_tasks_var = closed_tasks()
    return render_template('tasks.html',
                           form=AddTaskForm(request.form),
                           open_tasks=open_tasks_var,
                           closed_tasks=closed_tasks_var)
コード例 #11
0
ファイル: views.py プロジェクト: Alberick/realpython-jean
def tasks():
    g.db = connect_db()
    cursor = g.db.execute('SELECT name, due_date, priority, task_id FROM tasks WHERE STATUS=1')
    open_tasks = [dict(name=row[0], due_date=row[1], priority=row[2], task_id=row[3]) for row in cursor.fetchall()]
    cursor = g.db.execute('SELECT name, due_date, priority, task_id FROM tasks WHERE STATUS=0')
    closed_tasks = [dict(name=row[0], due_date=row[1], priority=row[2], task_id=row[3]) for row in cursor.fetchall()]
    return render_template('tasks.html', open_tasks=open_tasks, closed_tasks=closed_tasks,
                           form=AddTaskForm(request.form))
コード例 #12
0
def add():
    form = AddTaskForm()
    if form.validate_on_submit():
        db.session.add(Task(title=form.title.data, date=datetime.utcnow()))
        db.session.commit()
        flash('Task added to database')
        return redirect(url_for('index'))
    return render_template('add.html', form=form)
コード例 #13
0
def edit_task(request, task_id):
    """
    Edit a task.

    If user is trying to edit someone else's task (should not be possible via
    UI) then send 403 error.

    """
    saved_task = Task.objects.get(id=task_id)
    # Avoid getting a SimpleLazyObject
    current_user = (request.user._wrapped
                    if hasattr(request.user, '_wrapped') else request.user)

    is_user_task_author = False
    task_edited = False
    form_errors = None

    if current_user == saved_task.user:
        is_user_task_author = True

    if request.method == "POST":
        if not is_user_task_author:
            raise PermissionDenied
        task_form = AddTaskForm(data=request.POST, instance=saved_task)
        if task_form.is_valid():
            task = task_form.save(commit=False)
            # Get radio button values from POST data as we're re-using the
            # AddTaskForm
            task.is_done = True if int(request.POST["task_status"]) else False
            task.is_hidden = True if int(request.POST["is_hidden"]) else False
            task.save()
            task_edited = True
        else:
            form_errors = str(task_form.errors)
    else:
        task_form = AddTaskForm()

    return render(
        request, "edit_task.html", {
            "task_form": task_form,
            "task_edited": task_edited,
            "task": saved_task,
            "form_errors": form_errors,
            "is_user_task_author": is_user_task_author
        })
コード例 #14
0
ファイル: views-new.py プロジェクト: cpuskarz/flasktaskr
def new_task():
    form = AddTaskForm(request.form)
    if request.method == 'POST':
        if form.validate_on_submit():
            new_task = Task(form.name.data, form.due_date.data, form.priority.data, '1')
            db.session.add(new_task)
            db.session.commit()
            flash('New entry was successfully posted. Thanks.')
    return redirect(url_for('tasks'))
コード例 #15
0
ファイル: housekeeping.py プロジェクト: AyushDevil/udaan_test
def add_task():
    form = AddTaskForm()
    if form.validate_on_submit():
        flash(f'Task Successfully Added for {form.taskID.data}!', 'success')
        task = Task(id=form.taskID.data, taskname=form.taskName.data, taskdesc=form.taskDetails.data)
        db.session.add(task)
        db.session.commit()
        return redirect(url_for('add_task'))

    return render_template('addTask.html', title='Add Task', form=form)
コード例 #16
0
def add():
    add_form = AddTaskForm()
    if add_form.validate_on_submit():
        task = Task(title=add_form.title.data, date=datetime.utcnow())
        db.session.add(task)
        db.session.commit()
        flash('Task created successfully!')
        return redirect(url_for('index'))
    else:
        return render_template('add.html', form=add_form)
コード例 #17
0
ファイル: views.py プロジェクト: tturgunbaev/flasktaskr
def tasks():
    g.db = connect_db()
    cursor = g.db.cursor()
    cursor.execute("SELECT name, due_date, priority, task_id FROM tasks WHERE status=1")
    open_tasks = [dict(name=row[0], due_date=row[1], priority=row[2], task_id=row[3]) for row in cursor.fetchall()]
    cursor.execute("SELECT name, due_date, priority, task_id FROM tasks WHERE status=0")
    closed_tasks = [dict(name=row[0], due_date=row[1], priority=row[2], task_id=row[3]) for row in cursor.fetchall()]
    g.db.close()
    return render_template('tasks.html', form=AddTaskForm(request.form),
                           open_tasks=open_tasks, closed_tasks=closed_tasks)\
コード例 #18
0
ファイル: views.py プロジェクト: kmb346/flasktaskr
def tasks():
    print session['name']
    open_tasks = db.session.query(Task) \
        .filter_by(status='1').order_by(Task.due_date.asc())
    closed_tasks = db.session.query(Task) \
        .filter_by(status='0').order_by(Task.due_date.asc())
    return render_template('tasks.html',
                           form=AddTaskForm(request.form),
                           open_tasks=open_tasks,
                           closed_tasks=closed_tasks,
                           username=session['name'])
コード例 #19
0
ファイル: views.py プロジェクト: charlesjavelona/flasktaskr
def tasks():
    """
	Query the database for open and closed tasks. 
	Pass the query to two variables, open_tasks and closed_tasks,
	and then passing those variables to the tasks.html to populate
	open and closed task lists.
	"""
    return render_template("tasks.html",
                           form=AddTaskForm(request.form),
                           open_tasks=open_tasks(),
                           closed_tasks=closed_tasks())
コード例 #20
0
ファイル: views.py プロジェクト: rogermuffler/flasktaskr
def new_task():
    error = None
    form = AddTaskForm(request.form)
    if request.method == 'POST':
        if form.validate_on_submit():
            new_task = Task(form.name.data, form.due_date.data, form.priority.data, datetime.datetime.utcnow(), '1', session['user_id'])
            db.session.add(new_task)
            db.session.commit()
            flash('New entry was succesfully posted. Thanks.')
            return redirect(url_for('tasks'))
    return render_template('tasks.html', form=form, error=error, open_tasks=open_tasks(), closed_tasks=closed_tasks())
コード例 #21
0
def new_task():
    form = AddTaskForm(request.form)
    if request.method == 'POST':
        if form.validate_on_submit():
            new_task = Task(form.name.data,
                            form.due_date.data, form.priority.data,
                            datetime.datetime.utcnow(), '1', '1')
            db.session.add(new_task)
            db.session.commit()
            flash('New entry posted! Do it, Doug!')
    return redirect(url_for('tasks'))
コード例 #22
0
def tasks():
  open_tasks = db.session.query(User) \
    .filter_by(status='1').order_by(User.username.asc())
  closed_tasks = db.session.query(User) \
    .filter_by(status='0').order_by(User.username.asc())  
  return render_template(
   'tasks.html',
   form=AddTaskForm(request.form), 
   open_tasks=open_tasks, 
   closed_tasks=closed_tasks
  )   
コード例 #23
0
ファイル: views.py プロジェクト: doyomay/pruebasflask
def new_task():
    form = AddTaskForm(request.form)
    if request.method == 'POST':
        if form.validate_on_submit():
            new_task = Task(form.name.data, form.due_date.data,
                            form.priority.data, '1')
            db.session.add(new_task)
            db.session.commit()
            flash('Nueva tarea fue agragada con exito')
        else:
            flash('Por favor, agregue datos validos')
    return redirect(url_for('tasks'))
コード例 #24
0
ファイル: app.py プロジェクト: ricsau28/flasktaskr
def tasks():
    now = datetime.now()
    formatted_now = now.strftime("%-m/%d/%Y")
    form = AddTaskForm(request.form)
    userid = session['user_id']
    open_tasks = db.getOpenTasks(userid)
    closed_tasks = db.getClosedTasks(userid)
    return render_template('tasks.html',
                           form=form,
                           default_date=formatted_now,
                           open_tasks=open_tasks,
                           closed_tasks=closed_tasks)
コード例 #25
0
def add_task(request):
    """Add a task"""
    task_added = False
    form_errors = None
    if request.method == "POST":
        task_form = AddTaskForm(data=request.POST)
        if task_form.is_valid():
            task = task_form.save(commit=False)
            task.user = request.user
            task.save()
            task_added = True
        else:
            form_errors = str(task_form.errors)
    else:
        task_form = AddTaskForm()

    return render(
        request, "add_task.html", {
            "task_form": task_form,
            "task_added": task_added,
            "form_errors": form_errors
        })
コード例 #26
0
def new_task():
    form = AddTaskForm(request.form)
    if request.method == "POST":
        if form.validate_on_submit() or True:
            new_task = Task(name=form.name.data,
                            due_date=form.due_date.data,
                            priority=form.priority.data,
                            status='1',
                            posted_date=datetime.datetime.utcnow(),
                            user_id=session['user_id'])
            db.session.add(new_task)
            db.session.commit()
    return redirect(url_for('tasks'))
コード例 #27
0
def new_task():
    form = AddTaskForm(request.form)
    if request.method == 'POST':
        new_task = Task(
            form.name.data,
            form.due_date.data,
            form.priority.data,
            '1'
        )
        db.session.add(new_task)
        db.session.commit()
        flash("New entry added successfully")
    return redirect(url_for('tasks'))
コード例 #28
0
def new_task():
  form = AddTaskForm(request.form)
  if request.method == 'POST':
    if form.validate_on_submit():
      new_user = User(
        form.username.data,
        form.ip_phone.data,
        form.ip_phone_type.data,
        '1'
      )
      db.session.add(new_user)
      db.session.commit()
      flash('New entry was successfully posted. Thanks.') 
  return redirect(url_for('tasks'))
コード例 #29
0
def add_task(v_id):
    form = AddTaskForm()
    vehicle = Vehicle.query.get(v_id)
    if form.validate_on_submit():
        name = request.form['name']
        string_date = request.form['date']
        date = datetime.strptime(string_date, '%Y-%m-%d')
        mileage = request.form['mileage']
        task = Task(name=name, date=date, mileage=mileage, vehicle_id=v_id)
        db.session.add(task)
        db.session.commit()
        return redirect(url_for('vehicle_detail', v_id=vehicle.id))

    return render_template("add_task.html", vehicle=vehicle, form=form)
コード例 #30
0
ファイル: views.py プロジェクト: reichardn/flaskrtaskr
def new_task():
	form = AddTaskForm(request.form)
	if request.method=="POST":
		#if form.validate_on_submit():
			new_task = Task(
				form.name.data,
				form.due_date.data,
				form.priority.data,
				'1'
			)
			db.session.add(new_task)
			db.session.commit()
			flash('New entry added')
	return redirect(url_for('tasks'))