Exemple #1
0
def employee():
    my_form = EmployeeForm()
    print("sucess")
    if my_form.validate_on_submit():
        # fetch the uploaded file
        file_csv = request.files.get('file_csv')
        print("valid")
        if file_csv:
            # get the file full path
            file_full_path = os.path.join(app.config['UPLOAD_FOLDER'], file_csv.filename)
            # save it in the server file system
            file_csv.save(file_full_path)
            # read that file in dataframe 
            df = pd.read_csv(file_full_path)
            #print(df)
            employee_list_raw = df.to_dict('records')
            #create a list for bulk insert later on
            employee_list = []
            for curr_employee in employee_list_raw:
                emp = Employee.from_dict(curr_employee)
                employee_list.append(emp)
            print("employee_list_count", len(employee_list)) 

            # save t0 DB
            db.session.bulk_save_objects(employee_list)
            db.session.commit()

            # test query
            e_list = Employee.query.limit(5).all()
            print("*******")
            print(e_list)
            print("*******")  


    return render_template('employee.html', title = 'Employee', my_form = my_form) # customize the title
Exemple #2
0
def create_employee_view(company_slug_to_id, **kwargs):
    corporation_id = kwargs['corporation_id']
    roles = RoleAccess(corporation_id=corporation_id,
                       company_id=company_slug_to_id). \
        roles_available_to_create_employee()

    roles_to_choose = [(i.id, i.name) for i in roles]

    form = EmployeeForm(roles_to_choose, corporation_id)

    next_page = request.args.get('next')

    if request.method == 'POST':
        if form.submit_employee.data and form.validate_on_submit():
            EmployeeAccess(company_id=company_slug_to_id,
                           first_name=form.first_name_employee.data.strip(),
                           email=form.email_employee.data.strip(),
                           role_id=form.role_employee.data.strip(),
                           corporation_id=corporation_id). \
                create_employee()
            flash('Your employee is now live!')
            if next_page:
                return redirect(next_page)
            form.first_name_employee.data = ''
            form.email_employee.data = ''
            form.role_employee.data = ''

        elif form.cancel_employee.data:
            if next_page:
                return redirect(next_page)
            form.first_name_employee.data = ''
            form.email_employee.data = ''
            form.role_employee.data = ''

    return render_template('create_employee.html', form=form)
Exemple #3
0
def employee_login():
    form = EmployeeForm()
    if form.validate_on_submit():
        employee_id = form.employee_id.data
        password = form.password.data
        db = get_db()
        employee = db.execute(
            ''' SELECT * FROM employees
                                WHERE employee_id = ?;''',
            (employee_id, )).fetchone()

        if employee is None:
            form.employee_id.errors.append("Unknown employee id")

        elif not check_password_hash(employee["password"], password):
            form.password.errors.append("Incorrect password!")
            eventLogger(employee_id, "got their password wrong")

        else:
            session.clear()
            session["employee_id"] = employee_id
            eventLogger(employee_id, "logged in")
            next_page = request.args.get("next")
            if not next_page:
                next_page = url_for("employee_home")
            return redirect(next_page)
    return render_template("employee_login.html", form=form)
Exemple #4
0
def edit_employee(employee_id):

    employee = Employee.query.get(employee_id)
    form = EmployeeForm(obj=employee)
    form.populate_obj(employee)
    if form.validate_on_submit():
        db.session.commit()
        return redirect(url_for('employee_list'))
    return render_template('edit_employee.html', form=form, employee=employee)
Exemple #5
0
def edit_emp(emp_id):
    emp = Employee.query.get_or_404(emp_id)
    form = EmployeeForm(obj=emp)
    depts = db.session.query(Department.dept_code, Department.dept_name)
    form.dept_code.choices = depts
    if form.validate_on_submit():
        emp.name = form.name.data
        emp.state = form.state.data
        emp.dept_code = form.dept_code.data
        db.session.commit()
        return redirect('/phones')
    else:
        return render_template('edit-emp.html', form=form)
Exemple #6
0
def edit_employee(id):
    emp = Employee.query.get_or_404(id)
    form = EmployeeForm(obj=emp)
    depts = [('mktg', 'Marketing')]
    form.dept_code.choices = depts

    if form.validate_on_submit():
        emp.name = form.name.data
        emp.state = form.state.data
        emp.dept_code = form.dept_code.data
        db.session.commit()
        return redirect('/phones')
    else:
        return render_template("edit_employee_form.html", form=form)
Exemple #7
0
def add_employee():
    form = EmployeeForm()
    depts = db.session.query(Department.dept_code, Department.dept_name)
    form.dept_code.choices = depts
    if form.validate_on_submit():
        name = form.name.data
        state = form.state.data
        dept_code = form.dept_code.data
        emp = Employee(name=name, state=state, dept_code=dept_code)
        db.session.add(emp)
        db.session.commit()
        return redirect('/phones')
    else:
        return render_template('add_employee_form.html', form=form)
