예제 #1
0
def employee_save(request):
    auth_check_pass = Auth.check_user_session(request.session)
    if not auth_check_pass:
        raise exc.HTTPFound(request.route_url("login"))
    firstname = request.params.get('firstname')
    dob = request.params.get('dob')
    gender = request.params.get('gender')
    phone = request.params.get('phone')
    email = request.params.get('email')
    security_license = request.params.get('security_license')
    security_license_expiry = request.params.get('security_license_expiry')
    awards = request.params.get('awards')
    baserate = request.params.get('baserate')
    bsb = request.params.get('bsb')
    account = request.params.get('account')
    notes = request.params.get('notes')
    try:
        Employee.add_employee_to_database(firstname, dob, gender, phone, email,
                                          security_license,
                                          security_license_expiry, awards,
                                          baserate, bsb, account, notes)
        result = 'Successfully saved'
    except:
        result = 'Something went wrong'

    return {
        'project': 'PAY CALCULATOR',
        'result': result,
        'username': request.session['username']
    }
예제 #2
0
def site_list(request):
    auth_check_pass = Auth.check_user_session(request.session)
    if not auth_check_pass:
        raise exc.HTTPFound(request.route_url("login"))

    site_list = Site.get_list_of_site()

    return site_list
예제 #3
0
def site_add(request):
    auth_check_pass = Auth.check_user_session(request.session)
    if not auth_check_pass:
        raise exc.HTTPFound(request.route_url("login"))
    return {
        'project': 'PAY CALCULATOR',
        'username': request.session['username']
    }
예제 #4
0
def fetch_employee(request):
    auth_check_pass = Auth.check_user_session(request.session)
    if not auth_check_pass:
        raise exc.HTTPFound(request.route_url("login"))
    firstname = request.params.get('firstname')
    security_license = request.params.get('security_license')
    data = Employee.find_employee(firstname, security_license)
    return json.dumps(data)
예제 #5
0
def save_leave(request):
    auth_check_pass = Auth.check_user_session(request.session)
    if not auth_check_pass:
        raise exc.HTTPFound(request.route_url("login"))
    pay = request.POST['payslip_data']
    pay = json.loads(pay)

    Pay.save_leave_data(pay)
    return "Saved successfully"
예제 #6
0
def timesheet_add(request):
    auth_check_pass = Auth.check_user_session(request.session)
    if not auth_check_pass:
        raise exc.HTTPFound(request.route_url("login"))
    sites = Site.get_list_of_site()
    return {
        'project': 'PAY CALCULATOR',
        'username': request.session['username'],
        'sites': sites
    }
예제 #7
0
def save_bulk_employee(request):
    auth_check_pass = Auth.check_user_session(request.session)
    if not auth_check_pass:
        raise exc.HTTPFound(request.route_url("login"))
    guard_data = request.POST.get('guard_data')
    Employee.save_bulk_employee(guard_data)
    return {
        'project': 'PAY CALCULATOR',
        'username': request.session['username']
    }
예제 #8
0
def send_email_to_guards(request):
    auth_check_pass = Auth.check_user_session(request.session)
    if not auth_check_pass:
        raise exc.HTTPFound(request.route_url("login"))
    roaster_data = request.POST.get('roaster_data')
    Employee.send_email_to_guards(roaster_data)
    return {
        'project': 'PAY CALCULATOR',
        'username': request.session['username']
    }
예제 #9
0
def save_payslip(request):
    auth_check_pass = Auth.check_user_session(request.session)
    if not auth_check_pass:
        raise exc.HTTPFound(request.route_url("login"))
    pay = request.POST['payslip_data']
    pay = json.loads(pay)
    fortnight_start = request.POST['fortnight_start']
    fortnight_end = request.POST['fortnight_end']

    Pay.save_payslip_data(pay, fortnight_start, fortnight_end)
    return "Saved successfully"
예제 #10
0
def delete_employee_from_database(request):
    auth_check_pass = Auth.check_user_session(request.session)
    if not auth_check_pass:
        raise exc.HTTPFound(request.route_url("login"))
    emp_id = request.params.get('id')
    try:
        Employee.delete_employee(emp_id)
        result = "successfully deleted"
    except:
        result = "something went wrong"
    return result
예제 #11
0
def edit_employee(request):
    auth_check_pass = Auth.check_user_session(request.session)
    if not auth_check_pass:
        raise exc.HTTPFound(request.route_url("login"))
    emp_id = request.params.get('emp_id')
    emp_data = Employee.find_employee_by_id(emp_id)
    return {
        'project': 'PAY CALCULATOR',
        'emp_data': emp_data,
        'username': request.session['username']
    }
예제 #12
0
def send_payslip(request):
    auth_check_pass = Auth.check_user_session(request.session)
    if not auth_check_pass:
        raise exc.HTTPFound(request.route_url("login"))
    firstname = request.params.get('firstname').lower()
    start_date = request.params.get('start_date')
    end_date = request.params.get('end_date')

    # get email for employee
    User.get_email_for_employee(firstname, start_date, end_date,
                                request.response)
    return "Successfully sent email"
