Example #1
0
def dashboard():
    form = TaskForm()
    userStatus = current_user.is_active

    if form.validate_on_submit():
        newTask = Task(text=form.text.data, user_id=current_user.id)
        print(newTask)
        db.session.add(newTask)
        db.session.commit()

        print("NEW TASK CREATED -'" + str(newTask) + "'")
        flash(f'{current_user.username} created a task!', 'success')
        return redirect(
            url_for('dashboard',
                    userStatus=userStatus,
                    tasks=current_user.tasks,
                    name=current_user.username,
                    form=form))
        #return '<h1> Hello '+form.username.data+'!</h1>'

    return render_template('dashboard.html',
                           userStatus=userStatus,
                           tasks=current_user.tasks,
                           name=current_user.username,
                           form=form)
Example #2
0
def update_task(task_id):
    task = Task.query.get_or_404(task_id)
    userStatus = current_user.is_active

    if task.user_id != current_user.id:
        abort(403)

    form = TaskForm()

    if form.validate_on_submit():
        task.text = form.text.data
        db.session.commit()
        return redirect(url_for(
            'task',
            task_id=task_id,
        ))

    elif request.method == 'GET':
        form.text.data = task.text

    return render_template('taskUpdate.html',
                           userStatus=userStatus,
                           task=task,
                           name=current_user.username,
                           form=form)
Example #3
0
def index():
    taskform = TaskForm()
    if taskform.validate_on_submit():
        description = None
        filename = None
        if taskform.description.data:
            description = taskform.description.data
        if taskform.image.data:
            filename = secure_filename(taskform.image.data.filename)
            # avoid overwriting existing files
            while path.exists(path.join(taskattachdir, filename)):
                fname, fext = path.splitext(filename)
                filename = '%s_%s' %(fname, fext)
            image_path = path.join(taskattachdir, filename)
            taskform.image.data.save(image_path)
            if AUTO_ROTATE:
                try:
                    angle = fix_orientation(image_path, save_over=True)
                    logger.info('image %s rotated by %s degrees' %(filename, angle))
                except ValueError as e:
                    logger.warn('image %s has no EXIF data: %s' %(filename, e))
        store(description, filename)
    recent = readjson(taskjson)
    if recent is not None:
        recent = sorted(recent, key=lambda r: r['timestamp'], reverse=True)
    return render_template('main.html', title='Today I ...', taskform=taskform, recent=recent)
Example #4
0
def taskform_handle():
    form_for_task = TaskForm()
    if form_for_task.validate_on_submit():
        flash('Handle task {0}'.format(form_for_task.task_id.data))
        return redirect(url_for('task_status', task_id=form_for_task.task_id.data))

    return redirect(url_for('index'))
Example #5
0
def task():
    form = TaskForm()
    if form.validate_on_submit():
        task_summary = request.form['title']
        due_date = request.form['due_date']
        time_est = request.form['time_est']
        stress = request.form['stress']
        is_placed = False

        with open('tasks.json', 'rb') as file:
            task_database = json.load(file)    

        task = {'task_summary' : task_summary,
                    'due_date' : due_date, 
                    'time_est': time_est,
                    'stress' : stress,
                    'is_placed' : is_placed}
        index = task_summary.strip()
        index = task_summary.replace(" ", "")
        index = index + str(due_date) + str(time_est)
        task_database[index] = task
                                                    
        with open('tasks.json', 'w') as f:
            json.dump(task_database, f)
        
        task_database[index]["is_placed"] = True
        break_up_tasks()
        return redirect(url_for('calendar'))
    return render_template('task.html', title= 'Tasks', form=form)
Example #6
0
def new_task():
    form = TaskForm()
    # list of groups to add
    form.groups.choices = [(group.groupname, group.groupname)
                           for group in current_user.groups]

    if form.validate_on_submit():
        if int(form.price.data) > current_user.accounts.balance:
            flash('Not enough gold to create task!')
        else:
            task = Task(taskname=form.task.data,
                        body=form.body.data,
                        author=current_user,
                        gold=int(form.price.data))
            current_user.accounts.balance -= int(form.price.data)
            db.session.add(task)
            print('********groups', form.groups.data)
            for group in form.groups.data:
                group = Group.query.filter_by(groupname=group).first()
                task.groups.append(group)
            track = TaskTrack(task_id=task.id)
            db.session.add(track)
            db.session.commit()
            flash('Your task was successfully published in {} groups!'.format(
                form.groups.data))
            next_url = request.cookies.get('next_url')
            return redirect(next_url)
    # url for previous page
    resp = make_response(
        render_template('new_task.html', title='New Task', form=form))
    if request.method == 'GET':
        next_url = request.referrer or '/'
        resp.set_cookie('next_url', next_url)
    return resp
