Beispiel #1
0
def employees(department_id, vacancy_id):
    vacancy = Vacancy.query.filter_by(id=vacancy_id).first()
    if not vacancy:
        abort(404)
    form = EmployeeForm(obj=request.form)

    if form.validate_on_submit():
        employee = Employee(
            name=form.name.data,
            surname=form.surname.data,
            position_id=form.position_id.data,
            email=form.email.data,
            phone_number=form.phone_number.data,
            birth_date=form.birth_date.data,
            department_id=form.department_id.data,
            vacancy=vacancy
        )

        if form.director.data:
            update_director(department_id, employee, True)
        db.session.add(employee)

        vacancy.is_open = False
        vacancy.employee = employee
        vacancy.closing_date = form.start_date.data

        db.session.commit()

        update_position(employee, form.position_id.data, form.department_id.data, form.start_date.data)
        db.session.commit()

    flash_errors(form)
    return redirect(url_for('department', department_id=department_id))
Beispiel #2
0
def employee(department_id, employee_id):
    employee = Employee.query.filter_by(id=employee_id, department_id=department_id).first()
    if not employee:
        abort(404)



    employee_form = EmployeeForm(obj=employee, start_date=employee.vacancy.closing_date)

    if employee_form.validate_on_submit():
        if employee.position_id != employee_form.position_id.data or employee.department_id != employee_form.department_id.data:
            update_position(
                employee,
                employee_form.position_id.data,
                employee_form.department_id.data,
                employee_form.start_date.data
            )

        if employee.is_director != employee_form.director.data:
            update_director(department_id, employee, employee_form.director.data)

        employee_form.populate_obj(employee)
        db.session.commit()
        return redirect(url_for('employee', department_id=employee.department_id, employee_id=employee.id))

    flash_errors(employee_form)
    return render_template('employee.html', employee=employee, employee_form=employee_form)
Beispiel #3
0
def edit_employee(employee_name):
    form = EmployeeForm()
    if form.validate_on_submit():
        emp = Employee.query.filter_by(employee_name=employee_name).first()
        emp.employee_name = form.employee_name.data
        emp.email = form.email.data
        emp.address = form.address.data
        emp.age = form.age.data
        emp.phone = form.phone.data
        emp.gender = form.gender.data
        emp.job_title = form.job_title.data
        emp.salary = form.salary.data
        db.session.commit()
        flash(f'{ emp.employee_name } has been update ')
        return redirect(url_for('index'))
    elif request.method == 'GET':
        emp = Employee.query.filter_by(employee_name=employee_name).first()
        form.employee_name.data = emp.employee_name
        form.email.data = emp.email
        form.address.data = emp.address
        form.age.data = emp.age
        form.phone.data = emp.phone
        form.gender.data = emp.gender
        form.job_title.data = emp.job_title
        form.salary.data = emp.salary
    return render_template('add_employee.html',
                           title='Edit Employee',
                           form=form)
Beispiel #4
0
def add_employee():
    form = EmployeeForm()
    if form.validate_on_submit():
        employee = Employee(name=form.name.data,
                            employee_id=form.employee_id.data,
                            email=form.email.data)
        db.session.add(employee)
        db.session.commit()
        flash('تم إدخال بيانات الموظف {}'.format(employee.name))
    return render_template('add_employee.html', form=form)
Beispiel #5
0
def add_employee():
    form = EmployeeForm()
    if form.validate_on_submit():
        employee = Employee(employee_name=form.employee_name.data,
                            email=form.email.data,
                            address=form.address.data,
                            age=form.age.data,
                            phone=form.phone.data,
                            gender=form.gender.data,
                            job_title=form.job_title.data,
                            salary=form.salary.data)
        db.session.add(employee)
        db.session.commit()
        return redirect(url_for('index'))
    return render_template('add_employee.html',
                           title='Add Employee',
                           form=form)
def addemployee():
    """Adds a new Employee to the data base under the same organization id as the logged in user who is adding the
    new user.
    Also allows the new user to be selected as manager or employee"""

    title = "Add employee to Shifter"
    formEmployee = EmployeeForm()
    formLogout = LogoutForm()
    if formLogout.Logout.data and formLogout.is_submitted():
        return redirect(url_for('logout'))

    if (formEmployee.validate_on_submit()):
        user = Employee.query.filter_by(email=formEmployee.email.data).first()
        user1 = Employee.query.filter_by(
            phone_number=formEmployee.phone_number.data).first()
        if user is not None:
            flash(
                'There is already an account registered under this email address.'
            )
            return redirect(url_for('addemployee'))
        elif user1 is not None:
            flash(
                'There is already an account registered under this phone number.'
            )
            return redirect(url_for('addemployee'))
        else:
            firstn = formEmployee.first_name.data
            employee = Employee(fname=formEmployee.first_name.data,
                                lname=formEmployee.last_name.data,
                                email=formEmployee.email.data,
                                phone_number=formEmployee.phone_number.data,
                                organization_id=current_user.organization_id,
                                firsttimelogin=True)
            employee.setManager(formEmployee.manager.data)
            employee.set_password(formEmployee.phone_number.data)
            db.session.add(employee)
            db.session.commit()

        flash(firstn + ' has been added to the company')
        return redirect(url_for('login'))

    return render_template("addemployee.html",
                           title=title,
                           formEmployee=formEmployee,
                           formLogout=formLogout)
Beispiel #7
0
def edit_employee(emp_id):
    employee = Employee.query.get(emp_id)
    form = EmployeeForm(request.form)
    if form.validate_on_submit():
        form = EmployeeForm(request.form)
        employee.name = form.name.data
        employee.employee_id = form.employee_id.data
        employee.email = form.email.data
        db.session.add(employee)
        db.session.commit()
        flash('تم تحديث بيانات الموظف {}'.format(employee.name))
        return render_template('add_employee.html',
                               emp_id=employee.employee_id,
                               form=form)
    form = EmployeeForm()
    form.name.data = employee.name
    form.employee_id.data = employee.employee_id
    form.email.data = employee.email
    return render_template('edit_employee.html', form=form)
Beispiel #8
0
def addemployee():
    title = "Add employee to Shifter"
    formEmployee = EmployeeForm()
    formLogout = LogoutForm()
    if formLogout.Logout.data and formLogout.is_submitted():
        flash('Logged out')
        return redirect(url_for('logout'))

    if (formEmployee.validate_on_submit()):
        user = Employee.query.filter_by(email=formEmployee.email.data).first()
        user1 = Employee.query.filter_by(
            phone_number=formEmployee.phone_number.data).first()
        if user is not None:
            flash(
                'There is already an account registered under this email address.'
            )
            return redirect(url_for('addemployee'))
        elif user1 is not None:
            flash(
                'There is already an account registered under this phone number.'
            )
            return redirect(url_for('addemployee'))
        else:
            employee = Employee(fname=formEmployee.first_name.data,
                                lname=formEmployee.last_name.data,
                                email=formEmployee.email.data,
                                phone_number=formEmployee.phone_number.data,
                                organization_id=current_user.organization_id,
                                firsttimelogin=True)
            employee.setManager(formEmployee.manager.data)
            employee.set_password(formEmployee.phone_number.data)
            db.session.add(employee)
            db.session.commit()

        return redirect(url_for('login'))

    return render_template("addemployee.html",
                           title=title,
                           formEmployee=formEmployee,
                           formLogout=formLogout)