Exemplo n.º 1
0
def employee(department_id, employee_id):
    employee = Employee.query.filter_by(id=employee_id, department_id=department_id).first()
    if not employee:
        abort(404)



    employee_form = EmployeeForm(obj=employee, start_date=employee.vacancy.closing_date)

    if employee_form.validate_on_submit():
        if employee.position_id != employee_form.position_id.data or employee.department_id != employee_form.department_id.data:
            update_position(
                employee,
                employee_form.position_id.data,
                employee_form.department_id.data,
                employee_form.start_date.data
            )

        if employee.is_director != employee_form.director.data:
            update_director(department_id, employee, employee_form.director.data)

        employee_form.populate_obj(employee)
        db.session.commit()
        return redirect(url_for('employee', department_id=employee.department_id, employee_id=employee.id))

    flash_errors(employee_form)
    return render_template('employee.html', employee=employee, employee_form=employee_form)
Exemplo n.º 2
0
def update(request, id):
    employee = Employee.objects.get(id=id)
    form = EmployeeForm(request.POST, instance=employee)
    if form.is_valid():
        form.save()
        return redirect("/show")
    return render(request, 'edit.html', {'employee': employee})
Exemplo n.º 3
0
def employees(department_id, vacancy_id):
    vacancy = Vacancy.query.filter_by(id=vacancy_id).first()
    if not vacancy:
        abort(404)
    form = EmployeeForm(obj=request.form)

    if form.validate_on_submit():
        employee = Employee(
            name=form.name.data,
            surname=form.surname.data,
            position_id=form.position_id.data,
            email=form.email.data,
            phone_number=form.phone_number.data,
            birth_date=form.birth_date.data,
            department_id=form.department_id.data,
            vacancy=vacancy
        )

        if form.director.data:
            update_director(department_id, employee, True)
        db.session.add(employee)

        vacancy.is_open = False
        vacancy.employee = employee
        vacancy.closing_date = form.start_date.data

        db.session.commit()

        update_position(employee, form.position_id.data, form.department_id.data, form.start_date.data)
        db.session.commit()

    flash_errors(form)
    return redirect(url_for('department', department_id=department_id))
Exemplo n.º 4
0
def displayMyAccount():
    """Fetches the info of the logged in user and allow him or her to modify it"""

    if current_user.firsttimelogin == True:
        flash('First you need to update your password.')
        return redirect(url_for('reset'))
    title = current_user.fname + ' ' + current_user.lname + ' Account'
    formEmployee = EmployeeForm()
    formLogout = LogoutForm()
    if formLogout.Logout.data and formLogout.is_submitted():
        return redirect(url_for('logout'))
    if formEmployee.submit.data and formEmployee.is_submitted():
        fn = formEmployee.first_name.data
        ln = formEmployee.last_name.data
        pn = formEmployee.phone_number.data
        em = formEmployee.email.data
        row = Employee.query.filter_by(id = current_user.id).first()
        row.fname = fn
        row.lname = ln
        row.phone_number = pn
        row.email = em
        db.session.commit()
        flash('Your information has just been updated!')
        return redirect(url_for('chooseToDo'))

    firstname = current_user.fname
    lastname = current_user.lname
    email = current_user.email
    phonenumber = current_user.phone_number

    return render_template("account.html", title=title, formEmployee=formEmployee, formLogout=formLogout, 
    firstname=firstname, lastname=lastname, email=email, phonenumber=phonenumber)
Exemplo n.º 5
0
def edit_employee(employee_name):
    form = EmployeeForm()
    if form.validate_on_submit():
        emp = Employee.query.filter_by(employee_name=employee_name).first()
        emp.employee_name = form.employee_name.data
        emp.email = form.email.data
        emp.address = form.address.data
        emp.age = form.age.data
        emp.phone = form.phone.data
        emp.gender = form.gender.data
        emp.job_title = form.job_title.data
        emp.salary = form.salary.data
        db.session.commit()
        flash(f'{ emp.employee_name } has been update ')
        return redirect(url_for('index'))
    elif request.method == 'GET':
        emp = Employee.query.filter_by(employee_name=employee_name).first()
        form.employee_name.data = emp.employee_name
        form.email.data = emp.email
        form.address.data = emp.address
        form.age.data = emp.age
        form.phone.data = emp.phone
        form.gender.data = emp.gender
        form.job_title.data = emp.job_title
        form.salary.data = emp.salary
    return render_template('add_employee.html',
                           title='Edit Employee',
                           form=form)
