Beispiel #1
0
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)
Beispiel #2
0
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)
Beispiel #3
0
def manage_job_positions_page(request):
    context = {
        "user": request.user,
        "organisation_page": "active",
        "positions": get_all_positions(),
        "currencies": get_all_currencies(),
        "scales": get_salary_scales(),
    }

    return render(request, "organisation_details/manage_job_positions.html", context)
Beispiel #4
0
def job_advertisements_page(request):
    all_positions = get_all_positions()
    all_job_ads = get_all_job_ads()

    context = {
        "recruitment_page": "active",
        "positions": all_positions,
        "job_ads": all_job_ads,
    }

    return render(request, 'recruitment/advertised_jobs.html', context)
Beispiel #5
0
def view_job_applications_page(request):
    all_positions = get_all_positions()
    all_job_ads = get_all_job_ads()

    context = {
        "recruitment_page": "active",
        "positions": all_positions,
        "job_ads": all_job_ads,
    }

    return render(request, 'recruitment/view_job_applications.html', context)
Beispiel #6
0
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)
Beispiel #7
0
def add_more_details_page(request, employee_id):
    employee = get_employee(employee_id)
    positions = get_all_positions()
    context = {
        "user": request.user,
        "employees_page": "active",
        "employee": employee,
        "certifications": employee.certification_set.all(),
        "emergency_contacts": employee.emergencycontact_set.all(),
        "beneficiaries": employee.beneficiary_set.all(),
        "spouses": employee.spouse_set.all(),
        "dependants": employee.dependant_set.all(),
        "deductions": employee.deduction_set.all(),
        "deps": Department.objects.all(),
        "titles": Position.objects.all(),
        "teams": Team.objects.all(),
        "allowances": Allowance.objects.all(),
        "supervisee_options": Employee.objects.exclude(pk=employee.id),
        "supervisions": Supervision.objects.filter(supervisor=employee),
        "positions": positions,
    }

    return render(request, 'employees/add_more_details.html', context)