Example #7
0
def index():
    form = TaskForm()

    if form.validate_on_submit():
        db.session.add(Task(task=form.task.data, status=False))
        db.session.commit()
        return redirect(url_for('index'))
    tasks = Task.query.all()
    return render_template('index.html', form=form, tasks=tasks)
Example #8
0
def create():
    form = TaskForm(request.form)
    if form.validate_on_submit():
        Task(title=form.title.data,
             description=form.description.data,
             due_date=form.due_date.data,
             is_accomplished=form.is_accomplished.data,
             user_id=session.get('user_id')).create()
        return redirect(url_for('tasks.list'))
    return render_template('task_create.html', form=form)
Example #9
0
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)
Example #10
0
def search() -> 'html':
    """Ищет информацию о задаче"""
    form = TaskForm()
    if form.validate_on_submit():
        flash(f'Поиск задачи по запросу {form.task.data}')
        tasks = Task.query.filter_by(name=form.task.data).all()
        if not tasks:
            tasks = ['Ничего не найдено']
        return render_template('search.html', title='Search', tasks=tasks, form=form)
    return render_template('add.html', title='Search', name='Поиск', form=form)
Example #11
0
def create_task():
    form = TaskForm()
    flash('Errors="%s"' % (form.errors))
    if form.validate_on_submit():
        t = Task(title=form.title.data,
                 description=form.description.data,
                 date=form.date.data)
        db.session.add(t)
        db.session.commit()
        return redirect('/task')
    return render_template('create_task.html', title='Create Task', form=form)
Example #12
0
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')
Example #13
0
def edit_task(id):
    task = Task.query.get(id)
    form = TaskForm(obj=task)
    flash('Errors="%s"' % (form.errors))
    if form.validate_on_submit():
        t = task
        t.title = form.title.data
        t.description = form.description.data
        t.date = form.date.data
        db.session.commit()
        return redirect('/task')
    return render_template('edit_task.html', title='Edit Task', form=form)
Example #14
0
def remove() -> 'html':
    """Удаляет задачу"""
    form = TaskForm()
    if form.validate_on_submit():
        task = Task.query.filter_by(name=form.task.data)
        if task.first() is not None:
            task.delete()
            db.session.commit()
            flash(f'Задача {form.task.data} удалена')
        else:
            flash(f'Задача {form.task.data} не найдена')
        return redirect(url_for('remove'))
    return render_template('add.html', title='Remove', name='Удаление', form=form)
Example #15
0
def task_create(todo_id):
    task_form = TaskForm()
    if task_form.validate_on_submit():
        task_object = Task(body=task_form.body.data, todo_list_id=todo_id)
        db.session.add(task_object)
        db.session.commit()
        return redirect(url_for('todo.task_list', todo_id=todo_id))
    todo_item = TodoList.query.filter_by(id=todo_id).first_or_404()
    tasks = Task.query.filter_by(todo_list_id=todo_id).order_by(
        Task.is_finished)
    return render_template('tasks_list.html',
                           form=task_form,
                           todo_item=todo_item,
                           tasks=tasks)
Example #16
0
def add() -> 'html':
    """Добавляет в базу данных"""
    form = TaskForm()
    if form.validate_on_submit():
        if Task.query.filter_by(name=form.task.data).first() is None:
            task = Task(id=uuid.uuid4(), name=form.task.data, status=Status.created)
            db.session.add(task)
            db.session.commit()
            flash(f'Добавлена задача {form.task.data}')
            app.task_queue.enqueue('app.task.do', form.task.data)
        else:
            flash(f'Задача {form.task.data} уже добавлена')
        return redirect(url_for('add'))
    return render_template('add.html', title='Add', name='Добавление', form=form)
Example #17
0
def add_task(id):
    todolist = ToDoList.query.filter_by(id=id).first()
    form = TaskForm()
    if form.validate_on_submit():
        task = Task(title=form.title.data,
                    description=form.description.data,
                    deadline=form.deadline.data,
                    task_owner=current_user,
                    todolist=todolist,
                    is_completed=False)
        db.session.add(task)
        db.session.commit()
        return redirect(url_for('todolist', id=todolist.id))
    return render_template('add_task.html', todolist=todolist, form=form)
Example #18
0
def projectedit(projectname):
    project = Project.query.filter_by(title=projectname).first_or_404()
    task = Project.projectEdit(project).tasks
    form = TaskForm()
    if form.validate_on_submit():
        task = Task(body=form.label.data, project=project, checked='unchecked')
        db.session.add(task)
        db.session.commit()
        flash('Your task is now live!')
        task = Project.projectEdit(project).tasks
    return render_template('project.html',
                           project=project,
                           form=form,
                           task=task)
