def put(employee_id): """Update employee""" data = parser.parse_args() first_name = data['first_name'] second_name = data['second_name'] username = data['username'] if first_name is None and second_name is None and username is None: api.abort(400, 'You need to specify minimum one parameter') employee = EmployeeModel.find_by_id(employee_id) if employee is not None: if first_name is not None: employee.first_name = first_name if second_name is not None: employee.second_name = second_name if username is not None: if EmployeeModel.find_by_username(username) is not None: api.abort(400, f'Employee {username} already exist') employee.username = username try: employee.save_employee() except: api.abort(500, 'Failed to update employee') return employee api.abort(404, f'Employee {employee_id} does not exist')
def delete(self, name): if not EmployeeModel.find_by_name(name): return {'message': f'Employee {name} does not exists'} employee = EmployeeModel.find_by_name(name) employee.delete_from_db() return {'message': f'Employee {name} deleted'}
def test_save_employee(app): with app.app_context(): employee = EmployeeModel(first_name='test', second_name='test2', username='******') employee.save_employee() employee_db = EmployeeModel.find_by_id(employee.id) assert employee_db is not None
def test_delete_employee(app): with app.app_context(): employee = EmployeeModel(first_name='test', second_name='test2', username='******') db.session.add(employee) db.session.commit() employee.delete_employee() employee_db = EmployeeModel.find_by_id(employee.id) assert employee_db is None
def test_get_all(app): with app.app_context(): employee = EmployeeModel(first_name='test', second_name='test2', username='******') db.session.add(employee) db.session.commit() employee_db = EmployeeModel.get_all() assert isinstance(employee_db, list) assert len(employee_db) == 1
def post(self, id): edata = parser.parse_args() e = EmployeeModel.find_by_id(id) if e: return {'message': 'Employee already present!!'} emp = EmployeeModel(id, edata['emp_name'], edata['city']) emp.save_to_db() return {'message': 'Employee successfully added'}
def test_find_by_id(app): with app.app_context(): employee = EmployeeModel(first_name='test', second_name='test2', username='******') db.session.add(employee) db.session.commit() employee_db = EmployeeModel.find_by_id(employee.id) assert employee_db.first_name == employee.first_name assert employee_db.second_name == employee.second_name assert employee_db.username == employee.username assert employee_db.id == employee.id
def post(self): """Add new employee""" data = parser_required.parse_args() username = data['username'] if EmployeeModel.find_by_username(username) is not None: api.abort(400, f'Employee {username} already exist') employee = EmployeeModel(**data) try: employee.save_employee() except: api.abort(500, 'Failed to add new employee') return employee
def put(self, employee_id): data = self.parser.parse_args() employee = EmployeeModel.find_by_id(employee_id) if employee is None: employee = EmployeeModel(employee_id, **data) else: employee.delete_from_db() # delete first if find record employee = {k: v for k, v in data.items()} employee = EmployeeModel(employee_id, **employee) employee.save_to_db() return employee.json()
def post(self): err = EmployeeSchema().validate(request.json) if err: return err employee_obj = EmployeeModel(**request.json).save() return EmployeeSchema().dump(employee_obj)
def get(self, id): employee = EmployeeModel.find_employee(id) if employee: return employee.json() return { 'message' : 'Employee not found.' }, 404
def edit_employees(id): if request.method == 'POST': name = request.form['fullName'] gender = request.form['gender'] email = request.form['email'] phone = request.form['phone'] deptId = request.form['department'] natId = request.form['natId'] kraPin = request.form['krapin'] basicsalary = request.form['basicsalary'] benefits = request.form['benefits'] update = EmployeeModel.edit_employee_by_id(id=id, name=name, gender=gender, email=email, phone=phone, nationalId=natId, kra=kraPin, basic=basicsalary, benefits=benefits, dptid=deptId) if update: flash('Successfully updated', 'success') return redirect(url_for('employees')) else: flash('Unable to delete', 'danger') return redirect(url_for('employees'))
def delete(self, id): emp = EmployeeModel.find_by_id(id) if not emp: return {'message': 'Employee not found!! :( '} emp.delete_from_db() return {'message': 'Employee is deleted successfully!! :) '}
def get(self, _id=None): if not _id: return {'message': 'Route Parameter _id is missing'}, 400 employee = EmployeeModel.find_by_id(_id) if employee: return employee.json() return {'message': 'Employee not found'}, 404
def find_all(cls, user, employee_id): from models.employee import EmployeeModel records = cls.query.filter_by(employee_id=employee_id).all() if records and EmployeeModel.find_by_id(employee_id, user): return records
def delete(self, employee_id): employee = EmployeeModel.find_by_id(employee_id) if employee: employee.delete_from_db() return {"msg": "Employee with ID {a} was deleted".format(a=employee_id)}, 200 else: return {"msg": "Employee with ID {a} was not found".format(a=employee_id)}, 400
def put(self, name): data = Employee.parser.parse_args() employee = EmployeeModel.find_by_name(name) if not employee: employee = EmployeeModel(name, **data) else: employee.role = data['role'] employee.email = data['email'] employee.store_id = data['store_id'] employee.save_to_db() return employee.json()
def find_by_id(cls, _id, user): from models.employee import EmployeeModel e_cont = cls.query.filter_by(id=_id).first() if e_cont: if EmployeeModel.find_by_id(e_cont.employee_id, user): return e_cont
def find_by_id(cls, _id, user): from models.employee import EmployeeModel record = cls.query.filter_by(id=_id).first() if record: if EmployeeModel.find_by_id(record.employee_id, user): return record
def put(self, _id): data = Employee.parse.parse_args() employee = EmployeeModel.find_by_id(_id) if employee is None: employee = EmployeeModel(_id, data['name'], data['title']) else: employee.name = data['name'] employee.title = data['title'] employee.save_to_db() return employee.json()
def put(self, id): emp = EmployeeModel.find_by_id(id) edata = parser.parse_args() if not emp: emp = EmployeeModel(id, edata['emp_name'], edata['city']) emp.save_to_db() return {'message': 'New Employee added successfully'} else: emp.emp_name = edata['emp_name'] emp.city = edata['city'] emp.save_to_db() return {'message': 'Employee updated successfully'}
def delete(self, id): employee = EmployeeModel.find_employee(id) if employee: employee.delete() return { 'message' : 'Employee deleted successfuly.' }, 200 return { 'message' : 'Employee not found.' }, 404
def find_by_id(cls, _id, user): from models.employee import EmployeeModel from models.uniform_item import UniformItemModel record = cls.query.filter_by(id=_id).first() if record: if UniformItemModel.find_by_id(record.uniform_item_id, user) and \ EmployeeModel.find_by_id(record.employee_id, user): return record
def put(self, empid): data=Employee.parser.parse_args() employee=EmployeeModel.find_by_empid(empid) if employee is None: return {"message":"Record Not Found For This Record"},404 else: employee.name=data['name'] employee.role_id=data['role_id'] employee.insert_in_db() return employee.json(), 201
def delete_employee(id): try: delete = EmployeeModel.delete_by_id(id) if delete: flash('Employee successfully delete', 'success') return redirect(url_for('employees')) except Exception as e: flash('This employee has payrolls, you cannot delete the record', 'danger') return redirect(url_for('employees'))
class EmployeeService: def __init__(self): logging.info("Creating EmployeeService object") self.model = EmployeeModel() # Calls the method from EmployeeModel with an Employee object def create(self, params): logging.info("Calling EmployeeService.create()") self.model.username = params["username"] self.model.email = params["email"] self.model.password = params["password"] return self.model.create()
def put(self, id): employee = EmployeeModel.find_employee(id) if employee: data = attributes.parse_args() employee.update(**data) try: employee.save() except: return { 'message' : 'An error occured trying to update Employee.' } return employee.json()
def delete(self, _id=None): if not _id: return {'message': 'Route Parameter _id is missing'}, 400 employee = EmployeeModel.find_by_id(_id) if not employee: return {'message': 'Employee not found'}, 404 try: employee.delete() except: return {'message': 'An Error Occured while deleting'}, 500 return {'message': 'Employee Deleted'}
def delete(employee_id): """Delete employee""" employee = EmployeeModel.find_by_id(employee_id) used_hardware = UsedHardwareModel.find_by_employee_id(employee_id) # First unlink all hardware, then delete if used_hardware: UsedHardwareModel.delete_links(employee_id) if employee is not None: employee.delete_employee() return employee api.abort(404, f'Employee {employee_id} does not exist')
def employees(): allDepts = DepartmentModel.fetch_all_departments() if request.method == 'POST': name = request.form['empName'] email = request.form['email'] phone = request.form['phonenum'] natId = request.form['nationalId'] krapin = request.form['kra'] deptname = request.form['department'] if EmployeeModel.check_employee_exist(natId): print('Employee already exist') else: emp = EmployeeModel(fullName=name, email=email, phoneNumber=phone, nationalId=natId, KRAPin=krapin, dept_id=deptname) emp.create() print('added') return redirect(url_for('employees')) return render_template('employees.html', depts=allDepts)