예제 #13
0
def site_save(request):
    auth_check_pass = Auth.check_user_session(request.session)
    if not auth_check_pass:
        raise exc.HTTPFound(request.route_url("login"))
    sitename = request.params.get('sitename')
    notes = request.params.get('notes')
    try:
        Site.add_site_to_database(sitename, notes)
        result = 'Successfully saved'
    except:
        result = 'Something went wrong'

    return {
        'project': 'PAY CALCULATOR',
        'result': result,
        'username': request.session['username']
    }
예제 #14
0
def timesheet_save(request):
    auth_check_pass = Auth.check_user_session(request.session)
    if not auth_check_pass:
        raise exc.HTTPFound(request.route_url("login"))
    shift_date = request.params.get('shift_date')
    guard_name = request.params.get('guard_name')
    site_name = request.params.get('site_name')
    start_time = request.params.get('start_time')
    end_time = request.params.get('end_time')
    payable_hours = request.params.get('payable_hours')
    # try:
    Timesheet.add_timesheet_to_database(shift_date, guard_name, site_name,
                                        start_time, end_time, payable_hours)
    result = 'Successfully saved'
    # except:
    # 	result = 'Something went wrong'

    return {
        'project': 'PAY CALCULATOR',
        'result': result,
        'username': request.session['username']
    }
예제 #15
0
def save_updated_employee(request):
    auth_check_pass = Auth.check_user_session(request.session)
    if not auth_check_pass:
        raise exc.HTTPFound(request.route_url("login"))
    emp_id = request.params.get('emp_id')
    print(emp_id)
    firstname = request.params.get('firstname')
    dob = request.params.get('dob')
    gender = request.params.get('gender')
    phone = request.params.get('phone')
    email = request.params.get('email')
    security_license = request.params.get('security_license')
    security_license_expiry = request.params.get('security_license_expiry')
    awards = request.params.get('awards')
    baserate = request.params.get('baserate')
    bsb = request.params.get('bsb')
    account = request.params.get('account')
    notes = request.params.get('notes')
    result = Employee.save_updated_employee(emp_id, firstname, dob, gender,
                                            phone, email, security_license,
                                            security_license_expiry, awards,
                                            baserate, bsb, account, notes)
    return result
예제 #16
0
def calculate_payrate(request):
    auth_check_pass = Auth.check_user_session(request.session)
    if not auth_check_pass:
        raise exc.HTTPFound(request.route_url("login"))
    roaster_data = request.POST['roaster_data']
    roaster_data = roaster_data.value
    roaster_data = roaster_data.decode('utf-8')

    state = request.params.get('state')

    pay_type = request.params.get('pay_type')

    if pay_type == 'jmd_eba':
        data = Pay.calculate_jmd_eba_rate(roaster_data, state)
        return {
            'project': 'PAY CALCULATOR',
            'pay': data[0],
            'pay_type': 'jmd_eba',
            'username': request.session['username'],
            'fortnight_start': data[1],
            'fortnight_end': data[2],
            'category': 'security',
            'state': state
        }

    if pay_type == 'jmd_eba3':
        data = Pay.calculate_jmd_eba3_rate(roaster_data, state)
        return {
            'project': 'PAY CALCULATOR',
            'pay': data[0],
            'pay_type': 'jmd_eba3',
            'username': request.session['username'],
            'fortnight_start': data[1],
            'fortnight_end': data[2],
            'category': 'security',
            'state': state
        }

    if pay_type == 'jmd_eba2':
        data = Pay.calculate_jmd_eba2_rate(roaster_data, state)
        return {
            'project': 'PAY CALCULATOR',
            'pay': data[0],
            'pay_type': 'jmd_eba2',
            'username': request.session['username'],
            'fortnight_start': data[1],
            'fortnight_end': data[2],
            'category': 'security',
            'state': state
        }

    if pay_type == 'jmd_eba1':
        data = Pay.calculate_jmd_eba1_rate(roaster_data, state)
        return {
            'project': 'PAY CALCULATOR',
            'pay': data[0],
            'pay_type': 'jmd_eba1',
            'username': request.session['username'],
            'fortnight_start': data[1],
            'fortnight_end': data[2],
            'category': 'security',
            'state': state
        }

    if pay_type == 'awards':
        category = request.params.get('category')
        job_type = request.params.get('job_type')
        data = Pay.calculate_awards_rate(roaster_data, state, category,
                                         job_type)
        return {
            'project': 'PAY CALCULATOR',
            'pay': data[0],
            'pay_type': 'awards',
            'username': request.session['username'],
            'fortnight_start': data[1],
            'fortnight_end': data[2],
            'category': category,
            'state': state
        }

    if pay_type == 'rss':
        data = Pay.calculate_rss_rate(roaster_data, state)
        return {
            'project': 'PAY CALCULATOR',
            'pay': data[0],
            'pay_type': 'rss',
            'username': request.session['username'],
            'fortnight_start': data[1],
            'fortnight_end': data[2],
            'category': 'security',
            'state': state
        }