Exemplo n.º 6
0
def add_employee():
    form = EmployeeForm()
    if form.validate_on_submit():
        employee = Employee(name=form.name.data,
                            employee_id=form.employee_id.data,
                            email=form.email.data)
        db.session.add(employee)
        db.session.commit()
        flash('تم إدخال بيانات الموظف {}'.format(employee.name))
    return render_template('add_employee.html', form=form)
Exemplo n.º 7
0
def employee(request):
    if request.method == 'POST':
        # create a form instance and populate it with data from the request:
        form = EmployeeForm(request.POST)
        # check whether it's valid:
        if form.is_valid():
            # process the data in form.cleaned_data as required
            # some actions
            return HttpResponseRedirect(reverse('congrats'))
        return HttpResponseRedirect(reverse('fail'))

        # if a GET (or any other method) we'll create a blank form
    else:
        form = EmployeeForm()

    return render(request, 'emloyee.html', {'form': form})
Exemplo n.º 8
0
def employee_create(request):
    if request.method == 'GET':
        employee_form = EmployeeForm()

    if request.method == 'POST':
        try:
            first_name = request.POST.get('first_name')
            email = request.POST.get('first_name')
            password = request.POST.get('password')

            print('first_name: {}, email: {}, password: {}'.format(
                first_name, email, password))

            user = User.objects.create_user(username=first_name,
                                            first_name=first_name,
                                            email=email,
                                            password=password)

            employee = Employee(
                user=user,
                salary=request.POST.get('salary'),
                role=Role.objects.get(pk=request.POST.get('role')))

            employee.save()

            messages.success(request,
                             '{}'.format('Usuario guardado exitosamente'))
            return redirect('employee_list')

        except Exception as e:
            print(e)

    return render(request, 'app/employee_create.html',
                  {'employee_form': employee_form})
Exemplo n.º 9
0
def add_employee():
    form = EmployeeForm()
    if form.validate_on_submit():
        employee = Employee(employee_name=form.employee_name.data,
                            email=form.email.data,
                            address=form.address.data,
                            age=form.age.data,
                            phone=form.phone.data,
                            gender=form.gender.data,
                            job_title=form.job_title.data,
                            salary=form.salary.data)
        db.session.add(employee)
        db.session.commit()
        return redirect(url_for('index'))
    return render_template('add_employee.html',
                           title='Add Employee',
                           form=form)
Exemplo n.º 10
0
def addemployee():
    """Adds a new Employee to the data base under the same organization id as the logged in user who is adding the
    new user.
    Also allows the new user to be selected as manager or employee"""

    title = "Add employee to Shifter"
    formEmployee = EmployeeForm()
    formLogout = LogoutForm()
    if formLogout.Logout.data and formLogout.is_submitted():
        return redirect(url_for('logout'))

    if (formEmployee.validate_on_submit()):
        user = Employee.query.filter_by(email=formEmployee.email.data).first()
        user1 = Employee.query.filter_by(
            phone_number=formEmployee.phone_number.data).first()
        if user is not None:
            flash(
                'There is already an account registered under this email address.'
            )
            return redirect(url_for('addemployee'))
        elif user1 is not None:
            flash(
                'There is already an account registered under this phone number.'
            )
            return redirect(url_for('addemployee'))
        else:
            firstn = formEmployee.first_name.data
            employee = Employee(fname=formEmployee.first_name.data,
                                lname=formEmployee.last_name.data,
                                email=formEmployee.email.data,
                                phone_number=formEmployee.phone_number.data,
                                organization_id=current_user.organization_id,
                                firsttimelogin=True)
            employee.setManager(formEmployee.manager.data)
            employee.set_password(formEmployee.phone_number.data)
            db.session.add(employee)
            db.session.commit()

        flash(firstn + ' has been added to the company')
        return redirect(url_for('login'))

    return render_template("addemployee.html",
                           title=title,
                           formEmployee=formEmployee,
                           formLogout=formLogout)
def employee_add(request):
    if request.method == 'POST':
        form = EmployeeForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('employee'))
    else:
        form = EmployeeForm()
    context = {'form': form}
    return render(request, 'appTemp/employee/employee_add.html', context)