Exemple #8
0
def add_employee():

    form = EmployeeForm()
    if form.validate_on_submit():
        new_employee = Employee(firstname=form.firstname.data,
                                lastname=form.lastname.data,
                                department=form.department.data,
                                user_id=current_user.id)

        db.session.add(new_employee)
        db.session.commit()
        flash('New employee added successfully.')
        return redirect(url_for('employee_list'))
    return render_template('add_employee.html', form=form)
Exemple #9
0
def employee():
    my_form = EmployeeForm()
    # convert to list

    if my_form.validate_on_submit():  # my_form.submitted()
        # file we are importing
        file_csv = request.files.get('file_csv')

        if file_csv:
            file_full_path = os.path.join(app.config['UPLOAD_FOLDER'],
                                          file_csv.filename)
            # print("file_full_path", file_full_path)

            # save to upload folder
            file_csv.save(file_full_path)

            # load the data in the table using pandas
            df = pd.read_csv(file_full_path)

            # print("raw_data", df.iloc[0])

            # print("shape", df.shape)
            employee_list_raw = df.to_dict('records')

            # print("dictionary", employee_list_raw)

            employee_list = []
            for curr_emp in employee_list_raw:
                emp = Employee.from_dict(curr_emp)
                employee_list.append(emp)
                # db.session.add(emp)
                # db.session.commit()

            print("employee_list_count", len(employee_list))

            # save t0 DB
            db.session.bulk_save_objects(employee_list)
            db.session.commit()

            # test query
            e_list = Employee.query.limit(5).all()
            print("*******")
            print(e_list)
            print("*******")

        # send us to the display page
        # return redirect("/employee/" + str(my_data.id))

    return render_template('employee.html', my_form=my_form)
Exemple #10
0
def edit_user(user_id):
    employee = Employee.query.get_or_404(user_id)
    # obj=employee prepopulates fields automatically based on employee data
    form = EmployeeForm(obj=employee)

    depts = db.session.query(Department.dept_code, Department.dept_name)
    form.dept_code.choices = depts

    if form.validate_on_submit():
        employee.name = form.name.data
        employee.state = form.state.data
        employee.dept_code = form.dept_code.data

        db.session.commit()
        return redirect('/phones')
    else:
        return render_template('edit_employee_form.html', form=form)
Exemple #11
0
def add_employee():
    form = EmployeeForm()
    depts = db.session.query(Department.dept_code, Department.dept_name)
    #pdb.set_trace()
    #depts = [('mktg','Marketing')]
    form.dept_code.choices = depts
    #raise

    if form.validate_on_submit():
        name = form.name.data
        state = form.state.data
        dept_code = form.dept_code.data

        emp = Employee(name=name, state=state, dept_code=dept_code)
        db.session.add(emp)
        db.session.commit()
        return redirect('/phones')
    else:
        return render_template('add_employee.html', form=form)
Exemple #12
0
def add_employee():
    """Show a form to add new employee and handle form to add new employee"""
    # Get the appropriate form from forms.py
    form = EmployeeForm()

    # Make options for select input
    depts = db.session.query(Department.dept_code, Department.dept_name)
    form.dept_code.choices = depts

    # For POST request
    if form.validate_on_submit():
        emp = Employee(name=form.name.data,
                       state=form.state.data,
                       dept_code=form.dept_code.data)
        db.session.add(emp)
        db.session.commit()
        return redirect('/phones')
    else:
        return render_template('add_employee_form.html', form=form)
Exemple #13
0
def add_employee():

    form = EmployeeForm()

    # Adds a tuple to the dept_code.choices select form field ie. ('mktg', 'Marketing')
    depts = db.session.query(Department.dept_code, Department.dept_name)
    form.dept_code.choices = depts
    if form.validate_on_submit():
        name = form.name.data
        state = form.state.data
        dept_code = form.dept_code.data

        new_employee = Employee(name=name, state=state, dept_code=dept_code)
        db.session.add(new_employee)
        db.session.commit()

        return redirect('/phones')
    else:
        return render_template('add_employee_form.html', form=form)
Exemple #14
0
def edit_employee(id):
    """Show form to edit employee and handle form to update existing employee"""
    # Get employee based on input id
    emp = Employee.query.get_or_404(id)

    # Get the appropriate form from forms.py and re-pupolate the fields on HTML
    form = EmployeeForm(obj=emp)

    # Make options for select input
    depts = db.session.query(Department.dept_code, Department.dept_name)
    form.dept_code.choices = depts

    # For POST request
    if form.validate_on_submit():
        # Update employee, get data from the form
        emp.name = form.name.data
        emp.state = form.state.data
        emp.dept_code = form.dept_code.data
        db.session.commit()
        return redirect('/phones')
    else:
        return render_template("edit_employee_form.html", form=form, emp=emp)