def generate_payroll(uid): month = request.form['month'] year = request.form['year'] overtime = request.form['overtime'] month = month + str(year) employee = EmployeesModel.fetch_by_id(uid) basic = employee.basic_salary benefits = employee.benefits ya = Employee(basic, benefits) gross = ya.gross_salary payee = ya.calc_payee() nhif = ya.calc_NHIF() nssf = ya.nssf relief = 0 sacco = 0 pension = 0 netSalary = ya.calc_net_salary() emp_id = uid pay = PayrollsModel(month=month, gross_salary=gross, payee=payee, nhif=nhif, nssf=nssf, personal_relief=relief, sacco_distribution=sacco, pension=pension, net_salary=netSalary, employee_id=emp_id) # try: pay.insert_record() return redirect(url_for('payrolls', id=uid))
def editEmployee(id): jina_ya_emp = request.form['name'] kra_pin = request.form['kra_pin'] gender = request.form['gender'] national_id = request.form['national_id'] email = request.form['email'] department_id = int(request.form['department']) basic_salary = request.form['basic_salary'] benefits = request.form['benefits'] if gender == "na": gender = None if department_id == "0": department_id = None EmployeesModel.update_by_id(id=id, full_name=jina_ya_emp, gender=gender, kra_pin=kra_pin, email=email, national_id=national_id, department_id=department_id, basic_salary=basic_salary, benefits=benefits) this_emp = EmployeesModel.fetch_by_id(id=id) this_dept = this_emp.department return redirect(url_for('employees', dept_id=this_dept.id))
def generate_payroll(uid): month = request.form['month'] year = request.form['year'] overtime = request.form['overtime'] month = month + str(year) employee = EmployeesModel.fetch_by_id(uid) basic = employee.basic_salary benefits = employee.benefits mfanyikazi = Employee("bob",basic,benefits) gross = mfanyikazi.grossSalary payee = mfanyikazi.payeTax nhif = mfanyikazi.nhif nssf = mfanyikazi.nssf personal_relief = mfanyikazi.personal_relief sacco_contribution = 0 pension = 0 net = mfanyikazi.netSalary + int(overtime) emp_id = uid pay = PayrollsModel(month=month,gross_salary=gross,payee = payee,nhif=nhif, nssf=nssf,personal_relief=personal_relief, sacco_contribution=sacco_contribution, pension=pension,net_salary=net, employee_id=emp_id) try: pay.insert_record() return redirect(url_for('payrolls',id = uid)) except: flash("Error in saving to the database") return redirect(url_for('payrolls',id = uid))
def generate_payrolls(emp_id): this_employee = EmployeesModel.fetch_by_id(emp_id) payroll = Payroll(this_employee.full_name, this_employee.basic_salary, this_employee.benefits) payroll_month = request.form['month'] overtime = request.form['overtime'] advanced_pay = request.form['salary_advance'] loan_deductions = request.form['loan'] gross = payroll.gross_salary nhif = payroll.nhif_deductions nssf = round(payroll.nssf_deductions, 2) taxable_amount = payroll.taxable_income paye = round(payroll.payee, 2) personal_relief = payroll.personal_relief tax_off_relief = round(payroll.tax_off_relief, 2) net_salary = payroll.net_salary take_home_pay = net_salary - (float(loan_deductions) + float(advanced_pay)) payslip = PayrollsModel(payroll_month=payroll_month, overtime=overtime, advanced_pay=advanced_pay, loan_deductions=loan_deductions, gross_salary=gross, nhif_deductions=nhif, nssf_deductions=nssf, taxable_income=taxable_amount, PAYE=paye, personal_relief=personal_relief, tax_off_relief=tax_off_relief, net_salary=net_salary, take_home_pay=take_home_pay, employee_id=this_employee.id) payslip.insert_to_db() return redirect(url_for('payrolls', emp_id=this_employee.id))
def generate_payroll(uid): month = request.form['month'] year = request.form['year'] overtime = request.form['overtime'] month = month + str(year) employee = EmployeesModel.fetch_by_id(uid) basic = employee.basic_salary benefits = employee.benefits mfanyikazi = Employees(basic, benefits) gross = mfanyikazi.get_gross_salary() nssf = mfanyikazi.get_nssf() nhif = mfanyikazi.get_nhif() net = mfanyikazi.get_net_salary() + float(overtime) payee = mfanyikazi.get_payee() personal_relief = mfanyikazi.personal_relief sacco_contribution = 0 pension = 0 emp_id = uid pay = PayrollsModel(month=month, gross_salary=gross, payee=payee, nhif=nhif, nssf=nssf, personal_relief=personal_relief, sacco_contribution=sacco_contribution, pension=pension, net_salary=net, employee_id=emp_id) # create a bar chart line_chart = pygal.Bar() line_chart.title = 'Payroll Summary in %' line_chart.x_labels = map(str, range(2019)) line_chart.add('Month', [month]) line_chart.add('Gross salary', [gross]) line_chart.add('PAYE', [payee]) line_chart.add('NHIF', [nhif]) line_chart.add('NSSF', [nssf]) line_chart.add('Relief', [personal_relief]) line_chart.add('Net Salary', [net]) bar = line_chart.render_data_uri() print(bar) try: pay.insert_records() return redirect(url_for('payrolls', id=uid)) except: flash("Error in saving to the database") return redirect(url_for('payrolls', id=uid))
def generate_payroll(id): this_employee = EmployeesModel.fetch_by_id(id) payroll = Employee(this_employee.full_name, this_employee.basic_salary, this_employee.benefits) nhif = payroll.nhif print("NSSF", payroll.nssf) print("PAYE", payroll.payeTax) print("NET", payroll.netSalary) print("Gross", payroll.grossSalary) print("Personal Relief", payroll.personal_relief) print("Taxable amount", payroll.chargeable_pay)
def generate_payroll(id): this_employee = EmployeesModel.fetch_by_id(id) payroll = KRACalculator(this_employee.full_name, this_employee.basic_salary, this_employee.benefits) NHIF = payroll.NHIF NSSF = payroll.NSSF PAYE = payroll.PAYE gross_salary = payroll.gross_salary personal_relief = payroll.personal_relief taxable_income = payroll.taxable_income net_salary = payroll.net_salary return redirect(url_for('home'))
def editEmployee(pos): name = request.form['name'] email = request.form['email'] kra_pin = request.form['kra'] basic_salary = request.form['basic'] benefits = request.form['benefits'] current_user = EmployeesModel.fetch_by_id(pos) # use and to capture this error if EmployeesModel.check_kra(kra_pin) and kra_pin != current_user.kra_pin or EmployeesModel.check_email(email) and email != current_user.email: flash("Email/Kra already exists") return redirect(url_for('home')) EmployeesModel.update_by_id(id = pos,name=name,email = email,kra=kra_pin, basic=basic_salary,benefits=benefits) return redirect(url_for('home'))
def edit_employee(id): name = request.form['name'] email = request.form['email'] kra_pin = request.form['kra'] basic_salary = request.form['basicsalary'] benefits = request.form['benefits'] current_user = EmployeesModel.fetch_by_id(id) if EmployeesModel.check_existing_kra( kra_pin ) and kra_pin != current_user.kra_pin or EmployeesModel.check_existing_email( email) and email != current_user.email: flash("Email/Kra Pin already exists") EmployeesModel.update_by_id(id=id, name=name, email=email, kra=kra_pin, salary=basic_salary, benefits=benefits) return redirect(url_for('home'))
def edit_employee(id): name = request.form['name'] gender = request.form['gender'] email = request.form['email'] kra_pin = request.form['kra'] basic_salary = request.form['basic'] benefits = request.form['benefits'] current_user = EmployeesModel.fetch_by_id(id) # use and to capture this error if EmployeesModel.check_kra_pin(kra_pin) and kra_pin != current_user.kra_pin or \ EmployeesModel.check_email(email) and email != current_user.email: flash("Kra/email already exists") return redirect(url_for('home')) EmployeesModel.update_by_id(id=id, name=name, gender=gender, email=email, kra_pin=kra_pin, basic_salary=basic_salary, benefits=benefits) return redirect(url_for('home'))
def generate_payroll(id): this_employee = EmployeesModel.fetch_by_id(id) payroll = Payroll(this_employee.name, this_employee.basicSalary, this_employee.benefits) NHIF = payroll.NHIF NSSF = payroll.NSSF PAYE = payroll.PAYE net_salary = payroll.net_salary gross_salary = payroll.gross_salary personal_relief = payroll.personal_relief taxable_income = payroll.taxable_income month = request.form['month'] payrolls = PayrollsModel(NHIF=NHIF, NSSF=NSSF, PAYE=PAYE, month=month, net_salary=net_salary, gross_salary=gross_salary, personal_relief=personal_relief, taxable_income=taxable_income, employee_id=id) payrolls.insert2DB() return redirect(url_for('hello_world'))
def payrolls(emp_id): employee = EmployeesModel.fetch_by_id(emp_id) return render_template('payrolls.html', employee=employee)
def deleteEmployee(id): this_emp = EmployeesModel.fetch_by_id(id=id) this_dept = this_emp.department EmployeesModel.delete_by_id(id) return redirect(url_for('employees', dept_id=this_dept.id))
def payrolls(id): employee = EmployeesModel.fetch_by_id(id) return render_template('payroll.html',mfanyikazi = employee)
def payrolls(id): payroll_welcome = EmployeesModel.fetch_by_id(id) return render_template('payroll.html', ya=payroll_welcome)
def payrolls(emp_id): employee = EmployeesModel.fetch_by_id(emp_id) print(employee.full_name) print(employee.payrolls) # payslips = PayrollsModel.fetch_by_employee(emp_id) return render_template('payrolls.html', employee=employee)