Пример #1
0
def index():
    user = load_user(current_user.get_id())
    tasks_amount = len(Task.query.filter_by(user_id=user.id).all())

    # delete 必须写在前面,避免select的影响
    delete_task_form = DeleteTaskForm()
    if delete_task_form.delete_submit.data and delete_task_form.validate():
        delete_task(user, delete_task_form)
        logging.log(
            logging.INFO, f"Deleted {delete_task_form.taskname.data} by {user.realname}")
        return redirect(url_for('main.index'))

    controller_tree = get_controller_tree()
    new_task_form = NewTaskForm()
    set_choices(new_task_form, request, controller_tree)
    if new_task_form.create_submit.data and new_task_form.validate():
        create_new_task(user, new_task_form)
        logging.log(
            logging.INFO, f"Created {new_task_form.taskname.data} by {user.realname}")
        return redirect(url_for('main.index'))

    edit_task_form = EditTaskForm()
    set_choices(edit_task_form, request, controller_tree)
    if edit_task_form.modify_submit.data and edit_task_form.validate():
        update_task(user, edit_task_form)
        logging.log(
            logging.INFO, f"Updated {edit_task_form.taskname.data} by {user.realname}")
        return redirect(url_for('main.index'))

    return render_template('index.html', title='主页', user=user, tasks_amount=tasks_amount,
                           new_task_form=new_task_form,
                           edit_task_form=edit_task_form,
                           delete_task_form=delete_task_form,
                           controller_tree=controller_tree
                           )
Пример #2
0
def task_create():
    form = NewTaskForm()
    if form.validate_on_submit():
        task = Task(
            name=form.name.data,
            user_id=int(current_user.get_id()),
            complexity=form.complexity.data,
            importance=form.importance.data,
            urgency=form.urgency.data,
        )
        db.session.add(task)
        db.session.commit()
        return redirect(url_for('task_list'))
    return render_template('task_create.html', title='New Task', form=form)
Пример #3
0
def index():
    form = NewTaskForm()
    user = User.query.filter_by(username=current_user.username).first()
    tasks = Task.query.filter_by(master=user).all()
    if form.validate_on_submit(
    ):  # если поле ввода заполненно верно (читать, как "просто заполненно"")
        data_request = form.add_task_field.data

        if "+" in data_request:
            """ добавить новую задачу
            синтаксис: "+купить гараж" """
            new_task = Task(body=form.add_task_field.data[1:],
                            master=user,
                            self_id=len(tasks) + 1)
            db.session.add(new_task)
            db.session.commit()

        elif "-a" in data_request:
            """ удалить все задачи
            синтаксис: "-a" """
            db.session.query(Task).filter_by(master=user).delete()
            db.session.commit()

        elif "-" in data_request:
            """ удалить задачу
            синтаксис: "-4"
            где 4 id (порядковый номер) задачи """
            try:  # ловит неверный id. Если такого нет, то страница просто перезагружается
                db.session.delete(
                    Task.query.filter_by(self_id=data_request[1:],
                                         master=user).first())
                db.session.commit()
            except exc.UnmappedInstanceError:
                pass
        elif "h" in data_request or "help" in data_request:
            return redirect("/help")

        elif "q" in data_request or "quite" in data_request:
            return redirect("/logout")

        return redirect(url_for("index"))

    return render_template("index.html", form=form, tasks=tasks, title="main")
Пример #4
0
def name_exist_validate():
    form = NewTaskForm()
    result = {'exist': False}
    task_name = form.taskname.data
    if not task_name.strip():
        result['empty'] = True
    task = Task.query.filter_by(name=task_name.strip()).first()
    if task is not None:
        result['exist'] = True
        result['empty'] = False

    return jsonify(result)
Пример #5
0
def task_management(request):
    '''
    Vista donde se vizualizaran los trabajadores que tiene el lider logueado
    '''

    if not request.user.leader:
        return HttpResponseNotFound('<h1>Page not found</h1>')

    work_area = request.user.work_area
    employees = tasks_finished(Task, Profile, work_area)

    context = {
        'form': NewTaskForm(),
        'employees':  employees,
        'work_area': work_area,
        'icon_message': 'success',
        'title_message': 'Great'
    }

    if request.method == 'POST':
        data_form = NewTaskForm(data=request.POST)
        if data_form.is_valid():
            data_form = data_form.save(commit=False)
            data_form.sender = Profile.objects.get(id=request.user.id)
            data_form.save()
            messages.success(
                request, 'Task created successfully.'
            )

            return redirect(to='task_management')
        else:
            messages.success(
                request, 'An error occurred while trying to submit the form.'
            )

            context = {
                'form': data_form,
                'icon_message': 'error',
                'title_message': 'Error'
            }

    return render(request, 'task_management.html', context)
Пример #6
0
def name_empty_validate():
    form = NewTaskForm()
    task_name = form.taskname.data
    if task_name and not task_name.strip():
        return jsonify(False)
    return jsonify(True)
Пример #7
0
def index():
    form = NewTaskForm()
    if form.validate_on_submit():
        flash('You just added the following task: {}'.format(form.task.data))
        return redirect('/index')
    return render_template('index.html', form=form)