Beispiel #1
0
 def update_from_soap(self, obj):
     self.id = str(obj.Id)
     self.created_at = obj.CreatedAt
     self.updated_at = obj.UpdatedAt
     self.name = obj.Name
     if hasattr(obj, "employees"):
         self.employees = [Employee().update_from_soap(x) for x in obj.employees]
     return self
 def __init__(self, db, user):
     """
     Initialising database and User
     :param db:
     :param user:
     """
     self.db = db
     self.user = user
     self.employee = Employee(db, user)
Beispiel #3
0
    def update_employee(self, id, first_name, last_name, middle_name):
        client = Client(self.url, faults=True)

        try:
            response = client.service.UpdateEmployee(id, first_name, last_name, middle_name)
        except WebFault as e:
            return (False, None, e.fault)

        employee = Employee().update_from_soap(response)
        return (True, employee, None)
Beispiel #4
0
    def employee_authentication(self, employee):
        sql = "SELECT * FROM employee where employee_name = %s AND title = %s"
        cursor = connection.cursor()
        cursor.execute(sql, (employee.name, employee.title))
        record = cursor.fetchone()
        cursor.close()

        if record:
            return Employee(record[0], record[1], record[2], record[3],
                            float(record[4]), record[5])
        else:
            raise ResourceNotFound(
                f"Employee record could not be verified with input data.")
Beispiel #5
0
    def get_employee_by_id(self, employee_id):
        sql = "SELECT * FROM employee where id = %s"
        cursor = connection.cursor()
        cursor.execute(sql, [employee_id])
        record = cursor.fetchone()
        cursor.close()

        if record:
            return Employee(record[0], record[1], record[2], record[3],
                            float(record[4]), record[5])
        else:
            raise ResourceNotFound(
                f"Employee record could not be verified with input data.")
Beispiel #6
0
    def register_employee(self, employee_type, username, hash_password, cpf, name, birthday, photo_location, role, condominium_id):
        try:
            birthday = datetime.datetime.strptime(birthday, '%Y-%m-%d')
            employee = Employee(type=employee_type, cpf=cpf, name=name, birthday=birthday, photo_location=photo_location, role=role, condominium_id=condominium_id)
            employee_user = EmployeeUser(password=hash_password)
            employee_user._username = Username(username=username)
            employee.user = employee_user

            db.session.add(employee)
            db.session.commit()

            return employee

        except exc.IntegrityError as e:
            db.session.rollback()
            return None
Beispiel #7
0
def save_employee(position, save, obj=None):
    employee = Employee(password=request.form['password'],
                        first_name=request.form['first_name'],
                        last_name=request.form['last_name'],
                        position=position,
                        telephone=request.form.get('phone_number', ''),
                        mail=request.form.get('mail', ''),
                        salary=request.form.get('salary', ''))
    if save == 'add':
        employee.add_employee()
    elif save == 'edit':
        obj.edit_employee(password=request.form['password'],
                          first_name=request.form['first_name'],
                          last_name=request.form['last_name'],
                          telephone=request.form.get('phone_number', ''),
                          mail=request.form.get('mail', ''),
                          salary=request.form.get('salary', ''))
Beispiel #8
0
    def show_add_emp_dialog(self):
        dialog = loadUi("../view/add_emp.ui")
        dialog.de_hire_date.setDate(datetime.today())
        jobs = {str(e.job_id) for e in self.emps}
        dialog.cb_jobs.addItems(jobs)
        depts = [d.dept_name for d in self.depts]
        dialog.cb_depts.addItems(depts)
        choice = dialog.exec()

        if choice == 1:
            idx = dialog.cb_depts.currentIndex()
            e = Employee(dialog.le_emp_id.text(), dialog.le_emp_name.text(),
                         dialog.le_email.text(),
                         dialog.de_hire_date.date().toString("yyyy-MM-dd"),
                         dialog.cb_jobs.currentText(), dialog.le_salary.text(),
                         self.depts[idx - 1].dept_id)
            self.emps.append(e)
            self.load_emps()
            e.save_to_db()
 def main_dashboard(self, db, user):
     """
     Main Dashboard
     :param db:
     :param user:
     :return:
     """
     print(
         'Welcome to Cab Booking Service!!\nLogin as :\n1 : Admin\n2 : Employee\n3 : Exit'
     )
     while True:
         try:
             n = int(input('Enter your choice : '))
             break
         except:
             print('\n***Only numbers is allowed***\n')
     if n == 1:
         admin = Admin(db, user)
         admin.login()
     elif n == 2:
         employee = Employee(db, user)
         employee.login()
     else:
         sys.exit(1)