Exemplo n.º 12
0
def addemployee():
    title = "Add employee to Shifter"
    formEmployee = EmployeeForm()
    formLogout = LogoutForm()
    if formLogout.Logout.data and formLogout.is_submitted():
        flash('Logged out')
        return redirect(url_for('logout'))

    if (formEmployee.validate_on_submit()):
        user = Employee.query.filter_by(email=formEmployee.email.data).first()
        user1 = Employee.query.filter_by(
            phone_number=formEmployee.phone_number.data).first()
        if user is not None:
            flash(
                'There is already an account registered under this email address.'
            )
            return redirect(url_for('addemployee'))
        elif user1 is not None:
            flash(
                'There is already an account registered under this phone number.'
            )
            return redirect(url_for('addemployee'))
        else:
            employee = Employee(fname=formEmployee.first_name.data,
                                lname=formEmployee.last_name.data,
                                email=formEmployee.email.data,
                                phone_number=formEmployee.phone_number.data,
                                organization_id=current_user.organization_id,
                                firsttimelogin=True)
            employee.setManager(formEmployee.manager.data)
            employee.set_password(formEmployee.phone_number.data)
            db.session.add(employee)
            db.session.commit()

        return redirect(url_for('login'))

    return render_template("addemployee.html",
                           title=title,
                           formEmployee=formEmployee,
                           formLogout=formLogout)
Exemplo n.º 13
0
def add_employee():
    try:
        email_id = request.cookies.get('YourSessionCookie')
        form = EmployeeForm(request.form)
        if request.method == 'POST':
            if 'employee_create' in get_access(email_id):
                employee = Employee()
                save_changes(employee, form, new=True)
                return redirect(url_for('show_employee'))
            flash('Can not create employee details!!! Access Denied')
        return render_template('new_employee.html', form=form)
    except Exception as ex:
        flash(ex)
Exemplo n.º 14
0
def emp(request):
    if request.method == "POST":
        form = EmployeeForm(request.POST)
        if form.is_valid():
            try:
                form.save()
                return redirect('/show')
            except:
                pass
    else:
        form = EmployeeForm()
    return render(request, 'index.html', {'form': form})
Exemplo n.º 15
0
def index():
    print('index')
    employees = Employee.query.all()
    form = EmployeeForm()
    '''
    # use Python class to fill in form
    emps = []
    for emp in employees:       
        empData = EmployeeData(emp.id, emp.name, emp.age, emp.date)
        emps.append(empData)
            
    return render_template('index.html',form=form, employees=emps)
    '''

    # use sqlAlch class to fill in form
    return render_template('index.html', form=form, employees=employees)
def employee_edit(request, employee_id):
    if request.method == 'POST':
        employee = Employee.objects.get(pk=employee_id)
        form = EmployeeForm(request.POST, instance=employee)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('employee'))
    else:
        employee = Employee.objects.get(pk=employee_id)
        fields = model_to_dict(employee)
        form = EmployeeForm(initial=fields, instance=employee)
    context = {
        'form': form,
        'type': 'edit',
    }
    return render(request, 'appTemp/employee/employee_add.html', context)
Exemplo n.º 17
0
def vacancy(department_id, vacancy_id):
    vacancy = Vacancy.query.filter_by(id=vacancy_id, department_id=department_id).first()
    if not vacancy:
        abort(404)

    vacancy_form = VacancyForm(obj=vacancy)
    employee_form = EmployeeForm(department_id=department_id, position_id=vacancy.position_id)

    if vacancy_form.validate_on_submit():
        vacancy_form.populate_obj(vacancy)
        db.session.commit()
        return redirect(url_for('vacancy', department_id=department_id, vacancy_id=vacancy_id))

    flash_errors(vacancy_form)
    return render_template(
        'vacancy.html',
        vacancy=vacancy,
        vacancy_form=vacancy_form,
        employee_form=employee_form
    )
Exemplo n.º 18
0
def edit_employee(emp_id):
    employee = Employee.query.get(emp_id)
    form = EmployeeForm(request.form)
    if form.validate_on_submit():
        form = EmployeeForm(request.form)
        employee.name = form.name.data
        employee.employee_id = form.employee_id.data
        employee.email = form.email.data
        db.session.add(employee)
        db.session.commit()
        flash('تم تحديث بيانات الموظف {}'.format(employee.name))
        return render_template('add_employee.html',
                               emp_id=employee.employee_id,
                               form=form)
    form = EmployeeForm()
    form.name.data = employee.name
    form.employee_id.data = employee.employee_id
    form.email.data = employee.email
    return render_template('edit_employee.html', form=form)
Exemplo n.º 19
0
def addemployee():
    title = "Add employee to Shifter"
    formEmployee = EmployeeForm()
    formLogout = LogoutForm()
    return render_template("addemployee.html", title=title, formEmployee=formEmployee, formLogout=formLogout)