LCPL CAREERS PORTAL HR Admin Guide

๐Ÿ” For HR โ€” Managing Jobs, Candidates & Pipeline
This guide covers everything HR needs to run the recruitment portal: posting jobs, reviewing candidates, moving them through the pipeline, using the AI screening tool, exporting data, and managing registered users.

What's in this guide

1 Roles: Admin vs Read-Only

The portal supports two account types:

๐Ÿ›ก๏ธ Admin Full access: can change candidate status, post/edit/delete jobs, export data, download CVs in bulk, and delete records.
๐Ÿ‘๏ธ Read-Only Can log in, view the dashboard, view CVs, and see the registered users list, but cannot change anything. Every action link that would modify data is hidden or blocked for this role.
๐Ÿ“Œ Note

There is no in-portal screen for creating new HR accounts or changing roles โ€” this is done directly in the database (see Appendix A.1). If you were given a "Read-Only" account, you can browse everything but any attempt to change a status, post a job, or export data will show an "Unauthorized Action" message.

2 Logging In

  1. Go to yourdomain.com/admin/index.php.
  2. Enter your username and password and click to log in.

If you're already logged in, visiting this page redirects you straight to the dashboard.

3 The Dashboard at a Glance

The left sidebar is your main navigation: Dashboard, Registered Users, Manage Jobs, Help Guide, Export Data, and Bulk CV Download (the last four are hidden for Read-Only accounts). The dashboard itself is organised top to bottom:

4 Filtering Candidates

Use the filter panel above the candidate table to narrow results by Position, Experience, Status, or a date range (applied between two dates). Click "Apply Filters" to run it, or the circular reset icon to clear all filters. Your current filters also carry over automatically into Export Data and Bulk CV Download, so you can filter first and then export exactly what you're looking at.

5 Reviewing a Candidate and Their CV

  1. Click the CV/PDF icon in a candidate's row to open their uploaded resume in a new tab.
  2. If that candidate was still "New," opening their CV this way automatically moves them to "Reviewed" โ€” this happens quietly, with no email sent to the candidate.

Each candidate's row also shows their education and current employment summary at a glance, so you can often screen the basics without opening the CV at all.

6 The AI Match Screening Tool

Each candidate has an "AI Match" column. If they haven't been scored yet, you'll see a robot icon โ€” click it to run the assessment.

  1. The system reads the candidate's uploaded CV and their self-reported details, and compares both against the job description for the position they applied to.
  2. It returns a weighted score out of 100: Education (20%), Experience (40%), Technical Skills (30%), and Extras/Certifications (10%), each with a short explanation.
  3. The overall score is saved permanently against that candidate, so re-opening it later shows the same result instantly without re-running the analysis.
๐Ÿ“Œ Note

Scoring is based on text extracted from the uploaded file and what the candidate typed into the form โ€” it is a screening aid, not a replacement for reading the CV yourself, especially for candidates near a cutoff score.

The candidate table is sorted by this score by default, so your strongest-matching applicants (once scored) naturally rise to the top.

7 Moving Candidates Through the Pipeline

Each candidate's row has action icons on the right (hidden for Read-Only accounts). Which ones appear depends on their current status:

Action Available from
Mark ScreenedNew or Reviewed
ShortlistNew, Reviewed, or Screened
1st InterviewAny active (non-Rejected) status
Final InterviewAny active (non-Rejected) status
MedicalAny active (non-Rejected) status
RejectAny active (non-Rejected) status

Every status change (except Delete) asks for confirmation first, and several explicitly warn you that an email will be sent โ€” see Section 8 for exactly which ones.

8 Email Notifications โ€” What's Automatic

The system emails the candidate automatically for some pipeline moves, and stays silent for others:

๐Ÿ”‡ Silent (no email)

New Reviewed Screened Shortlisted

๐Ÿ“ง Emails the candidate

Each with its own message explaining the next step.

๐Ÿ“Œ Note

Shortlisting a candidate does not notify them by email under the current setup. If you want them to know they've been shortlisted, you'll need to reach out separately, or the wording of this stage can be changed to send an email if you'd like that adjusted.

9 Rejecting and Deleting Applications

Rejecting a candidate (Section 7) keeps their record but marks it closed and sends them a polite email. Deleting is different and permanent:

