def details(id): task = Task.query.get(id) form = TaskForm(request.form, obj=task) if request.method == "POST": if form.validate_on_submit(): form.populate_obj(task) print(task) task.save() return redirect(url_for('tasks.list')) return render_template('task_details.html', form=form)
def create_task(): form = TaskForm() form['csrf_token'].data = request.cookies['csrf_token'] if form.validate_on_submit(): data = Task() form.populate_obj(data) print(str(form)) data.assigneeId = current_user.id db.session.add(data) db.session.commit() return data.to_dict() return ('Invalid Info')
def edit_task(task_id): task = Task.query.filter_by(user_id=current_user.get_id()) current_task = Task.query.get_or_404(task_id) if current_task.task_due: current_task.task_due = current_task.task_due.astimezone( get_localzone()) if current_task.task_remind: current_task.task_remind = current_task.task_remind.astimezone( get_localzone()) task_form = TaskForm(obj=current_task) if request.method == 'POST': if not task_form.task_name.data: flash('task name can\'t be blank') else: #convert local datetime to UTC if task_form.task_due.data: task_form.task_due.data = task_form.task_due.data.astimezone( pytz.utc) if task_form.task_remind.data: task_form.task_remind.data = task_form.task_remind.data.astimezone( pytz.utc) task_form.populate_obj(current_task) db.session.commit() flash('task is edited successfully') #check task_remind and send scheduled reminder by email if current_task.task_remind: if current_task.task_remind < datetime.utcnow().replace( tzinfo=pytz.utc): flash('...but task reminder is past') else: send_email_reminder.apply_async( args=(current_task.task_id, ), eta=current_task.task_remind) flash('task reminder is also scheduled') return redirect(url_for('index')) return render_template('edit.html', title='edit', task=task, task_form=task_form)