Пример #1
0
    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')
Пример #2
0
    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'}
Пример #3
0
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
Пример #4
0
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
Пример #5
0
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'}
Пример #7
0
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
Пример #8
0
    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
Пример #9
0
    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()
Пример #10
0
    def post(self):
        err = EmployeeSchema().validate(request.json)
        if err:
            return err

        employee_obj = EmployeeModel(**request.json).save()
        return EmployeeSchema().dump(employee_obj)
Пример #11
0
 def get(self, id):
   employee = EmployeeModel.find_employee(id)
   if employee:
     return employee.json()
   return {
     'message' : 'Employee not found.'
   }, 404
Пример #12
0
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!! :) '}
Пример #14
0
 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
Пример #15
0
    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
Пример #16
0
 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
Пример #17
0
    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()
Пример #18
0
    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
Пример #19
0
    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
Пример #20
0
    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'}
Пример #22
0
 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
Пример #23
0
    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
Пример #24
0
 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
Пример #25
0
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'))
Пример #26
0
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()
Пример #27
0
 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()
Пример #28
0
    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'}
Пример #29
0
    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')
Пример #30
0
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)