Beispiel #1
0
def add_employee():
    """
    Add an employee to the database
    """
    #  Throws a 403 Forbidden error if a non-admin user attempts to access these views.
    check_admin()

    add_employee = True

    form = EmployeeEditForm()

    if form.validate_on_submit():
        employee = Employee(department_name=form.department_name.data,
                            first_name=form.first_name.data,
                            last_name=form.last_name.data,
                            date_of_birth=form.date_of_birth.data,
                            salary=form.salary.data)

        db.session.add(employee)
        db.session.commit()
        logger.info(
            f'Add employee Id: {employee.id}, first name: {employee.first_name},'
            f'last name: {employee.last_name} has been added. ')

        flash(
            f'{employee.first_name} {employee.last_name}  have been successfully added !'
        )

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

    return render_template('admin/employees/employee.html',
                           action='Add',
                           add_employee=add_employee,
                           form=form,
                           title='Add Employee')
Beispiel #2
0
def register():
    """
    Handle requests to the /register route
    Add an employee to the database through the registration form
    """
    form = RegistrationForm()

    if form.validate_on_submit():
        employee = Employee(username=form.username.data,
                            email=form.email.data,
                            first_name=form.first_name.data,
                            last_name=form.last_name.data,
                            date_of_birth=form.date_of_birth.data,
                            password=form.password.data
                            )

        # add employee to the database
        db.session.add(employee)
        db.session.commit()
        logger.info(f'{employee.email} {employee.username} has registered')

        flash('You have successfully registered! You may log in now.', 'success')

        # redirect to the login page
        return redirect(url_for('auth.login'))

    # load registration template
    return render_template('auth/register.html', form=form, title='Register')
Beispiel #3
0
def id_to_test():
    name = 'Jk'
    salary = 5000
    birthday = date(1979, 3, 15)
    employee = Employee(name=name, salary=salary, birthday=birthday)
    db.session.add(employee)
    db.session.commit()
    yield employee.id_empl
Beispiel #4
0
 def post(self):
     parser = reqparse.RequestParser()
     parser.add_argument('first_name', type=str, required=True)
     parser.add_argument('last_name', type=str, required=True)
     parser.add_argument('birth_date', required=True)
     args = parser.parse_args()
     employee = Employee(first_name=args['first_name'],
                         last_name=args['last_name'],
                         birth_date=args['birth_date'])
     db.session.add(employee)
     db.session.commit()
     return employee.id, 201
Beispiel #5
0
def api_add_employee():
    """Add a new employee."""
    # Get attributes for an employee from json.
    name = request.json["name"]
    date_of_birth = request.json["date_of_birth"]
    salary = request.json["salary"]
    department_id = request.json["department_id"]
    # Create a new employee with received values.
    new_employee = Employee(name=name,
                            date_of_birth=date_of_birth,
                            salary=salary,
                            department_id=department_id)
    db.session.add(new_employee)
    db.session.commit()

    return employee_schema.jsonify(new_employee)
Beispiel #6
0
def add_employee(name, salary, birthday, id_empl_dept):
    """
    Adds employee to the database db
    :param id_empl_dept: id of department
    :param birthday: birthday of employee
    :param name: name of employee
    :param salary: slary of employee

    :return: employee id
    """
    employee = Employee(name=name,
                        salary=salary,
                        birthday=birthday,
                        id_empl_dept=id_empl_dept)
    db.session.add(employee)
    db.session.commit()
    return employee.id_empl
Beispiel #7
0
def add_employee():
    """Add a new employee using a form."""
    form = EmployeeForm()

    if form.validate_on_submit():
        # Create new Employee with values from the form.
        employee = Employee(
            name=form.name.data,
            date_of_birth=form.date_of_birth.data,
            salary=form.salary.data,
            department_id=form.department_id.data,
        )
        db.session.add(employee)
        db.session.commit()
        flash("Employee has been added!", "success")
        return redirect(url_for("emp.show_employees"))

    return render_template("employee_add.html",
                           title="Add new employee",
                           form=form,
                           legend="New Employee")
Beispiel #8
0
def populate():
    departments = [
        'research, counter, administration, advertisement', 'education'
    ]
    path = '/home/artem/programming/python/epam2021/final/final05_python_2021/department-app/static/blnrs.pckl'
    employees = []
    with open(path, 'rb') as file:
        blnrs = pickle.load(file)
        for blnr in blnrs:
            employees.append(blnr.get('commonName'))
    for empl in employees:
        year = random.randint(1970, 2001)
        month = random.randint(1, 12)
        day = random.randint(1, 30)

        birthday = date(year, month, day)
        e = Employee(name=empl,
                     salary=random.randint(1, 10) * 1000,
                     birthday=birthday,
                     id_empl_dept=random.randint(1, 3))
        db.session.add(e)
        db.session.commit()
    return employees
Beispiel #9
0
    for employ in museum_data["employees"]:
        employees.append({
            "name": employ["name"],
            "job": employ["jobTitle"]["name"]
        })

    return {"email": email, "employees": employees}


museums_data = bp.start_parse(find_name_and_id, False)

s = Site(name='goskatalog.ru')
s.save()

progress = 0
max_ = len(museums_data)

for museum_data in museums_data:
    progress += 1
    print(f'{round(progress / max_ * 100, 2)}%')

    detail_url = f'https://goskatalog.ru/muzfo-rest/rest/museums/{museum_data["id"]}'
    bp.set_url(detail_url)
    data = bp.start_parse(find_email_and_employees, False)
    m = Museum(site_id=s.id, name=museum_data['name'], email=data['email'])
    m.save()
    for employee in data['employees']:
        Employee(museum_id=m.id,
                 job_title=employee['job'],
                 fullname=employee['name']).save()
Beispiel #10
0
def employee_to_test():
    name = 'Juuuuk'
    salary = 5000
    birthday = date(1979, 3, 15)
    employee = Employee(name=name, salary=salary, birthday=birthday)
    yield employee
Beispiel #11
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()