def init_db():
    """
    Initializes the database with some starter data.
    """
    from model.department import Department
    from model.employee import Employee
    Base.metadata.drop_all(bind=engine)
    Base.metadata.create_all(bind=engine)

    # Create the fixtures
    engineering = Department(name='Engineering')
    hr = Department(name='Human Resources')
    marketing = Department(name='Marketing')

    db_session.add_all([engineering, hr, marketing])
    db_session.add(Employee(name='Peter', salary=50000,
                            department=engineering))
    db_session.add(Employee(name='Roy', salary=75000, department=engineering))
    db_session.add(Employee(name='Tracy', salary=25000, department=hr))

    # Arbitrarily produce data
    for i in range(50):
        if i % 3 == 0:
            db_session.add(
                Employee(name='George #' + str(i),
                         salary=25000 + i,
                         department=hr))
        elif i % 2 == 0:
            db_session.add(
                Employee(name='Samuel #' + str(i),
                         salary=60000 - i,
                         department=marketing))
        else:
            db_session.add(
                Employee(name='Albert #' + str(i),
                         salary=12000 - i,
                         department=engineering))

    db_session.commit()
Beispiel #11
0
 def add_new_employee(self):
     name, password = self.ui.login_inputs()
     surname, birth, earnings = self.ui.new_employee_inputs()
     customer = Employee(self.user, earnings, name, surname, birth)
     self.dao.save_password_new_person(name, password)
Beispiel #12
0
    "no_error": ""
}


def gen_str(symbols, max_len):
    return "".join(
        [random.choice(symbols) for _ in range(random.randrange(max_len))])


def random_string(prefix, max_len):
    symbols = string.ascii_letters + " "
    return prefix + gen_str(symbols, max_len)


test_data = [(Employee(first_name=random_string("fn_", 50),
                       last_name=random_string("ln_", 50),
                       middle_name=random_string("mn_",
                                                 50)), err_map['no_error']),
             (Employee(first_name=random_string("fn_", 50),
                       last_name=random_string("ln_", 50),
                       middle_name=""), err_map['no_error']),
             (Employee(first_name=random_string("fn_", 50),
                       last_name=random_string("ln_", 50),
                       middle_name=None), err_map['no_error'])]


@pytest.mark.parametrize("data", test_data)
def test_add_employee(soap, data):
    (employee, err_msg) = data
    (found, response, fault) = soap.add_employee(employee.first_name,
                                                 employee.last_name,
                                                 employee.middle_name)
def update_employee(*, id, code, name):
    emp = Employee(code, name)
    emp.id = id
    Database.update_employee(emp)
def save_employee(*, code, name):
    emp = Employee(code, name)
    Database.save_employee(emp)
    "not_fount": "is not found",
    "no_error": ""
}


def gen_str(symbols, max_len):
    return "".join([random.choice(symbols) for _ in range(random.randrange(max_len))])


def random_string(prefix, max_len):
    symbols = string.ascii_letters + " "
    return prefix + gen_str(symbols, max_len)


test_data = [
    (Employee(id="5f17fe2949faca0001b68212", first_name=random_string("fn_", 50), last_name=random_string("ln_", 50),
              middle_name=random_string("mn_", 50)), err_map['no_error']),
    (Employee(id="5f17fe2949faca0001b68212", first_name=random_string("fn_", 50), last_name=random_string("ln_", 50), middle_name=""), err_map['no_error']),
    (Employee(id="5f17fe2949faca0001b68212", first_name=random_string("fn_", 50), last_name=random_string("ln_", 50), middle_name=None), err_map['no_error']),
    (Employee(id="5f17fe2949faca0001b68213", first_name=random_string("fn_", 50), last_name=random_string("ln_", 50), middle_name=""), err_map['not_fount'])
]


@pytest.mark.parametrize("data", test_data)
def test_update_employee(soap, data):
    (employee, err_msg) = data
    (found, response, fault) = soap.update_employee(employee.id, employee.first_name, employee.last_name, employee.middle_name)
    if found:
        print("%s" % response)
        assert response.last_name == employee.last_name
        assert err_msg == err_map['no_error']
        assert response.created_at != response.updated_at
Beispiel #16
0
def add_employee(*, code, name):
    employee = Employee(code, name)
    Database.save_employee(employee)
Beispiel #17
0
import json
from model.person import Person
from model.employee import Employee

p1 = Person("shajal", 27)
p2 = Person("Simon", 27)
p3 = Person("Iftekhar", 27)
plist = [p1, p2, p3]

with open("person_list.json", "w", encoding='utf-8') as f:
    for p in plist:
        f.write(p.to_json() + "\n")

e1 = Employee("Shajal", 27, 10, 'cse')
print(e1.name)