Пример #1
0
    def post(self):
        parser = reqparse.RequestParser()
        parser.add_argument('name', type=str)
        parser.add_argument('head_id', type=int)
        parser.add_argument('head_salary', type=int)
        args = parser.parse_args()

        dept = Department.query.get(args['name'])
        if dept is not None:
            abort(409)
        dept = Department(name=args['name'])
        emp = None
        if args['head_id'] is not None:
            emp = Employee.query.get(args['head_id'])
            if emp is None:
                abort(400)
        head = Head(department_name=dept.name,
                    head_id=args['head_id'])
        db.session.add(dept)
        db.session.add(head)
        if emp is not None:
            emp.salary = args['head_salary']
            emp.department = dept.name
        db.session.commit()
        return args['name'], 201
Пример #2
0
 def post(self):
     title = request.json.get('title')
     print(title)
     department = Department(title=title)
     db.session.add(department)
     db.session.commit()
     return jsonify({'department': title})
Пример #3
0
def add_department():
    """
    Add a department to the database
    """
    #  Throws a 403 Forbidden error if a non-admin user attempts to access these views.
    check_admin()

    add_department = True

    form = DepartmentForm()
    if form.validate_on_submit():

        department = Department(name=form.name.data)

        try:
            # add a department to the database
            db.session.add(department)
            db.session.commit()

            logger.info(f'Department {department.name} has been added')

            flash('The new department have been successfully added !')
        except exc.IntegrityError:
            logger.exception('Add department exc.IntegrityError')
            flash('Error: department name already exists.')

        return redirect(url_for('admin.list_departments'))

    return render_template('admin/departments/department.html',
                           action='Add',
                           add_department=add_department,
                           form=form,
                           title='Add Department')
Пример #4
0
def add_department(title):
    """
    Adds department to the database db
    :param title: title of department to add
    :return: id of added department
    """
    department = Department(title=title)
    db.session.add(department)
    db.session.commit()
    return department.id_dept
Пример #5
0
def api_add_department():
    """Add a new department."""
    # Get name from json.
    name = request.json["name"]
    # Create department with name from json.
    new_department = Department(name=name)
    db.session.add(new_department)
    db.session.commit()

    return department_schema.jsonify(new_department)
Пример #6
0
def add_department():
    """Add a new department using a form."""
    form = DepartmentForm()

    if form.validate_on_submit():
        # Set department name to a value from the form.
        department = Department(name=form.name.data)
        db.session.add(department)
        db.session.commit()
        flash("Department has been added!", "success")
        return redirect(url_for("dep.show_departments"))

    return render_template("departament_add.html",
                           title="Add new department",
                           form=form,
                           legend="New Department")
Пример #7
0
def test_department():
    d = Department(title='xxxx')
    assert d.title == 'xxxx'
Пример #8
0
    def run(self):
        depts = [Department(name='IT'),
                 Department(name='Sales'),
                 Department(name='Research'),
                 Department(name='PR')]

        for dept in depts:
            db.session.add(dept)
        db.session.commit()

        employees = [
            Employee(first_name='Siusan',
                     last_name='Turner',
                     department='PR',
                     salary=3340,
                     birth_date=date(1995, 4, 7)
                     ),
            Employee(first_name='Andrew',
                     last_name='Miles',
                     department='IT',
                     salary=1700,
                     birth_date=date(1989, 1, 17)
                     ),
            Employee(first_name='Oleg',
                     last_name='Sidorov',
                     department='IT',
                     salary=1600,
                     birth_date=date(1990, 7, 13)
                     ),
            Employee(first_name='Brian',
                     last_name='Fox',
                     department='Research',
                     salary=3500,
                     birth_date=date(1990, 1, 6)
                     ),
            Employee(first_name='Steve',
                     last_name='Johnson',
                     birth_date=date(1999, 9, 9)
                     ),
            Employee(first_name='Martin',
                     last_name='Black',
                     birth_date=date(1988, 8, 18)
                     ),
            Employee(first_name='Alex',
                     last_name='Jones',
                     department='PR',
                     salary=3400,
                     birth_date=date(1975, 3, 17)
                     ),
            Employee(first_name='Michael',
                     last_name='Payne',
                     department='IT',
                     salary=3200,
                     birth_date=date(1980, 7, 25)
                     ),
            Employee(first_name='Jonathan',
                     last_name='Miles',
                     department='Research',
                     salary=1100,
                     birth_date=date(1989, 9, 17)
                     ),
            Employee(first_name='Stefanie',
                     last_name='Miller',
                     department='Research',
                     salary=1300,
                     birth_date=date(1990, 5, 12)
                     ),
            Employee(first_name='Taras',
                     last_name='Prokopenko',
                     department='Sales',
                     salary=1000,
                     birth_date=date(1990, 4, 2)
                     )
        ]

        for employee in employees:
            db.session.add(employee)
        db.session.commit()

        heads = [
            Head(department_name='IT', head_id=8),
            Head(department_name='PR', head_id=1),
            Head(department_name='Research', head_id=4),
            Head(department_name='Sales')
        ]

        for head in heads:
            db.session.add(head)
        db.session.commit()