def edit_contract_page(request, contract_id): if request.POST and request.FILES: reference_number = request.POST.get('reference_number') position_id = request.POST.get('position') employee_id = request.POST.get('employee') effective_date = request.POST.get('effective_date') expiry_date = request.POST.get('expiry_date') risk = request.POST.get('risk') document = request.FILES.get('document') position = get_position(position_id) employee = get_employee(employee_id) contract_list = Contract.objects.filter(id=contract_id) contract_list.update(reference_number=reference_number, position=position, employee=employee, effective_date=effective_date, expiry_date=expiry_date, risk=risk, document=document) return HttpResponseRedirect(reverse(manage_job_contracts)) contract = get_contract(contract_id) positions = get_all_positions() employees = get_active_employees() context = { "contracts_page": "active", "contract": contract, "employees": employees, "positions": positions, } return render(request, 'contracts/edit_contract.html', context)
def edit_job_advertisement_page(request, job_advertisement_id): if request.POST: position_id = request.POST.get('position_id') position = get_position(position_id) education = request.POST.get('education') vacancy = request.POST.get('vacancy') experience = request.POST.get('experience') description = request.POST.get('description') deadline = request.POST.get('deadline') JobAdvertisement.objects.filter(id=job_advertisement_id).update( position=position, education=education, vacancy=vacancy, experience=experience, description=description, deadline=deadline) messages.success(request, "Successfully updated a job advertisement") return HttpResponseRedirect(reverse('manage_job_advertisement_page')) job_advertisement = get_job_advertisement(job_advertisement_id) all_positions = get_all_positions() all_job_ads = get_all_job_ads() context = { "recruitment_page": "active", "positions": all_positions, "job_ads": all_job_ads, "job_ad": job_advertisement, } return render(request, 'recruitment/edit_job_advertisement.html', context)
def delete_job_position(request, position_id): try: position = get_position(position_id) position.delete() messages.success(request, f'Job Position Deleted Successfully') return redirect('manage_job_positions_page') except Position.DoesNotExist: messages.error(request, f'The Job Position no longer exists on the system') return redirect('manage_job_positions_page')
def edit_job_position_page(request, position_id): position = get_position(position_id) context = { "user": request.user, "position": position, "scales": get_salary_scales(), "currencies": get_all_currencies(), "organisation_page": "active" } return render(request, 'organisation_details/edit_position.html', context)
def edit_job_position(request): if not request.POST: return redirect('manage_job_positions_page') position_id = request.POST.get('position_id') currency_id = request.POST.get('currency') currency = get_currency(currency_id) position = get_position(position_id) position.name = request.POST.get('name') position.number_of_slots = request.POST.get('number_of_slots') position.type = request.POST.get('type') position.salary_scale = get_salary_scale(request.POST.get('salary')) position.currency = currency position.description = request.POST.get('description') position.save() messages.success(request, "Changes successfully Saved") return redirect('manage_job_positions_page')
def manage_job_contracts(request): if request.POST and request.FILES: reference_number = request.POST.get('reference_number') position_id = request.POST.get('position') employee_id = request.POST.get('employee') effective_date = request.POST.get('effective_date') expiry_date = request.POST.get('expiry_date') risk = request.POST.get('risk') contract_type = request.POST.get('contract_type') document = request.FILES.get('document') position = get_position(position_id) employee = get_employee(employee_id) try: new_contract = Contract.objects.create( reference_number=reference_number, position=position, employee=employee, effective_date=effective_date, expiry_date=expiry_date, risk=risk, type=contract_type, document=document) except IntegrityError: messages.warning(request, "The reference number needs to be unique") return HttpResponseRedirect(reverse(manage_job_contracts)) positions = get_all_positions() employees = get_active_employees() contracts = get_active_contracts() context = { "contracts_page": "active", "employees": employees, "positions": positions, "contracts": contracts, } return render(request, 'contracts/manage_job_contracts.html', context)