Ejemplo n.º 1
0
def add_task():
    data = request.get_json()
    user_id = current_user.id
    new_task = Task(
        user_id=user_id,
        name=data["name"],
        description=data["description"],
        plan=data["plan_id"],
    )
    try:
        new_task.save(commit=True)
    except IntegrityError as exc:
        return jsonify({
            "success": False,
            "result": "Name Taken",
            "exc": str(exc),
        })
    return jsonify({
        "success": True,
        "result": "Task saved to database",
        "name": data["name"],
        "description": data["description"],
        "taskId": new_task.id,
        "planId": data["plan_id"],
    })
Ejemplo n.º 2
0
def create_task():
    if current_user.roles[0].name != 'ADMIN':
        return render_template('errors/page_403.html'), 403
    if request.method == 'GET':
        form = CreateTaskForm(request.form)
        return render_template('create_task.html', form=form)
    name = request.form['name']
    project_id = request.form['project']
    project = Project.query.filter_by(id=project_id).first()
    if project.is_old:
        actual_hour = request.form.get('actual_hour')
    else:
        actual_hour = 0.00
    assign_to = request.form['assign_to']
    student = db.session.query(Student).get(assign_to)
    batch = student.batch_id
    status = request.form['status']
    deadline = datetime.strptime(request.form['deadline'], "%m/%d/%Y").date()
    start_date = datetime.strptime(request.form['start_date'],
                                   "%m/%d/%Y").date()
    semester = db.session.query(Semester)\
      .filter(Semester.batch_id == batch)\
      .filter(start_date >= Semester.start_date, deadline <= Semester.end_date).first()
    check_start_date = db.session.query(Project)\
      .filter(Project.id == project_id)\
      .filter(Project.start_date <= start_date)\
      .first()
    # check_deadline = db.session.query(Project) \
    #   .filter(Project.id == project_id) \
    #   .filter(Project.deadline >= deadline) \
    #   .first()

    if semester is None:
        flash(
            'Create error! start date and end date need to be within a semester!'
        )
        return redirect('/project/' + project_id)
    if check_start_date is None:
        flash('Create error! Earlier than project start date!')
        return redirect('/project/' + project_id)
    # if check_deadline is None:
    #     flash('Create error! Exceed project deadline!')
    #     return redirect('/project/' + project_id)
    planning_hour = (deadline - start_date).days * float(
        semester.average_intern_hour.intern_hour) / 7

    task = Task(name, assign_to, project_id, batch, status, planning_hour,
                actual_hour, start_date, deadline)
    task.created_at = datetime.now()
    db.session.add(task)
    db.session.commit()
    flash('Task created')
    return redirect('/project/' + project_id)
Ejemplo n.º 3
0
    def run(self, **kwargs):
        super(Step1, self).run(**kwargs)
        task = Task(
            title=u'Поиск товара и информирование клиента о сроках отгрузки.',
            desc=u"""Проверьте наличие каждого заказанного товара и сообщите клиенту: 1) какие товары есть в наличии; 2) цену каждого товара; 3) срок поставки товаров, которых нет в наличие 4) альтернативу тем товарам, которых нет в наличие. \n Описание заявки клиента: {0}""".format(kwargs['application_desc']),
            performer=kwargs['manager'],
            step=self,
        )
        task.save()

        self.task = task
        self.save()
Ejemplo n.º 4
0
def task_create(current_user):
   if not current_user.admin:
      return jsonify({'message':'You do not have admin rights!'}), 403
   data = request.get_json()
   try:
      title = data['title']
      description = data['description']
      priority = data['priority']
      category_id = data['category_id']

      category_id = db.session.query(Category.id).filter(Category.id == category_id)

      # employers = data['employee']

      task = Task(title=title, description=description, priority=priority, category_id=category_id)


      # for employee in employers:
      #    task.employee_backref.append(Employee.query.get_or_404(employee))
      db.session.add(task)
      db.session.commit()
      return jsonify({'message':'Data add in db!'}), 201
   except:
      db.session.rollback()
      # flash('Error adding data in DB!', 'danger')
      return jsonify({'message':'Error when adding data!'})