Example #19
0
 def post(self):
     form = TaskForm()
     if form.validate_on_submit():
         task = Task(title=form.title.data,
                     body=form.body.data,
                     status=form.status.data)
         user = User.query.filter_by(username=form.performer.data).first()
         if user:
             user.tasks.append(task)
             db.session.add(task)
             db.session.commit()
             flash('Your task is now alive!')
             return redirect(url_for('index'))
         else:
             flash('There is no such developer!')
Example #20
0
def task_edit(task_id):
    task_object = Task.query.filter_by(id=task_id).first_or_404()
    task_form = TaskForm(body=task_object.body,
                         is_finished=task_object.is_finished)
    if task_form.validate_on_submit():
        task_object.body = task_form.body.data
        task_object.is_finished = task_form.is_finished.data
        db.session.commit()
        return redirect(
            url_for('todo.task_list', todo_id=task_object.todo_list_id))
    todo_item = TodoList.query.filter_by(
        id=task_object.todo_list_id).first_or_404()
    return render_template('task_item.html',
                           form=task_form,
                           todo_item=todo_item,
                           task=task_object)
Example #21
0
def new_task(class_id):
    form = TaskForm()
    cls = Class(ObjectId(class_id))
    cls.flask_validate()
    if form.validate_on_submit():
        date = form.date.data
        time = form.time.data
        dt = datetime.combine(date, time
                              or datetime.min.time()) if date else None
        created_task = Task.create(form.name.data,
                                   class_=cls,
                                   date=dt,
                                   description=form.description.data,
                                   category=form.category.data)
        return redirect(url_for('pages.view_class', class_id=class_id))
    return render_template('new_task.html', form=form)
def create_task():
    form = TaskForm()
    if form.validate_on_submit():
        title = request.form.get('title')
        body = request.form.get('description')
        start = request.form.get('start_time')
        end = request.form.get('end_time')
        author_name = request.form.get('author_name')
        task = Task(title=title,
                    body=body,
                    start=datetime.strptime(start, '%H:%M %d.%m.%Y'),
                    end=datetime.strptime(end, '%H:%M %d.%m.%Y'),
                    author_name=author_name)
        db.session.add(task)
        db.session.commit()
        return redirect(f'/tasks/{author_name}')
    return render_template('create_task.html', form=form)
Example #23
0
def edit_task(task_id):
    task = Task(ObjectId(task_id))
    task.flask_validate(edit=True)
    form = TaskForm(obj=task.to_struct())
    form.time.data = task.date.time()
    if form.validate_on_submit():
        date = form.date.data
        time = form.time.data
        dt = datetime.combine(date, time
                              or datetime.min.time()) if date else None
        task.name = form.name.data
        task.description = form.description.data
        task.category = form.category.data
        task.date = dt
        return redirect(
            url_for('pages.view_class', class_id=str(task.class_.get_id())))
    return render_template('edit_task.html', form=form, task=task)
Example #24
0
def viewtask(id):
    form = TaskForm()
    note = Note.query.get(id)
    if form.validate_on_submit(
    ):  #creates a task once button is clicked, task is associated with the user, current_user and the note with int:id
        task = Task(content=form.content.data, author=current_user, body=note)
        db.session.add(task)
        db.session.commit()
        flash('Task created')

    taskQ = Task.query.filter(Task.note_id == id).all(
    )  #find all the tasks associated with the note id
    final = []
    for n in taskQ:  #put the tasks into a list of dictionaries
        final.append({'content': n.content, 'id': n.id})

    return render_template(
        'task.html', title='Tasks', form=form, tasks=final, id=id
    )  #pass the dictionaries into task.html and which note_id the tasks are part of
Example #25
0
def index():
    form1 = TaskForm()
    if form1.validate_on_submit():
        if Task.query.first() is None:
            time = str(datetime.now().time())
            time = time.split(':')[0] + ":" + time.split(':')[1]
        else:
            time = Task.query.order_by(Task.start.desc()).first().end
        endTime = addMinutes(time, int(form1.taskTime.data))
        task = Task(title=form1.taskTitle.data,
                    minutes=form1.taskTime.data,
                    start=time,
                    end=endTime)
        db.session.add(task)
        db.session.commit()
        return redirect('/index')
    form2 = FinishedForm()
    if form2.validate_on_submit():
        if form2.taskFinished.data == True:
            first = Task.query.first()
            if first:
                db.session.delete(first)
                db.session.commit()
                time = str(datetime.now().time())
                prevEnd = time.split(':')[0] + ":" + time.split(':')[1]
                for t in Task.query.all():
                    start = prevEnd
                    end = addMinutes(start, t.minutes)
                    prevEnd = end
                    task = Task(title=t.title,
                                minutes=t.minutes,
                                start=start,
                                end=end)
                    db.session.add(task)
                    db.session.delete(t)
                    db.session.commit()
        return redirect('/index')
    taskList = Task.query.all()
    return render_template('index.html',
                           title='Home',
                           taskList=taskList,
                           form1=form1,
                           form2=form2)