10 Managing Registered Users

The "Registered Users" page lists everyone who has created a candidate account, whether or not they've submitted an application yet. You can see each person's application status at a glance, and delete an account (and any associated application/CV) from here.

11 Managing Job Postings

Open "Manage Jobs" to see every job you've ever posted, active or not.

Adding a job

  1. Click "Add Job" (or similar) and fill in the Title, Department, Location, Job Type (Full-Time / Part-Time / Contract), Experience Required, Qualification, Post Date, Deadline, and Description.
  2. Save it โ€” the job appears on the public Jobs page immediately, provided its deadline hasn't already passed.

Editing or closing a job

  1. Click Edit on a job to change any of its details, including pushing the deadline further out.
  2. Click the status toggle to manually switch a job between Active and Closed at any time, independent of its deadline.
๐Ÿ“Œ Note

Jobs also expire automatically once their deadline date passes โ€” they disappear from the public Jobs page and from the "Applying For" dropdown on the application form, even if you never manually close them.

Deleting a job removes the posting, but does not delete any applications candidates already submitted for it.

12 Exporting Data

13 Security โ€” Please Read

โš ๏ธ Important

Three things need attention on this system that are unrelated to day-to-day use: an API key hardcoded in the AI screening file should be rotated and moved out of the code, the leftover one-time setup file that creates a Read-Only account should be deleted from the server, and that account's default password should be changed since it was printed in plain text by that setup file. Ask your developer or IT contact to confirm all three have been handled.

14 Troubleshooting

I get "Unauthorized Action" when I try to do something

Your account has Read-Only access. Ask an Admin-role user to perform that action, or to review whether your account should be upgraded.

A candidate says they never got an interview/rejection email

Ask them to check their spam folder. If it's genuinely missing, note that only Interview 1, Interview 2, Medical, and Rejected trigger an email โ€” other status changes are silent by design (Section 8).

The AI Match button doesn't return a score

This usually means the AI service key needs attention (see Section 13) or the original job posting for that position was deleted, since the tool compares the CV against that job's description.

A job isn't showing on the public Jobs page

Check that its status is "Active" and its deadline hasn't passed โ€” either condition alone will hide it from candidates.

A Appendix A: Technical Reference

A.1 โ€” Managing HR/Admin accounts

There is no built-in screen for this. New HR accounts, password resets, and role changes (Admin vs Read-Only) must be done directly in the admins database table by your developer or IT contact.

A.2 โ€” File reference

FilePurpose
index.phpPublic landing page (Candidate Portal / HR Portal links).
jobs.phpPublic list of open jobs with a details popup.
register.php / login.phpCandidate account creation and login.
apply.phpThe 6-section employment application form.
submit.phpProcesses the application form and CV upload.
candidate_dashboard.phpCandidate-facing status tracker.
help.phpCandidate-facing help page.
admin/index.phpHR/Admin login.
admin/dashboard.phpMain HR dashboard, filters, and candidate pipeline.
admin/jobs.phpAdd, edit, delete, and toggle job postings.
admin/users.phpRegistered candidate accounts list.
admin/view_cv.phpOpens a candidate's CV and marks it Reviewed.
admin/update_status.phpChanges a candidate's pipeline status and sends emails where applicable.
admin/ai_screen.phpRuns the AI Match rubric scoring against a candidate's CV.
admin/export.phpCSV export of filtered applications.
admin/bulk_download_cv.phpZIP export of filtered candidates' CVs.
admin/delete_application.phpPermanently deletes one application and its CV.
admin/delete_user.phpPermanently deletes a candidate account, application, and CV.
admin/help.phpIn-portal HR help page.
config.phpDatabase connection settings.
uploads/Stores every candidate's uploaded CV file.

A.3 โ€” Database tables (for reference)

TableHolds
candidate_usersRegistered candidate accounts (name, email, password hash).
applicationsEvery submitted application, all form fields, status, AI score/rubric, and CV file path.
jobsJob postings (title, department, requirements, dates, status).
adminsHR/Admin login accounts and their role (Admin or Read-Only).

LCPL CAREERS PORTAL โ€” HR Admin Guide ยท All information is subject to change.