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))
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)
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)
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)
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)
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)
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)