Example #26
0
def create_tasks(projectId):
    '''
    Create a task within a project
    '''
    form = TaskForm()
    form['csrf_token'].data = request.cookies['csrf_token']
    if form.validate_on_submit():
        task = Task(
            userId=current_user.id,
            title=form.data['title'],
            description=form.data['description'],
            projectId=projectId,
            completed=form.data['completed']
        )
        db.session.add(task)
        db.session.commit()
        return task.to_dict()
    # return {'errors': validation_errors_to_error_messages}
    return {'errors': validation_errors_to_error_messages(form.errors)}, 500
Example #27
0
def index():
	form = TaskForm()
	if form.validate_on_submit():
		task = Task(name=form.task.data, doer=current_user)
		db.session.add(task)
		db.session.commit()
		flash('Your task is added!')
		return redirect(url_for('index'))
	
	#getting days left
	weekdays={0:'Monday',1:'Tuesday',2:'Wednesday',3:'Thursday',4:'Friday',5:'Saturday',6:'Sunday'}
	today=datetime.date.today()
	weekday=datetime.date.weekday(today)
	days_left = 7-weekday
	weekday=weekdays[weekday]
	#Getting all tasks for the current_user
	weekly_tasks = Task.query.filter(Task.user_id == current_user.id, Task.n_subtasks>0)
	daily_tasks = Task.query.filter(Task.user_id == current_user.id, Task.n_subtasks == 0)
	return  render_template('index.html', title='Home', today=today, days_left=days_left,weekday=weekday,form=form,daily_tasks = daily_tasks, weekly_tasks = weekly_tasks)
Example #28
0
def new_task(link):
    title = "Task Track | New Task"
    form = TaskForm()
    if form.validate_on_submit():
        l = get_list_by_link(link)
        if l is not None:
            if form.priority.data == "Priority":
                form.priority.data = "None"
            add_task(text=form.text.data,
                     do_by_date=form.do_by_date.data,
                     hour=form.do_by_time_h.data,
                     minute=form.do_by_time_m.data,
                     priority=form.priority.data,
                     list=l)
            return redirect(url_for('list', link=link))
        else:
            return redirect(url_for('no_list', link=link))
    print(form.errors)
    return render_template('new-task.html', link=link, form=form, title=title)
Example #29
0
def update_task(projectId, taskId):
    '''
    Updates a project's details
    '''
    task_to_update = Task.query.get(taskId)
    form = TaskForm()
    # Do we need line below?
    form['csrf_token'].data = request.cookies['csrf_token']
    if form.validate_on_submit():
        print("We are sending a PUT request...", form.data)
        title = form.data['title']
        description = form.data['description']
        completed = form.data['completed']
        task_to_update.title = title
        task_to_update.description = description
        task_to_update.completed = completed
        print("ended the PUT request", task_to_update.title)
        db.session.commit()
        return {'message': 'Task Updated!'}
    return {'errors': validation_errors_to_error_messages(form.errors)}, 400
Example #30
0
def hello():
    user_ip = session.get('user_ip')
    username = current_user.id
    task_form = TaskForm()
    delete_form = DeleteTaskForm()
    update_form = UpdateTaskForm()
    context = {
        'user_ip': user_ip,
        'tasks': get_tasks(user_id=username),
        'username': username,
        'task_form': task_form,
        'delete_form': delete_form,
        'update_form': update_form
    }
    if task_form.validate_on_submit():
        put_task(user_id=username, description=task_form.description.data)
        flash('¡Your task was created successfully!')
        return redirect(url_for('hello'))

    return render_template('hello.html', **context)
Example #31
0
def index():
    # If viewing app as an anonymous user the user is shown default welcome page.
    if current_user.is_anonymous:
        return render_template('index.html', title='Home')

    form = TaskForm()
    # If TaskForm is submitted and validated a new task is added to user's to-do list.
    if form.validate_on_submit():
        task = Task(body=form.task.data, author=current_user)
        db.session.add(task)
        db.session.commit()
        flash(f'You added a to-do task, {current_user.username} ')
        ''' Redirect to index after POST request generated by a web form submission to avoid sumbitting duplicate posts. '''
        return redirect(url_for('index'))

    # Get user's sorting preference for their tasks to display in HTML template.
    user = User.query.filter_by(id=current_user.id).first()
    tasks = user.get_sorted_view_of_tasks()

    # Render personal index page.
    return render_template('index.html', title='Home', form=form, tasks=tasks)