Ejemplo n.º 5
0
def seed_data(user_id):
    """ seed new user profile with dummy data """
    for p in range(5):
        new_plan = Plan(
            user_id=user_id,
            name=GEN.sentence(),
            description=GEN.paragraph()
            )
        new_plan.save(commit=True)
        for t in range(3):
            new_task = Task(
                user_id=user_id,
                plan=new_plan.id,
                name=GEN.sentence(),
                description=GEN.paragraph()
            )
            new_task.save(commit=True)
Ejemplo n.º 6
0
def task_add(request):

    if request.is_ajax():
        form = TaskForm(request.REQUEST)

        if form.is_valid():
            task = Task(title=form.cleaned_data['title'])
            task.save()
            messages.add_message(request, messages.SUCCESS, 'Added successfully.')
            result = 1
        else:
            messages.add_message(request, messages.ERROR, 'Submited data is not valid.')
            result = 0
    else:
        return HttpResponseRedirect(reverse('task_home'))

    return HttpResponse(json.dumps({'result': result}), mimetype="application/json")
Ejemplo n.º 7
0
 def launch_task(self, name, description, *args, **kwargs):
     rq_job = current_app.task_queue.enqueue('app.task.tasks.' + name,
                                             *args, **kwargs)
     task = Task(id=rq_job.get_id(),
                 name=name,
                 description=description,
                 user=self)
     db.session.add(task)
     return task
Ejemplo n.º 8
0
 def post(self):
     args = task_create.parse_args()
     try:
         task = Task(title=args['title'], description=args['description'], priority=args['priority'], category_id=args['category_id'])
         db.session.add(task)
         db.session.commit()
         # return jsonify({'message': 'Data add in db!'}), 201 777   ?????
         return make_response(jsonify({'message': 'Data add in db!'}))
     except:
         db.session.rollback()
         # return jsonify({'message': 'Error when adding data!'}) ?????
         return make_response(jsonify({'message': 'Error when adding data!'}), 201)
Ejemplo n.º 9
0
 def post(self):
     args = task_create_args.parse_args()
     try:
         #category_obj = Category.query.get_or_404(args['category_id'])
         task = Task(title=args['title'], description=args['description'], priority=args['priority'],
                     category_id=args['category_id'])
         # for e in data['employee']:
         #    task.for_empl.append(Employee.query.get_or_404(e))
         db.session.add(task)
         db.session.commit()
         return task, 201
     except:
         db.session.rollback()
         abort(400, message="Error occurred during writing the data!")
Ejemplo n.º 10
0
def task_create(current_user):
    data = request.get_json()

    try:
        # category_obj = Category.query.get_or_404(data['category_id'])
        task = Task(title=data['title'],
                    description=data['description'],
                    priority=data['priority'],
                    category_id=data['category_id'])

        #for e in data['employee']:
        #    task.for_empl.append(Employee.query.get_or_404(e))
        db.session.add(task)
        db.session.commit()

        return jsonify({'message': 'Task successfully created!'}), 201

    except:
        db.session.rollback()
        return jsonify({'message':
                        'Error occurred during writing the data!'}), 400
Ejemplo n.º 11
0
    def run(self, **kwargs):
        super(Step2, self).run(**kwargs)
        task = Task(
            title=u'Формирование заказа в 1С',
            desc=u'Сформируйте заказ на отгрузку товара, который в наличие.',
            performer=self.route.manager,
            step=self,
        )
        task.save()

        task = Task(
            title=u'Заказать у поставщиков товар, которого нет в наличие',
            desc=u'Сформируйте заказ на отгрузку товара, который в наличие.',
            performer=self.route.manager,
            step=self,
        )
        task.save()