def update_employee(self, employee_id): # ------------------------- # Update data of employee # ------------------------- if request.form.get('_method') != 'PUT': app.logger.Info( 'Cannot perform this action. Please contact administrator') abort(405) employee = Employee(id=employee_id) try: employee = employee.list_one_or_none_employee() if employee is None: app.logger.info( f'No data with Employee ID = {employee_id} could be found!') abort(422) except BaseException: app.logger.info( f'An error occurred. No data with Employee ID\ = {employee_id} could be found!') abort(422) employee.id = employee_id employee.name = request.form.get('name', employee.name) temp = request.form.get('department_name') employee.department_id = temp.split(' - ', 2)[0] employee.title = request.form.get('title', employee.title) employee.emp_number = request.form.get('emp_number', employee.emp_number) employee.address = request.form.get('address', employee.address) employee.phone = request.form.get('phone', employee.phone) employee.wage = request.form.get('wage', employee.wage) employee.is_active = 'is_active' in request.form try: employee.update_employee_in_database() flash( f'Employee {employee_id} was successfully updated!', 'success') except BaseException: app.log.info(f'An error occurred. Employee {employee_id} \ could not be updated!') abort(422) return redirect(url_for('employees'))
def create_Employee(emp : createEmployee, db : Session = Depends(get_db)): _employee = Employee() _employee.id = emp.id _employee.name = emp.name _employee.email = emp.email _employee.position = emp.position _employee.works_on: emp.works_on _employee.reporting_manager : emp.reporting_manager db.add(_employee) db.commit() # Background_tasks.add_task(fetch_emp_data,employee.id) return{ "code":"Success", "messege": "Employee created the name"+emp.name }
def line_to_employee(db, feed_line): data = {} # Every line starts with a field, then a tab (email_name, tail) = feed_line.split('\t') data['email_name'] = email_name # Split tail by double spaces and find any fields with data def keep_it(s): s = s.strip() return s != "" and s != "xxx" tail_items = [x.strip() for x in tail.split(' ') if keep_it(x)] # Try to match fields with known headers tail_cols = ['full_name', 'position', 'comments'] for field,value in zip(tail_cols, tail_items): data[field] = value employee_doc = Employee(**data) employee_id = insert_employee(db, employee_doc) employee_doc.id = employee_id return employee_doc
async def create_employee(employee: Employee): ret = db.employees.insert_one(employee.dict(by_alias=True)) employee.id = ret.inserted_id return {'employee': employee}